18 Mar, 2016

1 commit


15 Jan, 2016

10 commits


10 Dec, 2015

1 commit

  • commit 75c08f17ec87c2d742487bb87408d6feebc526bd upstream.

    Commit 68bab8662f49 ("mfd: twl6040: Optional clk32k clock handling")
    added clock handling for the 32k clock from palmas-clk. However, that
    patch did not consider a typical situation where twl6040 is built-in,
    and palmas-clk is a loadable module like we have in omap2plus_defconfig.

    If palmas-clk is not loaded before twl6040 probes, we will get a
    "clk32k is not handled" warning during booting. This means that any
    drivers relying on this clock will mysteriously fail, including
    omap5-uevm WLAN and audio.

    Note that for WLAN, we probably should also eventually get
    the clk32kgaudio for MMC3 directly as that's shared between
    audio and WLAN SDIO at least for omap5-uevm. It seems the
    WLAN chip cannot get it as otherwise MMC3 won't get properly
    probed.

    Fixes: 68bab8662f49 ("mfd: twl6040: Optional clk32k clock handling")
    Signed-off-by: Tony Lindgren
    Reviewed-by: Felipe Balbi
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Tony Lindgren
     

27 Oct, 2015

1 commit

  • commit 1b52e50f2a402a266f1ba2281f0a57e87637a047 upstream.

    If i2c_new_dummy() fails in max77843_chg_init(), an PTR_ERR(NULL) is
    returned which is 0. So the function was wrongly returning a success
    value instead of an error code.

    Fixes: c7f585fe46d8 ("mfd: max77843: Add max77843 MFD driver core driver")
    Signed-off-by: Javier Martinez Canillas
    Reviewed-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Javier Martinez Canillas
     

14 Sep, 2015

1 commit

  • commit 72e43164fd472f6c2659c8313b87da962322dbcf upstream.

    The PM runtime core by default assumes a chip is suspended when runtime
    PM is enabled. Currently the arizona driver enables runtime PM when the
    chip is fully active and then disables the DCVDD regulator at the end of
    arizona_dev_init. This however has several problems, firstly the if we
    reach the end of arizona_dev_init, we did not properly follow all the
    proceedures for shutting down the chip, and most notably we never marked
    the chip as cache only so any writes occurring between then and the next
    PM runtime resume will be lost. Secondly, if we are already resumed when
    we reach the end of dev_init, then at best we get unbalanced regulator
    enable/disables at work we lose DCVDD whilst we need it.

    Additionally, since the commit 4f0216409f7c ("mfd: arizona: Add better
    support for system suspend"), the PM runtime operations may
    disable/enable the IRQ, so the IRQs must now be enabled before we call
    any PM operations.

    This patch adds a call to pm_runtime_set_active to inform the PM core
    that the device is starting up active and moves the PM enabling to
    around the IRQ initialisation to avoid any PM callbacks happening until
    the IRQs are initialised.

    Signed-off-by: Charles Keepax
    Signed-off-by: Lee Jones
    Signed-off-by: Greg Kroah-Hartman

    Charles Keepax
     

27 May, 2015

1 commit

  • Fix broken probe of da9052 regulators, which since commit b3f6c73db732
    ("mfd: da9052-core: Fix platform-device id collision") use a
    non-deterministic platform-device id to retrieve static regulator
    information. Fortunately, adequate error handling was in place so probe
    would simply fail with an error message.

    Update the mfd-cell ids to be zero-based and use those to identify the
    cells when probing the regulator devices.

    Fixes: b3f6c73db732 ("mfd: da9052-core: Fix platform-device id collision")
    Cc: stable # v3.19
    Signed-off-by: Johan Hovold
    Acked-by: Bartlomiej Zolnierkiewicz
    Reviewed-by: Mark Brown
    Signed-off-by: Lee Jones

    Johan Hovold
     

27 Apr, 2015

1 commit

  • Pull chrome platform updates from Olof Johansson:
    "Here's a set of updates to the Chrome OS platform drivers for this
    merge window.

    Main new things this cycle is:

    - Driver changes to expose the lightbar to users. With this, you can
    make your own blinkenlights on Chromebook Pixels.

    - Changes in the way that the atmel_mxt trackpads are probed. The
    laptop driver is trying to be smart and not instantiate the devices
    that don't answer to probe. For the trackpad that can come up in
    two modes (bootloader or regular), this gets complicated since the
    driver already knows how to handle the two modes including the
    actual addresses used. So now the laptop driver needs to know more
    too, instantiating the regular address even if the bootloader one
    is the probe that passed.

    - mfd driver improvements by Javier Martines Canillas, and a few
    bugfixes from him, kbuild and myself"

    * tag 'chrome-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform:
    platform/chrome: chromeos_laptop - instantiate Atmel at primary address
    platform/chrome: cros_ec_lpc - Depend on X86 || COMPILE_TEST
    platform/chrome: cros_ec_lpc - Include linux/io.h header file
    platform/chrome: fix platform_no_drv_owner.cocci warnings
    platform/chrome: cros_ec_lightbar - fix duplicate const warning
    platform/chrome: cros_ec_dev - fix Unknown escape '%' warning
    platform/chrome: Expose Chrome OS Lightbar to users
    platform/chrome: Create sysfs attributes for the ChromeOS EC
    mfd: cros_ec: Instantiate ChromeOS EC character device
    platform/chrome: Add Chrome OS EC userspace device interface
    platform/chrome: Add cros_ec_lpc driver for x86 devices
    mfd: cros_ec: Add char dev and virtual dev pointers
    mfd: cros_ec: Use fixed size arrays to transfer data with the EC

    Linus Torvalds
     

15 Apr, 2015

2 commits

  • Pull MFD updates from Lee Jones:
    "Changes to existing drivers:

    - Rename child driver [axp288_battery => axp288_fuel_gauge]; axp20x
    - Rename child driver [max77693-flash => max77693-led]; max77693
    - Error handling fixes; intel_soc_pmic
    - GPIO tweaking; intel_soc_pmic
    - Remove non-DT code; vexpress-sysreg, tc3589x
    - Remove unused/legacy code; ti_am335x_tscadc, rts5249, rtsx_gops, rtsx_pcr,
    rtc-s5m, sec-core, max77693, menelaus,
    wm5102-tables
    - Trivial fixups; rtsx_pci, da9150-core, sec-core, max7769, max77693,
    mc13xxx-core, dln2, hi6421-pmic-core, rk808, twl4030-power,
    lpc_ich, menelaus, twl6040
    - Update register/address values; rts5227, rts5249
    - DT and/or binding document fixups; arizona, da9150, mt6397, axp20x,
    qcom-rpm, qcom-spmi-pmic
    - Couple of trivial core Kconfig fixups
    - Remove use of seq_printf return value; ab8500-debugfs
    - Remove __exit markups; menelaus, tps65010
    - Fix platform-device name collisions; mfd-core

    New drivers/supported devices:

    - Add support for wm8280/wm8281 into arizona
    - Add support for COMe-cBL6 into kempld-core
    - Add support for rts524a and rts525a into rts5249
    - Add support for ipq8064 into qcom_rpm
    - Add support for extcon into axp20x
    - New MediaTek MT6397 PMIC driver
    - New Maxim MAX77843 PMIC dirver
    - New Intel Quark X1000 I2C-GPIO driver
    - New Skyworks SKY81452 driver"

    * tag 'mfd-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (76 commits)
    mfd: sec: Fix RTC alarm interrupt number on S2MPS11
    mfd: wm5102: Remove registers for output 3R from readable list
    mfd: tps65010: Remove incorrect __exit markups
    mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes
    mfd: axp20x: Add support for extcon cell
    mfd: lpc_ich: Sort IDs
    mfd: twl6040: Remove wrong and unneeded "platform:twl6040" modalias
    mfd: qcom-spmi-pmic: Add specific compatible strings for Qualcomm's SPMI PMIC's
    mfd: axp20x: Fix duplicate const for model names
    mfd: menelaus: Use macro for magic number
    mfd: menelaus: Drop support for SW controller VCORE
    mfd: menelaus: Delete omap_has_menelaus
    mfd: arizona: Correct type of gpio_defaults
    mfd: lpc_ich: Sort IDs
    mfd: Fix a typo in Kconfig
    mfd: qcom_rpm: Add support for IPQ8064
    mfd: devicetree: qcom_rpm: Document IPQ8064 resources
    mfd: core: Fix platform-device name collisions
    mfd: intel_quark_i2c_gpio: Don't crash if !DMI
    dt-bindings: Add vendor-prefix for X-Powers
    ...

    Linus Torvalds
     
  • Pull trivial tree from Jiri Kosina:
    "Usual trivial tree updates. Nothing outstanding -- mostly printk()
    and comment fixes and unused identifier removals"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
    goldfish: goldfish_tty_probe() is not using 'i' any more
    powerpc: Fix comment in smu.h
    qla2xxx: Fix printks in ql_log message
    lib: correct link to the original source for div64_u64
    si2168, tda10071, m88ds3103: Fix firmware wording
    usb: storage: Fix printk in isd200_log_config()
    qla2xxx: Fix printk in qla25xx_setup_mode
    init/main: fix reset_device comment
    ipwireless: missing assignment
    goldfish: remove unreachable line of code
    coredump: Fix do_coredump() comment
    stacktrace.h: remove duplicate declaration task_struct
    smpboot.h: Remove unused function prototype
    treewide: Fix typo in printk messages
    treewide: Fix typo in printk messages
    mod_devicetable: fix comment for match_flags

    Linus Torvalds
     

14 Apr, 2015

1 commit

  • Pull power supply and reset changes from Sebastian Reichel:

    - new API for safe access of power supply function attrs

    - devres support for power supply (un)registration

    - new drivers / chips:
    - generic syscon based poweroff driver
    - iio & charger driver for da9150
    - fuel gauge driver for axp288
    - bq27x00: add support for bq27510
    - bq2415x: add support for bq24157s

    - twl4030-madc-battery: convert to iio consumer

    - misc fixes

    * tag 'for-v4.1' of git://git.infradead.org/battery-2.6: (66 commits)
    power: twl4030_madc_battery: Add missing MODULE_ALIAS
    power: twl4030-madc-battery: Convert to iio consumer.
    dt: power: Add docs for generic SYSCON poweroff driver.
    power: reset: Add generic SYSCON register mapped poweroff.
    power: max17042_battery: add missed blank
    power: max17042_battery: Use reg type instead of chip type
    power/reset: at91: big endian fixes for atsama5d3x
    power_supply: charger-manager: Fix dereferencing of ERR_PTR
    HID: input: Fix NULL pointer dereference when power_supply_register fails
    power: constify of_device_id array
    power/reset/rmobile-reset.c: Fix !HAS_IOMEM build
    power_supply: 88pm860x_charger: Fix possible NULL pointer dereference and use of initialized variable
    arm: mach-pxa: Decrement the power supply's device reference counter
    mfd: ab8500: Decrement the power supply's device reference counter
    power_supply: bq2415x_charger: Decrement the power supply's device reference counter
    power_supply: 88pm860x_charger: Decrement the power supply's device reference counter
    x86/olpc/xo15/sci: Use newly added power_supply_put API
    x86/olpc/xo1/sci: Use newly added power_supply_put API
    power_supply: charger-manager: Decrement the power supply's device reference counter
    power_supply: Increment power supply use counter when obtaining references
    ...

    Linus Torvalds
     

09 Apr, 2015

5 commits


30 Mar, 2015

10 commits


26 Mar, 2015

4 commits


23 Mar, 2015

2 commits