10 Oct, 2012

1 commit

  • Pull pwm changes from Thierry Reding:
    "All legacy PWM providers have now been moved to the PWM subsystem.
    The plan for 3.8 is to adapt all board files to provide a lookup table
    for PWM devices in order to get rid of the global namespace.
    Subsequently, users of the legacy pwm_request() and pwm_free()
    functions can be migrated to the new pwm_get() and pwm_put()
    functions. Once this has been completed, the legacy API and the
    compatibility code in the core can be removed.

    In addition to the above, these changes also add support for
    configuring the polarity of a PWM signal (currently only supported on
    ECAP and EHRPWM) and include a much needed rework of the i.MX driver.
    Managed functions to obtain and release a PWM device (devm_pwm_get()
    and devm_pwm_put()) have been added and the pwm-backlight driver has
    been updated to use them. If the PWM subsystem hasn't been enabled,
    dummy functions are provided that allow the subsystem to safely
    compile out.

    Some common checks on input parameters have been moved to the core and
    removed from the drivers. Finally, a small fix corrects the
    description of the PWM specifier's second cell in the device tree
    representation."

    * tag 'for-3.7-rc1' of git://gitorious.org/linux-pwm/linux-pwm: (23 commits)
    pwm: dt: Fix description of second PWM cell
    pwm: Check for negative duty-cycle and period
    pwm: Add Ingenic JZ4740 support
    MIPS: JZ4740: Export timer API
    pwm: Move PUV3 PWM driver to PWM framework
    unicore32: pwm: Use managed resource allocations
    unicore32: pwm: Remove unnecessary indirection
    unicore32: pwm: Use module_platform_driver()
    unicore32: pwm: Properly remap memory-mapped registers
    pwm-backlight: Use devm_pwm_get() instead of pwm_get()
    pwm: Move AB8500 PWM driver to PWM framework
    pwm: Fix compilation error when CONFIG_PWM is not defined
    pwm: i.MX: fix clock lookup
    pwm: i.MX: use per clock unconditionally
    pwm: i.MX: add devicetree support
    pwm: i.MX: Use module_platform_driver
    pwm: i.MX: add functions to enable/disable pwm.
    pwm: i.MX: remove unnecessary if in pwm_[en|dis]able
    pwm: i.MX: factor out SoC specific functions
    pwm: pwm-tiehrpwm: Add support for configuring polarity of PWM
    ...

    Linus Torvalds
     

09 Oct, 2012

1 commit

  • A long time ago, in v2.4, VM_RESERVED kept swapout process off VMA,
    currently it lost original meaning but still has some effects:

    | effect | alternative flags
    -+------------------------+---------------------------------------------
    1| account as reserved_vm | VM_IO
    2| skip in core dump | VM_IO, VM_DONTDUMP
    3| do not merge or expand | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
    4| do not mlock | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP

    This patch removes reserved_vm counter from mm_struct. Seems like nobody
    cares about it, it does not exported into userspace directly, it only
    reduces total_vm showed in proc.

    Thus VM_RESERVED can be replaced with VM_IO or pair VM_DONTEXPAND | VM_DONTDUMP.

    remap_pfn_range() and io_remap_pfn_range() set VM_IO|VM_DONTEXPAND|VM_DONTDUMP.
    remap_vmalloc_range() set VM_DONTEXPAND | VM_DONTDUMP.

    [akpm@linux-foundation.org: drivers/vfio/pci/vfio_pci.c fixup]
    Signed-off-by: Konstantin Khlebnikov
    Cc: Alexander Viro
    Cc: Carsten Otte
    Cc: Chris Metcalf
    Cc: Cyrill Gorcunov
    Cc: Eric Paris
    Cc: H. Peter Anvin
    Cc: Hugh Dickins
    Cc: Ingo Molnar
    Cc: James Morris
    Cc: Jason Baron
    Cc: Kentaro Takeda
    Cc: Matt Helsley
    Cc: Nick Piggin
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Cc: Robert Richter
    Cc: Suresh Siddha
    Cc: Tetsuo Handa
    Cc: Venkatesh Pallipadi
    Acked-by: Linus Torvalds
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Konstantin Khlebnikov
     

03 Oct, 2012

