aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-09-26mfd: Add ACPI supportMika Westerberg3-0/+70
If an MFD device is backed by ACPI namespace, we should allow subdevice drivers to access their corresponding ACPI companion devices through normal means (e.g using ACPI_COMPANION()). This patch adds such support to the MFD core. If the MFD parent device does not specify any ACPI _HID/_CID for the child device, the child device will share the parent ACPI companion device. Otherwise the child device will be assigned with the corresponding ACPI companion, if found in the namespace below the parent. Signed-off-by: Mika Westerberg <[email protected]> Reviewed-by: Darren Hart <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26Revert "mfd: wm5102: Manually apply register patch"Charles Keepax1-12/+0
This reverts commit d9d03496f6f904a3588bdb8b215853bc4e50132c. It seems this commit was applied twice, once through ASoC and once through MFD: commit 4c9bb8bc352a14c9613c77bc3f1e9038cd086b9b mfd: wm5102: Manually apply register patch commit d9d03496f6f904a3588bdb8b215853bc4e50132c mfd: wm5102: Manually apply register patch This has lead to a small piece of duplicate code. It is harmless hence how it has gone unoticed for so long. This patch reverts one of the two commits removing the unneeded code. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: ti_am335x_tscadc: Update logic in CTRL register for 5-wire TSJeff Lance2-13/+18
The logic in AFE_Pen_Ctrl bitmask in the CTRL register is different for five wire versus four or eight wire touschscreens. This patch should fix this for five-wire touch screens. There should be no change needed here for four and eight wire tousch screens. Signed-off-by: Jeff Lance <[email protected]> [bigeasy: keep the change mfd only] Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: dt-bindings: atmel-gpbr: Rename doc file to conform to naming conventionLee Jones1-0/+0
Cc: [email protected] Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: dt-bindings: qcom-pm8xxx: Rename doc file to conform to naming conventionLee Jones1-0/+0
Cc: Stanimir Varbanov <[email protected]> Cc: Srinivas Kandagatla <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: Inherit coherent_dma_mask from parent deviceBoris BREZILLON1-0/+1
dma_mask and dma_parms are already inherited from the parent device but dma_coherent_mask was left uninitialized (set to zero thanks to kzalloc). Set sub-device coherent_dma_mask to its parent value to simplify sub-drivers making use of dma coherent helper functions (those drivers currently have to explicitly set the dma coherent mask using dma_set_coherent_mask function). Signed-off-by: Boris BREZILLON <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: Document DT bindings for Qualcomm SPMI PMICsStanimir Varbanov1-0/+64
Document DT bindings used to describe the Qualcomm SPMI PMICs. Signed-off-by: Stanimir Varbanov <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: Add support for Qualcomm SPMI PMICsJosh Cartwright3-0/+83
The Qualcomm SPMI PMIC chips are components used with the Snapdragon 800 series SoC family. This driver exists largely as a glue mfd component, it exists to be an owner of an SPMI regmap for children devices described in device tree. Signed-off-by: Josh Cartwright <[email protected]> Signed-off-by: Stanimir Varbanov <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: dt-bindings: pm8xxx: Add new compatible stringStanimir Varbanov1-0/+1
The rtc driver now supports PM8941 PMIC device, reflect this in the binding document. Signed-off-by: Stanimir Varbanov <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: axp209x: Drop the parent supplies fieldMaxime Ripard1-11/+0
Now that the regulator code get its parent supplies purely from the DT, we can drop the parent supplies resources in the MFD driver. Signed-off-by: Maxime Ripard <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: twl4030-power: Use 'ti,system-power-controller' as alternative way to ↵Nishanth Menon1-0/+3
support system power off ti,system-power-controller is more or less the standard way of indicating that the PMIC is the system wide power controller and hence may be used to switch off the system. Almost ALL TI PMIC drivers and many Maxim PMIC drivers follow the same style. So support 'ti,system-power-controller' in addition to the usual 'ti,use_poweroff' to indicate that the PMIC instance has control for switching off the system. Signed-off-by: Nishanth Menon <[email protected]> Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: dt-bindings: twl4030-power: Use the standard property to mark power controlNishanth Menon1-2/+7
ti,system-power-controller is more or less the standard way of indicating that the PMIC is the system wide power controller and hence may be used to switch off the system. Almost ALL TI PMIC drivers and many Maxim PMIC drivers follow the same style. So support 'ti,system-power-controller' in addition to the usual 'ti,use_poweroff' to indicate that the PMIC instance has control for switching off the system. Signed-off-by: Nishanth Menon <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: syscon: Add Atmel GPBR DT bindings documentionBoris BREZILLON1-0/+15
The GPBR block provides a set of battery-backed registers that can be used to save data which need to be kept when the system is powered down and VDD-core is maintained by an external battery. A typical usage is the RTT block (when used as an RTC) which needs one of those registers to save the current time. Signed-off-by: Boris BREZILLON <[email protected]> Acked-by: Nicolas Ferre <[email protected]> Acked-by: Johan Hovold <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: rk808: Add register cachingDoug Anderson1-0/+30
Let's define the voltatile registers (those that can't be cached) and enable caching. The rk808 is accessed almost constantly with cpufreq so this is really nice. As measured by ftrace: before this change: cpu0_set_target() => ~2200us after this change: cpu0_set_target() => ~500us Signed-off-by: Doug Anderson <[email protected]> Reviewed-by: Chris Zhong <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: arizona: Use handle_simple_irq for IRQ dispatch chipCharles Keepax1-1/+1
We use a dummy IRQ chip to dispatch interrupts to the two seperate IRQ domains on the Arizona devices. This is just a simple software IRQ chip and thus the current handle_edge_irq is unnecessary for its needs. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: max14577: Don't pass IRQ domain to mfd_add_devicesKrzysztof Kozlowski1-2/+1
The max14577 MFD cells do not have any resources so the IRQ domain passed to mfd_add_devices is not used. Signed-off-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: stmpe: Document DT binding for irq_over_gpioSean Cross1-0/+1
STMPE now supports using a GPIO as an IRQ source. Document the device tree binding for this option. Signed-off-by: Sean Cross <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: stmpe: Support gpio over irq under device treeSean Cross1-1/+6
The stmpe_platform_data has a irq_over_gpio field, which allows the system to read STMPE events whenever an IRQ occurs on a GPIO pin. This patch adds the ability to configure this field and to use a GPIO as an IRQ source for boards configuring the STMPE in device tree. Signed-off-by: Sean Cross <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: intel_soc_pmic: Add CONFIG_PM_SLEEP check for suspend_fn/resume_fnJaewon Kim1-0/+2
This patch fix warning message with CONFIG_PM_SLEEP disabled If CONFIG_PM_SLEEP is not enabled we receive the following warning message: drivers/mfd/intel_soc_pmic_core.c:118:12: warning: 'intel_soc_pmic_suspend' defined but not used Signed-off-by: Jaewon Kim <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: rtsx_pcr: Fix MSI enable error handlingChris Ball1-1/+1
pci_enable_msi() can return failure with both positive and negative integers -- it returns 0 for success -- but is only tested here for "if (ret < 0)". This causes us to try to use MSI on the RTS5249 SD reader in the Dell XPS 11 when enabling MSI failed, causing: [ 1.737110] rtsx_pci: probe of 0000:05:00.0 failed with error -110 Cc: stable <[email protected]> Reported-by: D. Jared Dominguez <[email protected]> Tested-by: D. Jared Dominguez <[email protected]> Signed-off-by: Chris Ball <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: ti_am335x_tscadc: Fix TSC resumeSebastian Andrzej Siewior1-1/+1
In the resume path, the ADC invokes am335x_tsc_se_set_cache() with 0 as the steps argument if continous mode is not in use. This in turn disables all steps and so the TSC is not working until one ADC sampling is performed. This patch fixes it by writing the current cached mask instead of the passed steps. Fixes: 7ca6740cd1cd ("mfd: input: iio: ti_amm335x: Rework TSC/ADCA synchronization") Cc: [email protected] # v3.13+ Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: tps65217: Tell regmap what registers are validMark Brown2-0/+4
Allow regmap to provide debugfs access to the register map by telling it what registers are valid. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: mc13xxx: Configure WDI resetMarkus Pargmann1-0/+8
Setup the PMIC to make a restart when a watchdog interrupt occures. If this is not configured, the PMIC will shut down the power supply without a restart. Signed-off-by: Markus Pargmann <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: pcf50633: Use sprintf directlyAndy Shevchenko1-4/+1
When dump a content of the registers let's use snprintf() directly with %*ph specifier. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: Add HI6421 PMIC Core driverGuodong Xu4-0/+168
This adds driver to support HiSilicon Hi6421 PMIC. Hi6421 includes multi- functions, such as regulators, codec, ADCs, Coulomb counter, etc. This driver includes core APIs _only_. Drivers for individul components, like voltage regulators, are implemented in corresponding driver directories and files. Registers in Hi6421 are memory mapped, so using regmap-mmio API. Signed-off-by: Guodong Xu <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: dt-bindings: Add Device Tree bindings for HI6421Guodong Xu1-0/+38
Add documentation for HiSilicon Hi6421 PMIC DT binding. Signed-off-by: Guodong Xu <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: lpc_sch: Remove FSF addressAndy Shevchenko1-4/+1
This patch removes FSF address because it can be changed. While here, update the copyright lines by adding Intel Corp. to them. There is no functional change. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: lpc_sch: Add support for Intel Quark X1000Andy Shevchenko1-6/+31
Intel Quark X1000 SoC supports IRQ based GPIO. This patch will enable MFD support for Quark X1000 and provide IRQ resources to Quark X1000 GPIO device driver. Signed-off-by: Chang Rebecca Swee Fun <[email protected]> Tested-by: Chang Rebecca Swee Fun <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26pci_ids: Add support for Intel Quark ILBJosef Ahmad1-0/+1
This patch adds the PCI id for Intel Quark ILB. It will be used for GPIO and Multifunction device driver. Signed-off-by: Josef Ahmad <[email protected]> Acked-by: Bjorn Helgaas <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: lpc_sch: Reduce duplicate code and improve manageabilityAndy Shevchenko1-82/+99
This patch refactors the driver to use helper functions instead of copy'n'pasted pieces of code. It also introduces an additional struct to hold a chipset info. The chipset info will be used to store features that are supported by specific processor or chipset. LPC_SCH supports SMBUS, GPIO and WDT features. As this code base might expand further to support more processors, this implementation will help to keep code base clean and manageable. The patch is partially based on the work done by Chang Rebecca Swee Fun. Signed-off-by: Andy Shevchenko <[email protected]> Tested-by: Chang Rebecca Swee Fun <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: RK808: Add new mfd driver for RK808Chris Zhong4-0/+455
The RK808 chip is a power management IC for multimedia and handheld devices. It contains the following components: - Regulators - RTC - Clkout The RK808 core driver is registered as a platform driver and provides communication through I2C with the host device for the different components. Signed-off-by: Chris Zhong <[email protected]> Signed-off-by: Zhang Qing <[email protected]> Tested-by: Heiko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: dt-bindings: Add RK808 device tree bindings documentChris Zhong2-0/+188
Add device tree bindings documentation and a header file for rockchip's RK808 pmic. Signed-off-by: Doug Anderson <[email protected]> Signed-off-by: Chris Zhong <[email protected]> Signed-off-by: Zhang Qing <[email protected]> Tested-by: Heiko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: da9052: Avoid setting read_flag_mask for da9052-i2c driverAxel Lin3-5/+6
Current code init regmap with &da9052_regmap_config for both da9052-spi and da9052-i2c drivers. da9052-spi sets the read_flag_mask. The same setting may be applied for da9052-i2c if da9052-spi driver is loaded first because they actually use the same regmap_config setting. Fix this issue by using a local variable for regmap_config in da9052-spi driver, so the settings in spi driver won't impact the settings in i2c driver. Also makes da9052_regmap_config const to avoid similar issue. Signed-off-by: Axel Lin <[email protected]> Acked-by: Adam Thomson <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: arizona: Propagate irq_wake through to parent IRQCharles Keepax1-0/+8
If one of the internal Arizona IRQs is set as a wake source this needs to be propogated back to the actual IRQ line that the Arizona device is attached to. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: arizona: Update DT binding to support INn_MODE init_dataInha Song1-0/+7
This patch update DT binding to support INn_MODE init_data. Each input signal path can be configurated either as a Analogue or Digital using the INn_MODE registers. Signed-off-by: Inha Song <[email protected]> Reviewed-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: arizona: Add support for INn_Mode register controlInha Song1-0/+13
Some boards need to set the INn_MODE[1:0] register to change the input signal patch. This wlf,inmode property is optional. If present, values must be specified less than or equal to the number of input singals. If values less than the number of input signals, elements that has not been specifed are set to 0 by default. Example: - wlf,inmode = <2 0 2>; /* IN1, IN3 use DMIC */ Signed-off-by: Inha Song <[email protected]> Reviewed-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: arizona: Add ASYNC_SAMPLE_RATE_2 registersCharles Keepax4-7/+30
Some arizona devices have a second asynchronous sample rate, add the registers necessary to support this. Signed-off-by: Charles Keepax <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: Add Ricoh RN5T618 PMIC core driverBeniamino Galvani4-0/+374
Ricoh RN5T618 is a power management IC which integrates 3 step-down DCDC converters, 7 low-dropout regulators, a Li-ion battery charger, fuel gauge, ADC, GPIOs and a watchdog timer. This commit adds a MFD core driver to support the I2C communication with the device. Signed-off-by: Beniamino Galvani <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: ti_am335x_tscadc: Fix TSC operation after ADC continouous modeVignesh R1-1/+2
After enabling and disabling ADC continuous mode via sysfs, ts_print_raw fails to return any data. This is because when ADC is configured for continuous mode, it disables touch screen steps.These steps are not re-enabled when ADC continuous mode is disabled. Therefore existing values of REG_SE needs to be cached before enabling continuous mode and disabling touch screen steps and enabling ADC steps. The cached value are to be restored to REG_SE once ADC is disabled. Fixes: 7ca6740cd1cd ("mfd: input: iio: ti_amm335x: Rework TSC/ADC synchronization") Cc: [email protected] # v3.13+ Signed-off-by: Vignesh R <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: rn5t618: Document device tree bindingsBeniamino Galvani1-0/+36
This adds the device tree bindings documentation for Ricoh RN5T618. Signed-off-by: Beniamino Galvani <[email protected]> Reviewed-by: Mark Brown <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: davinci_voicecodec: Fix 'if defined' guard type in headerRasmus Villemoes1-1/+1
The include guard doesn't work as intended due to the transposition typo DAVINCI -> DAVINIC. Signed-off-by: Rasmus Villemoes <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: tps65910: Work around silicon erratum SWCZ010Arnout Vandecappelle (Essensium/Mind)1-0/+5
http://www.ti.com/lit/pdf/SWCZ010: Glitch on SDA-SCL not managed correctly by the I2C IP Impact: The standard specifies that the I2C transfer should restart on a start event in all cases. The current design does not support two consecutive Start conditions. This can cause the first real access after such a glitch to be corrupted. Description: An unexpected glitch on SDA and SCL can generate a wrong start event. In the current design, the SCL line must toggle two times to detect a new start event and completely restart the I2C access; hence the real start event is not detected in the case of a single SCL toggle. Workaround: Repeat I2C access. A simpler workaround is to make a dummy transfer just before the first access to the tps65910 chip. This can be done unconditionally. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: ti_ssp: Remove unused headerRasmus Villemoes1-93/+0
The header file include/linux/mfd/ti_ssp.h does not seem to be used anywhere. It was orphaned by 3033ee62 "mfd: Remove obsolete ti-ssp driver". Remove it. Signed-off-by: Rasmus Villemoes <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: stmpe: Rid variable length array Sparse warningsLee Jones1-2/+2
Numbers are generated by taking the largest currently used values. drivers/mfd/stmpe.c:252:17: warning: Variable length array is used. drivers/mfd/stmpe.c:857:16: warning: Variable length array is used. Acked-by: Linus Walleij <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: max8925-i2c: Fix variable length array Sparse warningLee Jones1-1/+1
The largest byte size in use currently is 8. Fix array size to 9. drivers/mfd/max8925-i2c.c:40:33: warning: Variable length array is used Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: 88pm860x-i2c: Fix variable length array Sparse warningLee Jones1-1/+1
drivers/mfd/88pm860x-i2c.c:125:33: warning: Variable length array is used. Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: 88pm860x-i2c: Purge unused functionsLee Jones1-64/+0
The following functions appear to be unused since v2.6.39: pm860x_page_reg_read() pm860x_page_bulk_write() pm860x_page_set_bits() Let's remove them. Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: lpc_ich: Add Device IDs for Intel 9 Series PCHJames Ralston1-0/+11
This patch adds the LPC Device IDs for the Intel 9 Series PCH. Signed-off-by: James Ralston <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: max77693: Improve support for the flash cellJacek Anaszewski3-1/+103
This patch improves support for the flash cell of max77693 mfd by adding relevant of_compatible field and a structure for caching related platform data. Added are also FLASH registers related macro definitions. Signed-off-by: Jacek Anaszewski <[email protected]> Signed-off-by: Andrzej Hajda <[email protected]> Acked-by: Kyungmin Park <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-09-26mfd: max77693: Fix register enum nameJacek Anaszewski1-1/+1
According to the MAX77693 documentation the name of the register is FLASH_STATUS. Signed-off-by: Jacek Anaszewski <[email protected]> Acked-by: Kyungmin Park <[email protected]> Signed-off-by: Lee Jones <[email protected]>