14 Sep, 2017

1 commit


08 Sep, 2017

1 commit

  • Pull MFD updates from Lee Jones:
    "New Drivers
    - RK805 Power Management IC (PMIC)
    - ROHM BD9571MWV-M MFD Power Management IC (PMIC)
    - Texas Instruments TPS68470 Power Management IC (PMIC) & LEDs

    New Device Support:
    - Add support for HiSilicon Hi6421v530 to hi6421-pmic-core
    - Add support for X-Powers AXP806 to axp20x
    - Add support for X-Powers AXP813 to axp20x
    - Add support for Intel Sunrise Point LPSS to intel-lpss-pci

    New Functionality:
    - Amend API to provide register layout; atmel-smc

    Fix-ups:
    - DT re-work; omap, nokia
    - Header file location change {I2C => MFD}; dm355evm_msp, tps65010
    - Fix chip ID formatting issue(s); rk808
    - Optionally register touchscreen devices; da9052-core
    - Documentation improvements; twl-core
    - Constification; rtsx_pcr, ab8500-core, da9055-i2c, da9052-spi
    - Drop unnecessary static declaration; max8925-i2c
    - Kconfig changes (missing deps and remove module support)
    - Slim down oversized licence statement; hi6421-pmic-core
    - Use managed resources (devm_*); lp87565
    - Supply proper error checking/handling; t7l66xb

    Bug Fixes:
    - Fix counter duplication issue; da9052-core
    - Fix potential NULL deference issue; max8998
    - Leave SPI-NOR write-protection bit alone; lpc_ich
    - Ensure device is put into reset during suspend; intel-lpss
    - Correct register offset variable size; omap-usb-tll"

    * tag 'mfd-next-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (61 commits)
    mfd: intel_soc_pmic: Differentiate between Bay and Cherry Trail CRC variants
    mfd: intel_soc_pmic: Export separate mfd-cell configs for BYT and CHT
    dt-bindings: mfd: Add bindings for ZII RAVE devices
    mfd: omap-usb-tll: Fix register offsets
    mfd: da9052: Constify spi_device_id
    mfd: intel-lpss: Put I2C and SPI controllers into reset state on suspend
    mfd: da9055: Constify i2c_device_id
    mfd: intel-lpss: Add missing PCI ID for Intel Sunrise Point LPSS devices
    mfd: t7l66xb: Handle return value of clk_prepare_enable
    mfd: Add ROHM BD9571MWV-M PMIC DT bindings
    mfd: intel_soc_pmic_chtwc: Turn Kconfig option into a bool
    mfd: lp87565: Convert to use devm_mfd_add_devices()
    mfd: Add support for TPS68470 device
    mfd: lpc_ich: Do not touch SPI-NOR write protection bit on Haswell/Broadwell
    mfd: syscon: atmel-smc: Add helper to retrieve register layout
    mfd: axp20x: Use correct platform device ID for many PEK
    dt-bindings: mfd: axp20x: Introduce bindings for AXP813
    mfd: axp20x: Add support for AXP813 PMIC
    dt-bindings: mfd: axp20x: Add AXP806 to supported list of chips
    mfd: Add ROHM BD9571MWV-M MFD PMIC driver
    ...

    Linus Torvalds
     

06 Sep, 2017

1 commit

  • Pull power management updates from Rafael Wysocki:
    "This time (again) cpufreq gets the majority of changes which mostly
    are driver updates (including a major consolidation of intel_pstate),
    some schedutil governor modifications and core cleanups.

    There also are some changes in the system suspend area, mostly related
    to diagnostics and debug messages plus some renames of things related
    to suspend-to-idle. One major change here is that suspend-to-idle is
    now going to be preferred over S3 on systems where the ACPI tables
    indicate to do so and provide requsite support (the Low Power Idle S0
    _DSM in particular). The system sleep documentation and the tools
    related to it are updated too.

    The rest is a few cpuidle changes (nothing major), devfreq updates,
    generic power domains (genpd) framework updates and a few assorted
    modifications elsewhere.

    Specifics:

    - Drop the P-state selection algorithm based on a PID controller from
    intel_pstate and make it use the same P-state selection method
    (based on the CPU load) for all types of systems in the active mode
    (Rafael Wysocki, Srinivas Pandruvada).

    - Rework the cpufreq core and governors to make it possible to take
    cross-CPU utilization updates into account and modify the schedutil
    governor to actually do so (Viresh Kumar).

    - Clean up the handling of transition latency information in the
    cpufreq core and untangle it from the information on which drivers
    cannot do dynamic frequency switching (Viresh Kumar).

    - Add support for new SoCs (MT2701/MT7623 and MT7622) to the mediatek
    cpufreq driver and update its DT bindings (Sean Wang).

    - Modify the cpufreq dt-platdev driver to autimatically create
    cpufreq devices for the new (v2) Operating Performance Points (OPP)
    DT bindings and update its whitelist of supported systems (Viresh
    Kumar, Shubhrajyoti Datta, Marc Gonzalez, Khiem Nguyen, Finley
    Xiao).

    - Add support for Ux500 to the cpufreq-dt driver and drop the
    obsolete dbx500 cpufreq driver (Linus Walleij, Arnd Bergmann).

    - Add new SoC (R8A7795) support to the cpufreq rcar driver (Khiem
    Nguyen).

    - Fix and clean up assorted issues in the cpufreq drivers and core
    (Arvind Yadav, Christophe Jaillet, Colin Ian King, Gustavo Silva,
    Julia Lawall, Leonard Crestez, Rob Herring, Sudeep Holla).

    - Update the IO-wait boost handling in the schedutil governor to make
    it less aggressive (Joel Fernandes).

    - Rework system suspend diagnostics to make it print fewer messages
    to the kernel log by default, add a sysfs knob to allow more
    suspend-related messages to be printed and add Low Power S0 Idle
    constraints checks to the ACPI suspend-to-idle code (Rafael
    Wysocki, Srinivas Pandruvada).

    - Prefer suspend-to-idle over S3 on ACPI-based systems with the
    ACPI_FADT_LOW_POWER_S0 flag set and the Low Power Idle S0 _DSM
    interface present in the ACPI tables (Rafael Wysocki).

    - Update documentation related to system sleep and rename a number of
    items in the code to make it cleare that they are related to
    suspend-to-idle (Rafael Wysocki).

    - Export a variable allowing device drivers to check the target
    system sleep state from the core system suspend code (Florian
    Fainelli).

    - Clean up the cpuidle subsystem to handle the polling state on x86
    in a more straightforward way and to use %pOF instead of full_name
    (Rafael Wysocki, Rob Herring).

    - Update the devfreq framework to fix and clean up a few minor issues
    (Chanwoo Choi, Rob Herring).

    - Extend diagnostics in the generic power domains (genpd) framework
    and clean it up slightly (Thara Gopinath, Rob Herring).

    - Fix and clean up a couple of issues in the operating performance
    points (OPP) framework (Viresh Kumar, Waldemar Rymarkiewicz).

    - Add support for RV1108 to the rockchip-io Adaptive Voltage Scaling
    (AVS) driver (David Wu).

    - Fix the usage of notifiers in CPU power management on some
    platforms (Alex Shi).

    - Update the pm-graph system suspend/hibernation and boot profiling
    utility (Todd Brandt).

    - Make it possible to run the cpupower utility without CPU0 (Prarit
    Bhargava)"

    * tag 'pm-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (87 commits)
    cpuidle: Make drivers initialize polling state
    cpuidle: Move polling state initialization code to separate file
    cpuidle: Eliminate the CPUIDLE_DRIVER_STATE_START symbol
    cpufreq: imx6q: Fix imx6sx low frequency support
    cpufreq: speedstep-lib: make several arrays static, makes code smaller
    PM: docs: Delete the obsolete states.txt document
    PM: docs: Describe high-level PM strategies and sleep states
    PM / devfreq: Fix memory leak when fail to register device
    PM / devfreq: Add dependency on PM_OPP
    PM / devfreq: Move private devfreq_update_stats() into devfreq
    PM / devfreq: Convert to using %pOF instead of full_name
    PM / AVS: rockchip-io: add io selectors and supplies for RV1108
    cpufreq: ti: Fix 'of_node_put' being called twice in error handling path
    cpufreq: dt-platdev: Drop few entries from whitelist
    cpufreq: dt-platdev: Automatically create cpufreq device with OPP v2
    ARM: ux500: don't select CPUFREQ_DT
    cpuidle: Convert to using %pOF instead of full_name
    cpufreq: Convert to using %pOF instead of full_name
    PM / Domains: Convert to using %pOF instead of full_name
    cpufreq: Cap the default transition delay value to 10 ms
    ...

    Linus Torvalds
     