1 commit

  • Pull workqueue changes from Tejun Heo:
    "This is workqueue updates for v3.7-rc1. A lot of activities this
    round including considerable API and behavior cleanups.

    * delayed_work combines a timer and a work item. The handling of the
    timer part has always been a bit clunky leading to confusing
    cancelation API with weird corner-case behaviors. delayed_work is
    updated to use new IRQ safe timer and cancelation now works as
    expected.

    * Another deficiency of delayed_work was lack of the counterpart of
    mod_timer() which led to cancel+queue combinations or open-coded
    timer+work usages. mod_delayed_work[_on]() are added.

    These two delayed_work changes make delayed_work provide interface
    and behave like timer which is executed with process context.

    * A work item could be executed concurrently on multiple CPUs, which
    is rather unintuitive and made flush_work() behavior confusing and
    half-broken under certain circumstances. This problem doesn't
    exist for non-reentrant workqueues. While non-reentrancy check
    isn't free, the overhead is incurred only when a work item bounces
    across different CPUs and even in simulated pathological scenario
    the overhead isn't too high.

    All workqueues are made non-reentrant. This removes the
    distinction between flush_[delayed_]work() and
    flush_[delayed_]_work_sync(). The former is now as strong as the
    latter and the specified work item is guaranteed to have finished
    execution of any previous queueing on return.

    * In addition to the various bug fixes, Lai redid and simplified CPU
    hotplug handling significantly.

    * Joonsoo introduced system_highpri_wq and used it during CPU
    hotplug.

    There are two merge commits - one to pull in IRQ safe timer from
    tip/timers/core and the other to pull in CPU hotplug fixes from
    wq/for-3.6-fixes as Lai's hotplug restructuring depended on them."

    Fixed a number of trivial conflicts, but the more interesting conflicts
    were silent ones where the deprecated interfaces had been used by new
    code in the merge window, and thus didn't cause any real data conflicts.

    Tejun pointed out a few of them, I fixed a couple more.

    * 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (46 commits)
    workqueue: remove spurious WARN_ON_ONCE(in_irq()) from try_to_grab_pending()
    workqueue: use cwq_set_max_active() helper for workqueue_set_max_active()
    workqueue: introduce cwq_set_max_active() helper for thaw_workqueues()
    workqueue: remove @delayed from cwq_dec_nr_in_flight()
    workqueue: fix possible stall on try_to_grab_pending() of a delayed work item
    workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback()
    workqueue: use __cpuinit instead of __devinit for cpu callbacks
    workqueue: rename manager_mutex to assoc_mutex
    workqueue: WORKER_REBIND is no longer necessary for idle rebinding
    workqueue: WORKER_REBIND is no longer necessary for busy rebinding
    workqueue: reimplement idle worker rebinding
    workqueue: deprecate __cancel_delayed_work()
    workqueue: reimplement cancel_delayed_work() using try_to_grab_pending()
    workqueue: use mod_delayed_work() instead of __cancel + queue
    workqueue: use irqsafe timer for delayed_work
    workqueue: clean up delayed_work initializers and add missing one
    workqueue: make deferrable delayed_work initializer names consistent
    workqueue: cosmetic whitespace updates for macro definitions
    workqueue: deprecate system_nrt[_freezable]_wq
    workqueue: deprecate flush[_delayed]_work_sync()
    ...

    Linus Torvalds
     

02 Oct, 2012

1 commit

  • Pull TTY changes from Greg Kroah-Hartman:
    "As we skipped the merge window for 3.6-rc1 for the tty tree,
    everything is now settled down and working properly, so we are ready
    for 3.7-rc1. Here's the patchset, it's big, but the large changes are
    removing a firmware file and adding a staging tty driver (it depended
    on the tty core changes, so it's going through this tree instead of
    the staging tree.)

    All of these patches have been in the linux-next tree for a while.

    Signed-off-by: Greg Kroah-Hartman "

    Fix up more-or-less trivial conflicts in
    - drivers/char/pcmcia/synclink_cs.c:
    tty NULL dereference fix vs tty_port_cts_enabled() helper function
    - drivers/staging/{Kconfig,Makefile}:
    add-add conflict (dgrp driver added close to other staging drivers)
    - drivers/staging/ipack/devices/ipoctal.c:
    "split ipoctal_channel from iopctal" vs "TTY: use tty_port_register_device"

    * tag 'tty-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (235 commits)
    tty/serial: Add kgdb_nmi driver
    tty/serial/amba-pl011: Quiesce interrupts in poll_get_char
    tty/serial/amba-pl011: Implement poll_init callback
    tty/serial/core: Introduce poll_init callback
    kdb: Turn KGDB_KDB=n stubs into static inlines
    kdb: Implement disable_nmi command
    kernel/debug: Mask KGDB NMI upon entry
    serial: pl011: handle corruption at high clock speeds
    serial: sccnxp: Make 'default' choice in switch last
    serial: sccnxp: Remove mask termios caps for SW flow control
    serial: sccnxp: Report actual baudrate back to core
    serial: samsung: Add poll_get_char & poll_put_char
    Powerpc 8xx CPM_UART setting MAXIDL register proportionaly to baud rate
    Powerpc 8xx CPM_UART maxidl should not depend on fifo size
    Powerpc 8xx CPM_UART too many interrupts
    Powerpc 8xx CPM_UART desynchronisation
    serial: set correct baud_base for EXSYS EX-41092 Dual 16950
    serial: omap: fix the reciever line error case
    8250: blacklist Winbond CIR port
    8250_pnp: do pnp probe before legacy probe
    ...

    Linus Torvalds
     

