05 Oct, 2012

1 commit

  • Pull MFD changes from Samuel Ortiz:
    "MFD bits for the 3.7 merge window.

    As usual we have a few new drivers:

    - TI LP8788
    - TI OMAP USB TLL
    - Maxim MAX8907
    - SMSC ECE1099
    - Dialog Semiconductor DA9055
    - A simpler syscon driver that allow us to get rid of the anatop one.

    Drivers are also gradually getting Device Tree and IRQ domain support.

    The following drivers got DT support:
    - palmas, 88pm860x, tc3589x and twl4030-audio

    And those ones now use the IRQ domain APIs:
    - 88pm860x, tc3589x, db8500_prcmu

    Also some other interesting changes:
    - Intel's ICH LPC now supports Lynx Point
    - TI's twl4030-audio added a GPO child
    - tps6527 enabled its backlight subdevice
    - The twl6030 pwm driver moved to the new PWM subsystem

    And finally a bunch of cleanup and casual fixes for mc13xxx, 88pm860x,
    palmas, ab8500, wm8994, wm5110, max8907 and the tps65xxx family."

    Fix up various annoying conflicts: the DT and IRQ domain support came in
    twice and was already in 3.6. And then it was apparently rebased.

    Guys, DON'T REBASE!

    * tag 'mfd-3.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (89 commits)
    ARM: dts: Enable 88pm860x pmic
    mfd: 88pm860x: Move gpadc init into touch
    mfd: 88pm860x: Device tree support
    mfd: 88pm860x: Use irqdomain
    mfd: smsc: Add support for smsc gpio io/keypad driver
    backlight: tps65217_bl: Add missing platform_set_drvdata in tps65217_bl_probe
    mfd: DA9055 core driver
    mfd: tps65910: Add alarm interrupt of TPS65910 RTC to mfd device list
    mfd: wm5110: Add register patches for revision B
    mfd: wm5110: Disable control interface error report for WM5110 rev B
    mfd: max8907: Remove regulator-compatible from DT docs
    backlight: Add TPS65217 WLED driver
    mfd: Add backlight as subdevice to the tps65217
    mfd: Provide the PRCMU with its own IRQ domain
    mfd: Fix max8907 sparse warning
    mfd: Add lp8788 mfd driver
    mfd: dbx500: Provide a more accurate smp_twd clock
    mfd: rc5t583: Fix warning messages
    regulator: palmas: Add DT support
    mfd: palmas: Change regulator defns to better suite DT
    ...

    Linus Torvalds
     

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


28 Sep, 2012

2 commits


25 Sep, 2012

1 commit

  • When the bindings for the TPS6586x regulator were being proposed, I
    asserted that DT node naming rules for bus child nodes should also be
    applied to nodes inside the TPS6586x regulator node itself. In other
    words, that each node providing regulator init data should be named
    after the type of object it represented ("regulator") and hence that
    some other property was required to indicate which regulator the node
    described ("regulator-compatible"). In turn this led to multiple nodes
    having the same name, thus requiring node names to use a unit address
    to make them unique, thus requiring reg properties within the nodes and

    However, subsequent discussion indicates that the rules I was asserting
    only applies to standardized bus nodes, and within a device's own node,
    the binding can basically do anything sane that it wants.

    Hence, this change deprecates the register-compatible property, and
    instead uses node names to replace this functionality. This greatly
    simplifies the device tree content, making them smaller and more legible.

    The code is changed such that old device trees continue to work.

    Signed-off-by: Stephen Warren
    Signed-off-by: Mark Brown

    Stephen Warren
     

24 Sep, 2012

1 commit

  • Add DT support to palmas regulator. This involved a little change to
    the platform data structure. Regulator information can now come from
    platform data or DT.

    Signed-off-by: Graeme Gregory
    Signed-off-by: Kishon Vijay Abraham I
    Signed-off-by: Samuel Ortiz

    Graeme Gregory
     

19 Sep, 2012

3 commits


17 Sep, 2012

2 commits

  • Using syscon to access anatop register.

    Acked-by: Mark Brown
    Acked-by: Stephen Warren
    Signed-off-by: Dong Aisheng
    Signed-off-by: Samuel Ortiz

    Dong Aisheng
     
  • Pull mfd fixes from Samuel Ortiz:
    "This is the remaining MFD fixes for 3.6, with 5 pending fixes:

    - A tps65217 build error fix.
    - A lcp_ich regression fix caused by the MFD driver failing to
    initialize the watchdog sub device due to ACPI conflicts.
    - 2 MAX77693 interrupt handling bug fixes.
    - An MFD core fix, adding an IRQ domain argument to the MFD device
    addition API in order to prevent silent and potentially harmful
    remapping behaviour changes for drivers supporting non-DT
    platforms."

    * tag 'mfd-for-linus-3.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
    mfd: MAX77693: Fix NULL pointer error when initializing irqs
    mfd: MAX77693: Fix interrupt handling bug
    mfd: core: Push irqdomain mapping out into devices
    mfd: lpc_ich: Fix a 3.5 kernel regression for iTCO_wdt driver
    mfd: Move tps65217 regulator plat data handling to regulator

    Linus Torvalds
     

14 Sep, 2012

1 commit


11 Sep, 2012

3 commits


10 Sep, 2012

8 commits


09 Sep, 2012

1 commit


08 Sep, 2012

2 commits


07 Sep, 2012

1 commit


06 Sep, 2012

6 commits

  • Device have SYS rail which is always ON. It is system power bus. LDO5
    and LDO_RTC get powered through this rail internally. Add support for
    this rail and make the LDO5/LDO_RTC supply by it. Update document
    accordingly.

    [swarren: Instantiate the sys regulator from board-harmony-power.c to
    avoid regression.]

    Signed-off-by: Laxman Dewangan
    Signed-off-by: Stephen Warren
    Signed-off-by: Mark Brown

    Laxman Dewangan
     
  • The lp872x_check_dvs_validity() is used for checking DVS platform data.
    If the DVS platform data is not defined, return as error code.
    Now, this is unnecessary because the default DVS mode is set in this case.

    Signed-off-by: Milo(Woogyom) Kim
    Signed-off-by: Mark Brown

    Kim, Milo
     
  • The lp872x_set_dvs() is used for changing the DVS pin state.
    This function works only when the DVS platform data is defined.
    So don't assume that DVS data is always valid.
    In case the platform data is not defined, the DVS data is set to NULL
    for skipping the DVS pin control.

    DVS selection and GPIO pin number are used for the LP872x DVS pin control.
    For better readability, DVS selection argument is added in lp872x_set_dvs().

    Signed-off-by: Milo(Woogyom) Kim
    Signed-off-by: Mark Brown

    Kim, Milo
     
  • The platform specific configuration(general_config) is optional.
    However, the DVS settings should be configured explicitly while
    loading the driver.
    This patch enables configuring the default DVS mode even though
    the platform data is not defined.

    Signed-off-by: Milo(Woogyom) Kim
    Signed-off-by: Mark Brown

    Kim, Milo
     
  • The lp872x driver has the DVS platform data which select the register address
    of the BUCK voltage.
    This patch enables updating the default DVS mode when the DVS platform data
    is not defined.

    Signed-off-by: Milo(Woogyom) Kim
    Signed-off-by: Mark Brown

    Kim, Milo
     
  • This patch enables registering the regulator driver even though
    the regulator_init_data is not defined in the platform side.

    Signed-off-by: Milo(Woogyom) Kim
    Signed-off-by: Mark Brown

    Kim, Milo
     

29 Aug, 2012

6 commits