05 Sep, 2017

27 commits

  • Both Bay and Cherry Trail devices may be used together with a Crystal Cove
    PMIC. Each platform has its own variant of the PMIC, which both use the
    same ACPI HID, but they are not 100% compatible.

    This commits makes the intel_soc_pmic_core code check the _HRV of the
    ACPI-firmware-node and selects intel_soc_pmic_config_byt_crc resp.
    intel_soc_pmic_config_cht_crc based on this.

    This fixes the Bay Trail specific ACPI OpRegion code causing problems
    on Cherry Trail devices. Specifically this was causing the external
    microsd slot on a Dell Venue 8 5855 (Cherry Trail version) to not work
    and the eMMC to become unreliable and throw lots of errors.

    Fixes: 5165238460 ("mfd: intel_soc_pmic: Core driver")
    Reported-and-tested-by: russianneuromancer
    Signed-off-by: Hans de Goede
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Lee Jones

    Hans de Goede
     
  • Both Bay and Cherry Trail devices may be used together with a Crystal Cove
    PMIC. Each platform has its own variant of the PMIC, which both use the
    same ACPI HID, but they are not 100% compatible.

    Looking at the android x86 kernel sources where most of the Crystal Cove
    code comes from, it talks about "Valley View", "Bay Trail" and / or BYT
    without ever mentioning Cherry Trail, with the exception of the regulator
    driver. The Asus Zenfone-2 kernel code has 2 regulator drivers, one
    for Crystal Cove and one for what it calls Crystal Cove Plus. The
    Crystal Cove Plus regulator driver is the only one to mention Cherry
    Trail and that driver uses different register addresses then the
    normal (Bay Trail) Crystal Cove regulator driver, showing that at
    least the regulator register addresses are different.

    The GPIO code should work on both, and the PWM code is known to work on
    both and is necessary for backlight control on some Cherry Trail devices.

    Testing has shown that the ACPI OpRegion code otoh is causing problems
    on Cherry Trail devices, which is not surprising as it deals with the
    regulators and those have different register addresses on CHT.

    Specifically the ACPI OpRegion code causes the external microsd slot on
    a Dell Venue 8 5855 (Cherry Trail version) to not work and the eMMC to
    become unreliable and throw lots of errors.

    This commit replaces the single mfd_cell array currently used for Crystal
    Cove with 2 separate arrays, one for the Bay Trail variant and one for
    the Cherry Trail variant, note that the Cherry Trail version of the array
    only contains gpio and pwm cells. The PMIC OpRegion cell is deliberately
    not included and drivers for the other cells in the Bay Trail cell array
    were never upstreamed.

    Fixes: 7cf0a66f32 ("mfd: intel_soc_pmic: Crystal Cove support")
    Reported-and-tested-by: russianneuromancer
    Signed-off-by: Hans de Goede
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Lee Jones

    Hans de Goede
     
  • gcc-8 notices that the register number calculation is wrong
    when the offset is an 'u8' but the number is larger than 256:

    drivers/mfd/omap-usb-tll.c: In function 'omap_tll_init':
    drivers/mfd/omap-usb-tll.c:90:46: error: overflow in conversion from 'int' to 'u8 {aka unsigned char}' chages value from 'i * 256 + 2070' to '22' [-Werror=overflow]

    This addresses it by always using a 32-bit offset number for
    the register. This is apparently an old problem that previous
    compilers did not find.

    Fixes: 16fa3dc75c22 ("mfd: omap-usb-tll: HOST TLL platform driver")
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Lee Jones

    Arnd Bergmann
     
  • spi_device_id are not supposed to change at runtime. All functions
    working with spi_device_id provided by work with
    const spi_device_id. So mark the non-const structs as const.

    Signed-off-by: Arvind Yadav
    Signed-off-by: Lee Jones

    Arvind Yadav
     
  • Commit 274e43edcda6f ("mfd: intel-lpss: Do not put device in reset
    state on suspend") changed the behavior on suspend by not putting LPSS
    controllers into reset. This was done because S3/S0ix fail if UART
    device is put into reset and no_console_suspend flag is enabled.

    Because of the above change, I2C controller gets into a bad state if
    it observes that the I2C lines are pulled low when power to I2C device
    is cut off during suspend (generally, I2C lines are pulled to power
    rail of the I2C device in order to ensure that there is no leakage
    because of the pulls when device is turned off). This results in the
    controller timing out for all future I2C operations after resume. It
    is primarily because of the following sequence of operations:

    During suspend:
    1. I2C controller is disabled, but it is not put into reset.
    2. Power to I2C device is cut off.
    3. #2 results in the I2C lines being pulled low.

    ==> At this point the I2C controller gets into a bad state

    On resume:
    1. Power to I2C device is enabled.
    2. #2 results in the I2C lines being pulled high.
    3. I2C controller is enabled.

    However, even after enabling the I2C controller, all future I2C xfers
    fail since the controller is in a bad state and does not attempt to
    make any transactions and hence times out.

    In order to ensure that the controller does not get into a bad state,
    this change puts it into reset if the controller type is not
    UART. With this change, the order of operations is:

    During suspend:
    1. I2C controller is disabled and put into reset.
    2. Power to I2C device is cut off.
    3. #2 results in the I2C lines being pulled low.

    On resume:
    1. Power to I2C device is enabled.
    2. #2 results in the I2C lines being pulled high.
    3. I2C controller is enabled and taken out of reset.

    Signed-off-by: Furquan Shaikh
    Signed-off-by: Lee Jones

    Furquan Shaikh
     
  • i2c_device_id are not supposed to change at runtime. All functions
    working with i2c_device_id provided by work with
    const i2c_device_id. So mark the non-const structs as const.

    Signed-off-by: Arvind Yadav
    Signed-off-by: Lee Jones

    Arvind Yadav
     
  • This patch adds a missing PCI ID of the Intel Sunrise Point chipset to the Intel LPSS driver.
    It fixes a bug causing the touchpad of the Lenovo Yoga 720-15 not to be recognized.
    See also bug 1700657 on bugs.launchpad.net.

    Many thanks to CoolStar, who found this solution!

    Reported-by: CoolStar
    Tested-by: Mike Schwartz
    Tested-by: Björn Dahlgren
    Signed-off-by: Florian R. Hölzlwimmer
    Signed-off-by: Lee Jones

    Florian R. Hölzlwimmer
     
  • clk_prepare_enable() can fail here and we must check its return value.
    we must disable clock, if t7l66xb_probe is not successful.

    Signed-off-by: Arvind Yadav
    Signed-off-by: Lee Jones

    Arvind Yadav
     
  • The PMIC provides ACPI OpRegions which must be available for other
    drivers' PS0 / PS3 methods early-on as such it must be builtin as the
    Kconfig help text already states.

    Somehow its Kconfig option ended up being a tristate though, this fixes
    this.

    Signed-off-by: Hans de Goede
    Signed-off-by: Lee Jones

    Hans de Goede
     
  • This fixes missing mfd_remove_devices() call when unload the module.

    Signed-off-by: Axel Lin
    Reviewed-by: Keerthy
    Signed-off-by: Lee Jones

    Axel Lin
     
  • The TPS68470 device is an advanced power management
    unit that powers a Compact Camera Module (CCM),
    generates clocks for image sensors, drives a dual
    LED for Flash and incorporates two LED drivers for
    general purpose indicators.

    This patch adds support for TPS68470 mfd device.

    Signed-off-by: Rajmohan Mani
    Signed-off-by: Lee Jones

    Rajmohan Mani
     
  • At least on Lenovo Thinkpad Yoga, the BIOS seems to monitor the SPI-NOR
    write protection bit and if it is flipped to read/write it assumes the
    BIOS configuration was changed on next reboot. It then, for unknown
    reasons, resets the BIOS settings back to default.

    We can prevent this by just leaving the write protection bit intact and
    let the SPI-NOR driver know whether the device is writable or not. In
    case of this particular Lenovo the SPI-NOR flash will be exposed as
    read-only.

    Fixes: ff00d7a32a1b ("mfd: lpc_ich: Add support for SPI serial flash host controller")
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=195951
    Reported-by: Abdó Roig-Marange
    Signed-off-by: Mika Westerberg
    Signed-off-by: Lee Jones

    Mika Westerberg
     
  • For HSMC controller, the register layout depends on the device i.e. the
    offset of setup, pulse, cycle, mode and timings registers is not the
    same. An helper is added to provide the correct register layout.

    Fixes: fe9d7cb22ef3 ("mfd: syscon: atmel-smc: Add new helpers to ease
    SMC regs manipulation")
    Suggested-by: Boris Brezillon
    Signed-off-by: Ludovic Desroches
    Acked-by: Boris Brezillon
    Acked-by: Nicolas Ferre
    Acked-by: Alexandre Belloni
    Signed-off-by: Lee Jones

    Ludovic Desroches
     
  • According to their datasheets, the AXP221, AXP223, AXP288, AXP803,
    AXP809 and AXP813 PEK have different values for startup time bits from
    the AXP20X, let's use the platform device id with the correct values.

    Signed-off-by: Quentin Schulz
    Signed-off-by: Chen-Yu Tsai
    Acked-by: Maxime Ripard
    Signed-off-by: Lee Jones

    Quentin Schulz
     
  • The X-Powers AXP813 PMIC is normally used with Allwinner's A83T SoC.
    It has the same range of functions as other X-Powers PMICs, such as
    DC-DC buck converter and linear regulator outputs, AC-IN and VBUS
    power supplies, power button trigger, GPIOs, ADCs, and a battery
    charger.

    Note that the IRQ table given in the datasheet is incorrect: in IRQ
    enable/status registers 1, there are separate IRQs for ACIN and VBUS,
    instead of bits [7:5] being the same as bits [4:2]. So it shares the
    same IRQs as the AXP803, rather than the AXP288.

    This patch adds basic mfd support for it, with only the power button
    enabled.

    Signed-off-by: Chen-Yu Tsai
    Acked-by: Maxime Ripard
    Signed-off-by: Lee Jones

    Chen-Yu Tsai
     
  • Add the MFD part of the ROHM BD9571MWV-M PMIC driver and MAINTAINERS
    entry. The MFD part only specifies the regmap bits for the PMIC and
    binds the subdevs together.

    Signed-off-by: Marek Vasut
    Signed-off-by: Lee Jones

    Marek Vasut
     
  • Add support for HiSilicon Hi6421v530 PMIC. Hi6421v530 communicates with
    main SoC via memory-mapped I/O.

    Hi6421v530 and Hi6421 are PMIC chips from the same vendor, HiSilicon,
    but at different revisions. They share the same memory-mapped I/O
    design. They differ in integrated devices, such as regulator details,
    LDO voltage points.

    Signed-off-by: Guodong Xu
    Signed-off-by: Wang Xiaoyin
    Acked-by: Arnd Bergmann
    Signed-off-by: Lee Jones

    Guodong Xu
     
  • Update dev_err messages to make them more readable.

    Signed-off-by: Guodong Xu
    Acked-by: Arnd Bergmann
    Signed-off-by: Lee Jones

    Guodong Xu
     
  • Change license text to a shorter form of GPLv2.

    Signed-off-by: Guodong Xu
    Acked-by: Arnd Bergmann
    Signed-off-by: Lee Jones

    Guodong Xu
     
  • MTF_CORE should be enabled when driver is enabled.

    Without this patch you can configure:

    CONFIG_MFD_CORE is not set
    CONFIG_MFD_TPS65086=y

    ... which ends up with compilation error:
    drivers/mfd/tps65086.o: In function `tps65086_probe':
    drivers/mfd/tps65086.c:110: undefined reference to `mfd_add_devices'
    drivers/mfd/tps65086.c:110:(.text+0x128): relocation truncated to fit: \
    R_AARCH64_CALL26 against undefined symbol `mfd_add_devices'

    Signed-off-by: Michal Simek
    Signed-off-by: Lee Jones

    Michal Simek
     
  • attribute_groups are not supposed to change at runtime. All functions
    working with attribute_groups provided by work with const
    attribute_group. So mark the non-const structs as const.

    File size before:
    text data bss dec hex filename
    16298 1009 184 17491 4453 drivers/mfd/ab8500-core.o

    File size After adding 'const':
    text data bss dec hex filename
    16490 817 184 17491 4453 drivers/mfd/ab8500-core.o

    Signed-off-by: Arvind Yadav
    Signed-off-by: Lee Jones

    Arvind Yadav
     
  • if 'max8998_i2c_parse_dt_pdata() fails (when out of memory), a NULL
    pointer dereference will occur in the error handling code.

    Return directly instead.

    Fixes: ee999fb3f17f("mfd: max8998: Add support for Device Tree")
    Signed-off-by: Christophe JAILLET
    Signed-off-by: Lee Jones

    Christophe JAILLET
     
  • Drop static on a local variable, when the variable is initialized before
    any use, on every possible execution path through the function. The static
    has no benefit, and dropping it reduces the code size.

    The semantic patch that fixes this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @bad exists@
    position p;
    identifier x;
    type T;
    @@

    static T x@p;
    ...
    x =

    @@
    identifier x;
    expression e;
    type T;
    position p != bad.p;
    @@

    -static
    T x@p;
    ... when != x
    when strict
    ?x = e;
    //

    The change in code size is indicates by the following output from the size
    command.

    before:
    text data bss dec hex filename
    2579 240 16 2835 b13 drivers/mfd/max8925-i2c.o

    after:
    text data bss dec hex filename
    2531 240 8 2779 adb drivers/mfd/max8925-i2c.o

    Signed-off-by: Julia Lawall
    Acked-by: Kees Cook
    Signed-off-by: Lee Jones

    Julia Lawall
     
  • It is possible that under heavy system load, the counter in the completion
    struct, used for waiting for end of AD conversion, gets incremented twice.
    To make sure the driver recovers from this situation, the completion struct
    should be reinitialized.

    Signed-off-by: Sebastian Reichel
    Signed-off-by: Lee Jones

    Sebastian Reichel
     
  • Don't populate the arrays depath and cd_mask on the stack but make
    them static const. Makes the object code smaller:

    text data bss dec hex filename
    25413 7216 448 33077 8135 drivers/mfd/rtsx_pcr.o

    text data bss dec hex filename
    25151 7360 448 32959 80bf drivers/mfd/rtsx_pcr.o

    Signed-off-by: Colin Ian King
    Signed-off-by: Lee Jones

    Colin Ian King
     
  • Saying it "returns the result" seems tautological. The read function
    does not return num_bytes on success, it returns zero on success. I
    noticed this discrepancy because some of the callers were checking for
    >= 0.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Lee Jones

    Dan Carpenter
     
  • …-4.14', 'ib-mfd-iio-pwm-4.14', 'ib-mfd-input-rtc-4.14', 'ib-mfd-many-4.14' and 'ib-mfd-pinctrl-regulator-4.14' into ibs-for-mfd-merged

    Lee Jones
     

04 Sep, 2017

4 commits

  • STM32 Low-Power Timer hardware block can be used for:
    - PWM generation
    - IIO trigger (in sync with PWM)
    - IIO quadrature encoder counter
    PWM and IIO timer configuration are mixed in the same registers so
    we need a multi fonction driver to be able to share those registers.

    Signed-off-by: Fabrice Gasnier
    Signed-off-by: Lee Jones

    Fabrice Gasnier
     
  • include/linux/i2c is not for client devices. Move the header file to a
    more appropriate location.

    Signed-off-by: Wolfram Sang
    Acked-by: Greg Kroah-Hartman
    Acked-by: Alexandre Belloni
    Acked-by: Mark Brown
    Acked-by: Sebastian Reichel
    Acked-by: Jonathan Cameron
    Acked-by: Dmitry Torokhov
    Acked-by: Kishon Vijay Abraham I
    Acked-by: Bartlomiej Zolnierkiewicz
    Acked-by: Thierry Reding
    Acked-by: Tony Lindgren
    Acked-by: Daniel Thompson
    Acked-by: Linus Walleij
    Acked-by: Guenter Roeck
    Signed-off-by: Lee Jones

    Wolfram Sang
     
  • …it/groeck/linux-staging

    Pull hwmon updates from Guenter Roeck:

    - new drivers:
    - Lantiq CPU temperature sensor
    - IBM CFF power supply
    - TPS53679 PMBus driver

    - new support:
    - LM5066I (lm25066 PMBus driver)
    - Intel VID protocol VR13 (PMBus drivers)
    - CAT34TS02C, GT30TS00, GT34TS02, and CAT34TS04 (jc42 driver)

    - cleanup and minor improvements in several drivers

    * tag 'hwmon-for-linus-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (36 commits)
    hwmon: (ltq-cputemp) add cpu temp sensor driver
    hwmon: (ltq-cputemp) add devicetree bindings documentation
    hwmon: (pmbus) Add support for Texas Instruments tps53679 device
    hwmon: (asc7621) make several arrays static const
    hwmon: (pmbus/lm25066) Add support for TI LM5066I
    hwmon: (pmbus/lm25066) Offset coefficient depends on CL
    hwmon: (pmbus) Add support for Intel VID protocol VR13
    Documentation: hwmon: Document the IBM CFF power supply
    hwmon: (pmbus) Add IBM Common Form Factor (CFF) power supply driver
    dt-bindings: hwmon: Document the IBM CCF power supply version 1
    hwmon: (ftsteutates) constify i2c_device_id
    hwmon: da9052: Add support for TSI channel
    mfd: da9052: Make touchscreen registration optional
    hwmon: da9052: Replace S_IRUGO with 0444
    mfd: da9052: Add register details for TSI
    hwmon: (aspeed-pwm) add THERMAL dependency
    hwmon: (pmbus) Add debugfs for status registers
    hwmon: (aspeed-pwm-tacho) cooling device support.
    Documentation: dt-bindings: aspeed-pwm-tacho cooling device.
    hwmon: (pmbus): Add generic alarm bit for iin and pin
    ...

    Linus Torvalds
     
  • * pm-cpufreq: (33 commits)
    cpufreq: imx6q: Fix imx6sx low frequency support
    cpufreq: speedstep-lib: make several arrays static, makes code smaller
    cpufreq: ti: Fix 'of_node_put' being called twice in error handling path
    cpufreq: dt-platdev: Drop few entries from whitelist
    cpufreq: dt-platdev: Automatically create cpufreq device with OPP v2
    ARM: ux500: don't select CPUFREQ_DT
    cpufreq: Convert to using %pOF instead of full_name
    cpufreq: Cap the default transition delay value to 10 ms
    cpufreq: dbx500: Delete obsolete driver
    mfd: db8500-prcmu: Get rid of cpufreq dependency
    cpufreq: enable the DT cpufreq driver on the Ux500
    cpufreq: Loongson2: constify platform_device_id
    cpufreq: dt: Add r8a7796 support to to use generic cpufreq driver
    cpufreq: remove setting of policy->cpu in policy->cpus during init
    cpufreq: mediatek: add support of cpufreq to MT7622 SoC
    cpufreq: mediatek: add cleanups with the more generic naming
    cpufreq: rcar: Add support for R8A7795 SoC
    cpufreq: dt: Add rk3328 compatible to use generic cpufreq driver
    cpufreq: s5pv210: add missing of_node_put()
    cpufreq: Allow dynamic switching with CPUFREQ_ETERNAL latency
    ...

    Rafael J. Wysocki
     

25 Aug, 2017

1 commit

  • Pull ARM SoC fixes from Arnd Bergmann:
    "A small number of bugfixes, again nothing serious.

    - Alexander Dahl found multiple bugs in the Atmel memory interface
    driver

    - A randconfig build fix for at91 was incomplete, the second attempt
    fixes the remaining corner case

    - One fix for the TI Keystone queue handler

    - The Odroid XU4 HDMI port (added in 4.13) needs a small DT fix"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: dts: exynos: add needs-hpd for Odroid-XU3/4
    ARM: at91: don't select CONFIG_ARM_CPU_SUSPEND for old platforms
    soc: ti: knav: Add a NULL pointer check for kdev in knav_pool_create
    memory: atmel-ebi: Fix smc cycle xlate converter
    memory: atmel-ebi: Allow t_DF timings of zero ns
    memory: atmel-ebi: Fix smc timing return value evaluation

    Linus Torvalds
     

22 Aug, 2017

3 commits

  • The ARMSS clock, also known as the operating point of the
    CPU, should not cross-depend on cpufreq like this. Move
    the code to use just frequencies and remove the false
    frequency (1GHz) and put in the actual frequency provided
    by the ARMSS clock (998400000 Hz) as part of the process.

    After this and the related cpufreq patch, the DB8500 will
    simply use the standard DT cpufreq driver to change the
    operating points through the common clock framework using
    the ARMSS clock.

    Acked-by: Lee Jones
    Signed-off-by: Linus Walleij
    Signed-off-by: Rafael J. Wysocki

    Linus Walleij
     
  • This patch was applied to the MFD twice, causing unwanted behavour.

    This reverts commit b77eb79acca3203883e8d8dbc7f2b842def1bff8.

    Fixes: b77eb79acca3 ("mfd: da9061: Fix to remove BBAT_CONT register from chip model")
    Reported-by: Steve Twiss
    Reviewed-by: Steve Twiss
    Signed-off-by: Lee Jones

    Lee Jones
     
  • If the touchscreen pins are used as general purpose analogue
    input, the touchscreen driver should not be used. The pins
    will be handled by the existing hwmon driver instead.

    Signed-off-by: Sebastian Reichel
    Signed-off-by: Lee Jones

    Sebastian Reichel
     

21 Aug, 2017

2 commits