27 Sep, 2012

7 commits

  • Add lis3lv02d device tree initialization code/API to take pdata from
    device node. Also adds device tree init matching table support to
    lis3lv02d_i2c driver. If the driver data is passed from device tree, then
    this driver picks up platform data from device node through common/generic
    lis3lv02d.c driver.

    [akpm@linux-foundation.org: fix CONFIG_OF=n build]
    Signed-off-by: AnilKumar Ch
    Cc: Eric Piel
    Reviewed-by: Arnd Bergmann
    Cc: Mark Brown
    Cc: Tony Lindgren
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    AnilKumar Ch
     
  • Add lis3lv02d device tree initialization code/API to take pdata from
    device node. Also remove CONFIG_OF ifdef from the driver, if CONFIG_OF is
    not defined then OF APIs returns 0.

    [akpm@linux-foundation.org: fix CONFIG_OF=n build[
    Signed-off-by: AnilKumar Ch
    Cc: Eric Piel
    Reviewed-by: Arnd Bergmann
    Cc: Mark Brown
    Cc: Tony Lindgren
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    AnilKumar Ch
     
  • Remove lis3lv02d driver device tree initialization from core driver and
    move it to individual drivers. With the current implementation some pdata
    parameters are missing if we use lis3lv02d_init_device() in lis3lv02d_i2c
    driver.

    Signed-off-by: AnilKumar Ch
    Cc: Eric Piel
    Reviewed-by: Arnd Bergmann
    Cc: Mark Brown
    Cc: Tony Lindgren
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    AnilKumar Ch
     
  • If probed from a device tree, this driver now passes the node information
    to the generic part, so the runtime information can be derived.

    Successfully tested on a PXA3xx board.

    [akpm@linux-foundation.org: fix lis302dl_spi_dt_ids unused warning when CONFIG_OF=n]
    Signed-off-by: Daniel Mack
    Cc: Rob Herring
    Cc: "AnilKumar, Chimata"
    Reviewed-by: Éric Piel
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Daniel Mack
     
  • Adds logic to parse lis3 properties from a device tree node and store them
    in a freshly allocated lis3lv02d_platform_data.

    Note that the actual match tables are left out here. This part should
    happen in the drivers that bind to the individual busses (SPI/I2C/PCI).

    Also adds some DT bindinds documentation.

    Signed-off-by: Daniel Mack
    Cc: Rob Herring
    Cc: "AnilKumar, Chimata"
    Reviewed-by: Éric Piel
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Daniel Mack
     
  • Fix some minor problems in comments of lis331dlh driver
    * correct comments with respect to 2G sensitivity
    * correct typo lis3331dlh mistake to lis331dlh
    * add comment to say only 2G range is supported
    * change the function name from lis3lv02d_read_16 to
    lis331dlh_read_data.
    * update i2c_device_id table entry to maintaine consistancy
    * update sensor display message

    Signed-off-by: AnilKumar Ch
    Signed-off-by: Greg Kroah-Hartman

    AnilKumar Ch
     
  • pci_disable_device(pdev) used to be in pci remove function. But this
    PCI device has two functions with interrupt lines connected to a
    single pin. The other one is a USB host controller. So when we disable
    the PIN there e.g. by rmmod hpilo, the controller stops working. It is
    because the interrupt link is disabled in ACPI since it is not
    refcounted yet. See acpi_pci_link_free_irq called from
    acpi_pci_irq_disable.

    It is not the best solution whatsoever, but as a workaround until the
    ACPI irq link refcounting is sorted out this should fix the reported
    errors.

    References: https://lkml.org/lkml/2008/11/4/535

    Signed-off-by: Jiri Slaby
    Cc: Grant Grundler
    Cc: Nobin Mathew
    Cc: Robert Hancock
    Cc: Arnd Bergmann
    Cc: David Altobelli
    Signed-off-by: Greg Kroah-Hartman

    Jiri Slaby
     

20 Sep, 2012

1 commit


18 Sep, 2012

1 commit


11 Sep, 2012

3 commits


06 Sep, 2012

7 commits

  • The _init and _exit functions can be replaced with the module_spi_driver
    macro, which actually implements

    static int __init drv_init(void)
    {
    spi_register_driver(&driv_op);
    return 0;
    }

    module_init(drv_init);

    static void __exit drv_exit(void)
    {
    spi_unregister_driver(&driv_op);
    }

    module_exit(drv_exit);

    Signed-off-by: Devendra Naga
    Acked-by: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    Devendra Naga
     
  • tifm_7xx1_init and tifm_7xx1_exit with module_init and module_exit calls
    can be replaced with the module_pci_driver call, as they are similar
    to what module_pci_driver does

    Signed-off-by: Devendra Naga
    Signed-off-by: Greg Kroah-Hartman

    Devendra Naga
     
  • Commit 002176db (misc: at25: Parse dt settings) added device tree
    bindings the differ significantly in style from the I2C EEPROM
    bindings and don't seem well vetted. Here I deprecate (but still
    support) the "at25,*" properties, and add what I hope is a better
    alternative. These new bindings also happen to be deployed in the
    field and were previously submitted for consideration here:

    https://lists.ozlabs.org/pipermail/devicetree-discuss/2012-May/015556.html

    The advantages of the new bindings are that they are similar to the
    I2C EEPROMs and they don't conflate read-only and the address width
    modes in a binary encoded blob.

    Signed-off-by: David Daney
    Cc: Alexandre Pereira da Silva
    Cc: Greg Kroah-Hartman
    Cc: Michael Hennerich
    Cc: Axel Lin
    Signed-off-by: Greg Kroah-Hartman

    David Daney
     
  • Signed-off-by: Tomas Winkler
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     
  • There was internal confusion in wether bus message
    clinet (0) is counted in or not

    The bitmap me_clients_map that accomodate
    was initialized w/o it (255) but later on it
    the clinet 0 was reserved

    Thus were able to open only 252 instead of 253 clients

    Signed-off-by: Tomas Winkler
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     
  • 1. rename mei_device variable to mei_pdev to remove
    confusion with type 'struct mei_device'
    2. mei_pdev no longer need to be gloabal so make it static
    and remove the declaration from the header file

    Signed-off-by: Tomas Winkler
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     
  • This patch adds support for lis331dlh digital accelerometer to the
    lis3lv02d driver family. Adds ID field for detecting the lis331dlh
    module, based on this ID field lis3lv02d driver will export the
    lis331dlh module functionality.

    Signed-off-by: AnilKumar Ch
    Acked-by: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    AnilKumar Ch
     

28 Aug, 2012

1 commit


27 Aug, 2012

1 commit


22 Aug, 2012

1 commit

  • On many of our larger systems, CPU 0 has had all of its IRQ resources
    consumed before XPC loads. Worst cases on machines with multiple 10
    GigE cards and multiple IB cards have depleted the entire first socket
    of IRQs.

    This patch makes selecting the node upon which IRQs are allocated (as
    well as all the other GRU Message Queue structures) specifiable as a
    module load param and has a default behavior of searching all nodes/cpus
    for an available resources.

    [akpm@linux-foundation.org: fix build: include cpu.h and module.h]
    Signed-off-by: Robin Holt
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robin Holt
     

21 Aug, 2012

1 commit

  • flush[_delayed]_work_sync() are now spurious. Mark them deprecated
    and convert all users to flush[_delayed]_work().

    If you're cc'd and wondering what's going on: Now all workqueues are
    non-reentrant and the regular flushes guarantee that the work item is
    not pending or running on any CPU on return, so there's no reason to
    use the sync flushes at all and they're going away.

    This patch doesn't make any functional difference.

    Signed-off-by: Tejun Heo
    Cc: Russell King
    Cc: Paul Mundt
    Cc: Ian Campbell
    Cc: Jens Axboe
    Cc: Mattia Dongili
    Cc: Kent Yoder
    Cc: David Airlie
    Cc: Jiri Kosina
    Cc: Karsten Keil
    Cc: Bryan Wu
    Cc: Benjamin Herrenschmidt
    Cc: Alasdair Kergon
    Cc: Mauro Carvalho Chehab
    Cc: Florian Tobias Schandinat
    Cc: David Woodhouse
    Cc: "David S. Miller"
    Cc: linux-wireless@vger.kernel.org
    Cc: Anton Vorontsov
    Cc: Sangbeom Kim
    Cc: "James E.J. Bottomley"
    Cc: Greg Kroah-Hartman
    Cc: Eric Van Hensbergen
    Cc: Takashi Iwai
    Cc: Steven Whitehouse
    Cc: Petr Vandrovec
    Cc: Mark Fasheh
    Cc: Christoph Hellwig
    Cc: Avi Kivity

    Tejun Heo
     

17 Aug, 2012

13 commits

  • ll_device_want_to_wakeup(): Fix the NULL pointer check on pdata->chip_awake,
    which is performed on the wrong function pointer

    Signed-off-by: Matthias Kaehlcke
    Signed-off-by: Greg Kroah-Hartman

    Matthias Kaehlcke
     
  • The main purpose of this function is to exclude ME devices
    without support for MEI/HECI interface from binding

    Currently affected systems are C600/X79 based servers
    that expose PCI device even though it doesn't supported ME Interface.
    MEI driver accessing such nonfunctional device can corrupt
    the system.

    Signed-off-by: Tomas Winkler
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     
  • Before calling on any of the platform hooks, shared transport driver checks
    for the validity of the platform hooks as to whether it is provided or not.
    A wrong function was being checked for, before the chip_awake hook was called
    by the HCI-LL sleep logic handler. This patch corrects the check.

    Signed-off-by: Pavan Savoy
    Signed-off-by: Matthias Kaehlcke
    Signed-off-by: Greg Kroah-Hartman

    Matthias Kaehlcke
     
  • If the read firmware version response from the chip is split into multiple
    frames of UART buffer being received by the host, the TI-ST driver as of today
    is unable to put the pieces of response together unlike other responses.

    Signed-off-by: Pavan Savoy
    Signed-off-by: Greg Kroah-Hartman

    Pavan Savoy
     
  • Be nice to CPU and don't hog the resources, use a nice wait_for_interruptible
    timeout for completions instead of wait_for_timeout which is
    non-interruptible.

    Signed-off-by: Pavan Savoy
    Signed-off-by: Greg Kroah-Hartman

    Pavan Savoy
     
  • If the communication with the WiLink breaks down for whatever reasons & the
    ti-st driver is unable to un-install the line-discipline during clean-up in
    st_kim_stop, the GPIO should be held low (BT_EN=0) & the platform's chip
    disable hook shall also be called.

    Signed-off-by: Pavan Savoy
    Signed-off-by: Greg Kroah-Hartman

    Pavan Savoy
     
  • remove sparse warnings by assigning right storage specifiers to functions and
    also clean-up the declarations in the include/linux/ti_wilink_st.h

    Signed-off-by: Pavan Savoy
    Signed-off-by: Greg Kroah-Hartman

    Pavan Savoy
     
  • A platform hook to enable/disable the chip was introduced to perform specific
    activities to power-up and power-down the WL chip.
    Moving the power-up/down sequence also there makes more sense, since different
    platforms have begun to have their own ways to power-up/down the chip.
    This patch removes all of the gpio handling done by the driver in
    st_kim_start/st_kim_stop & any of the gpio request done in the probe function.

    Signed-off-by: Pavan Savoy
    Signed-off-by: Greg Kroah-Hartman

    Pavan Savoy
     
  • There is an automatic binding done for I2C devices in the of_i2c core
    code. So, DT will be able to bind to any I2C device using the
    already existing table: MODULE_DEVICE_TABLE(i2c, bmp085_id).

    Tested on omap5430 evm.

    Signed-off-by: Sourav Poddar
    Cc: Benoit Cousson
    Cc: Santosh Shilimkar
    Acked-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Sourav Poddar
     
  • These drivers set the DMA_INTERRUPT capability bit when requesting a DMA
    controller channel. This was historical, and is no longer needed.

    Recent changes to the drivers/dma/fsldma.c driver have removed support
    for this flag. This makes the carma drivers unable to find a DMA channel
    with the required capabilities.

    Cc: Arnd Bergmann
    Cc: Greg Kroah-Hartman
    Signed-off-by: Ira W. Snyder
    Signed-off-by: Greg Kroah-Hartman

    Qiang Liu
     
  • this driver's pch_phub_pci_init, and pch_phub_pci_exit functions with
    the module_init and module_exit calls can be replaced with
    module_pci_driver

    Signed-off-by: Devendra Naga
    Signed-off-by: Greg Kroah-Hartman

    Devendra Naga
     
  • sparse warns about using 0 as NULL pointer,

    drivers/misc/pch_phub.c:702:44: warning: Using plain integer as NULL pointer

    Signed-off-by: Devendra Naga
    Signed-off-by: Greg Kroah-Hartman

    Devendra Naga
     
  • use watchdog_set/get_drvdata for passing mei_device
    to watchdog_ops handlers instead of using global mei_device

    Signed-off-by: Tomas Winkler
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler