16 Nov, 2016

1 commit

  • Commit 41a3da2b8e163 ("mfd: intel-lpss: Save register context on
    suspend") saved the register context while going to suspend and
    also put the device in reset state.

    Due to the resetting of device, system cannot enter S3/S0ix
    states when no_console_suspend flag is enabled. The system
    and serial console both hang. The resetting of device is not
    needed while going to suspend. Hence remove this code.

    Cc: stable@vger.kernel.org
    Fixes: 41a3da2b8e163 ("mfd: intel-lpss: Save register context on suspend")
    Signed-off-by: Azhar Shaikh
    Acked-by: Mika Westerberg
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Lee Jones

    Azhar Shaikh
     

21 May, 2016

1 commit

  • Pull MFD updates from Lee Jones:
    "New Drivers:
    - Add new driver for MAXIM MAX77620/MAX20024 PMIC
    - Add new driver for Hisilicon HI665X PMIC

    New Device Support:
    - Add support for AXP809 in axp20x-rsb
    - Add support for Power Supply in axp20x

    New core features:
    - devm_mfd_* managed resources

    Fix-ups:
    - Remove unused code (da9063-irq, wm8400-core, tps6105x,
    smsc-ece1099, twl4030-power)
    - Improve clean-up in error path (intel_quark_i2c_gpio)
    - Explicitly include headers (syscon.h)
    - Allow building as modules (max77693)
    - Use IS_ENABLED() instead of rolling your own (dm355evm_msp,
    wm8400-core)
    - DT adaptions (axp20x, hi655x, arizona, max77620)
    - Remove CLK_IS_ROOT flag (intel-lpss, intel_quark)
    - Move to gpiochip API (asic3, dm355evm_msp, htc-egpio, htc-i2cpld,
    sm501, tc6393xb, tps65010, ucb1x00, vexpress)
    - Make use of devm_mfd_* calls (act8945a, as3711, atmel-hlcdc,
    bcm590xx, hi6421-pmic-core, lp3943, menf21bmc, mt6397, rdc321x,
    rk808, rn5t618, rt5033, sky81452, stw481x, tps6507x, tps65217,
    wm8400)

    Bug Fixes"
    - Fix ACPI child matching (mfd-core)
    - Fix start-up ordering issues (mt6397-core, arizona-core)
    - Fix forgotten register state on resume (intel-lpss)
    - Fix Clock related issues (twl6040)
    - Fix scheduling whilst atomic (omap-usb-tll)
    - Kconfig changes (vexpress)"

    * tag 'mfd-for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (73 commits)
    mfd: hi655x: Add MFD driver for hi655x
    mfd: ab8500-debugfs: Trivial fix of spelling mistake on "between"
    mfd: vexpress: Add !ARCH_USES_GETTIMEOFFSET dependency
    mfd: Add device-tree binding doc for PMIC MAX77620/MAX20024
    mfd: max77620: Add core driver for MAX77620/MAX20024
    mfd: arizona: Add defines for GPSW values that can be used from DT
    mfd: omap-usb-tll: Fix scheduling while atomic BUG
    mfd: wm5110: ARIZONA_CLOCK_CONTROL should be volatile
    mfd: axp20x: Add a cell for the ac power_supply part of the axp20x PMICs
    mfd: intel_soc_pmic_core: Terminate panel control GPIO lookup table correctly
    mfd: wl1273-core: Use devm_mfd_add_devices() for mfd_device registration
    mfd: tps65910: Use devm_mfd_add_devices and devm_regmap_add_irq_chip
    mfd: sec: Use devm_mfd_add_devices and devm_regmap_add_irq_chip
    mfd: rc5t583: Use devm_mfd_add_devices and devm_request_threaded_irq
    mfd: max77686: Use devm_mfd_add_devices and devm_regmap_add_irq_chip
    mfd: as3722: Use devm_mfd_add_devices and devm_regmap_add_irq_chip
    mfd: twl4030-power: Remove driver path in file comment
    MAINTAINERS: Add entry for X-Powers AXP family PMIC drivers
    mfd: smsc-ece1099: Remove unnecessarily remove callback
    mfd: Use IS_ENABLED(CONFIG_FOO) instead of checking FOO || FOO_MODULE
    ...

    Linus Torvalds
     

09 May, 2016

2 commits

  • This flag is a no-op now (see commit 47b0eeb3dc8a "clk: Deprecate
    CLK_IS_ROOT", 2016-02-02) so remove it.

    Acked-by: Mika Westerberg
    Signed-off-by: Stephen Boyd
    Signed-off-by: Lee Jones

    Stephen Boyd
     
  • All configurations are lost and the registers will have
    default values when the hardware is suspended and resumed,
    so saving the private register space context on suspend, and
    restoring it on resume.

    Fixes: 4b45efe85263 (mfd: Add support for Intel Sunrisepoint LPSS devices)
    Cc: stable@vger.kernel.org # v4.3+
    Signed-off-by: Heikki Krogerus
    Signed-off-by: Lee Jones

    Heikki Krogerus
     

09 Apr, 2016

1 commit

  • Since device_add_property_set() now always takes a copy of
    the property_set, and also since the fwnode type is always
    hard coded to be FWNODE_PDATA, there is no need for the
    drivers to deliver the entire struct property_set. The
    function can just create the instance of it on its own and
    bind the properties from the drivers to it on the spot.

    This renames device_add_property_set() to
    device_add_properties(). The function now takes struct
    property_entry as its parameter instead of struct
    property_set.

    Reviewed-by: Andy Shevchenko
    Reviewed-by: Mika Westerberg
    Acked-by: Thierry Reding
    Acked-by: Lee Jones
    Signed-off-by: Heikki Krogerus
    Signed-off-by: Rafael J. Wysocki

    Heikki Krogerus
     

09 Mar, 2016

1 commit

  • We forgot to remove the clock tree if something goes wrong in ->probe(). Add a
    call to intel_lpss_unregister_clock() on error path in ->probe() to fix the
    potential issue.

    Fixes: 4b45efe85263 (mfd: Add support for Intel Sunrisepoint LPSS devices)
    Signed-off-by: Andy Shevchenko
    Acked-by: Mika Westerberg
    Signed-off-by: Lee Jones

    Andy Shevchenko
     

07 Dec, 2015

1 commit

  • If the boot firmware does not support ACPI we need a way to pass device
    configuration information to the drivers. The unified device properties API
    already supports passing platform data via properties so let's take
    advantage of that and allow probe drivers to pass set of properties to the
    host controller driver.

    In order to do that we need to be able to modify the MFD cell corresponding
    the host controller, so make the core driver to take copy of the cell
    instead of using it directly. Then we can assign info->pset to the
    resulting copy of a cell and let the MFD core to assign that to the
    resulting device.

    Signed-off-by: Mika Westerberg
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Rafael J. Wysocki

    Mika Westerberg
     

07 Nov, 2015

1 commit

  • Pull asm-generic cleanups from Arnd Bergmann:
    "The asm-generic changes for 4.4 are mostly a series from Christoph
    Hellwig to clean up various abuses of headers in there. The patch to
    rename the io-64-nonatomic-*.h headers caused some conflicts with new
    users, so I added a workaround that we can remove in the next merge
    window.

    The only other patch is a warning fix from Marek Vasut"

    * tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
    asm-generic: temporarily add back asm-generic/io-64-nonatomic*.h
    asm-generic: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations
    gpio-mxc: stop including
    n_tracesink: stop including
    n_tracerouter: stop including
    mlx5: stop including
    hifn_795x: stop including
    drbd: stop including
    move count_zeroes.h out of asm-generic
    move io-64-nonatomic*.h out of asm-generic

    Linus Torvalds
     

26 Oct, 2015

1 commit

  • There are already helper functions to do 64-bit I/O on 32-bit machines, thus we
    don't need to reinvent the wheel. In our case we can't use readq() / writeq()
    even on 64-bit kernel since there is a hardware limitation (OCP bus is a 32-bit
    bus).

    Signed-off-by: Andy Shevchenko
    Signed-off-by: Lee Jones

    Andy Shevchenko
     

28 Jul, 2015

1 commit

  • The new coming Intel platforms such as Skylake will contain Sunrisepoint PCH.
    The main difference to the previous platforms is that the LPSS devices are
    compound devices where usually main (SPI, HSUART, or I2C) and DMA IPs are
    present.

    This patch brings the driver for such devices found on Sunrisepoint PCH.

    Signed-off-by: Mika Westerberg
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Lee Jones

    Andy Shevchenko