summaryrefslogtreecommitdiffstats
path: root/drivers/mfd/tps6507x.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-11-29mfd: pm8xxx: add support to pm8821Srinivas Kandagatla2-10/+222
This patch adds support to PM8821 PMIC and interrupt support. PM8821 is companion device that supplements primary PMIC PM8921 IC. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: intel-lpss: Try to enable Memory-Write-InvalidateAndy Shevchenko1-0/+1
Enable MWI mechanism if PCI bus master supports it. It might be potential benefit in some cases. Documentation [1] says that standard Memory Write might supply more current data than in the CPU modified cache line and "trashing a line in the cache may trash some data that is more current that in the memory line". This allows to avoid potential retries and other performance degradation issues on the bus. [1] PCI System Architecture, 4th edition, ISBN: 0-201-30974-2, pp.117-119. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: rn5t618: Add Ricoh RC5T619 PMIC supportPierre-Hugues Husson4-7/+22
The Ricoh RN5T567 is from the same family as the Ricoh RN5T618 is, the differences are: + DCDC4/DCDC5 + LDO7-10 + Slightly different output voltage/currents + 32kHz Output + RTC + USB Charger detection Signed-off-by: Pierre-Hugues Husson <phh@phh.me> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: axp20x: Add address extension registers for AXP806 regmapChen-Yu Tsai2-1/+4
The AXP806 supports either master/standalone or slave mode. Slave mode allows sharing the serial bus, even with multiple AXP806 which all have the same hardware address. This is done with extra "serial interface address extension", or AXP806_BUS_ADDR_EXT, and "register address extension", or AXP806_REG_ADDR_EXT, registers. The former is read-only, with 1 bit customizable at the factory, and 1 bit depending on the state of an external pin. The latter is writable. Only when the these device addressing bits (in the upper 4 bits of the registers) match, will the device respond to operations on its other registers. Add these 2 registers to the regmap so we can access them. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: intel_soc_pmic_bxtwc: Fix a typo in MODULE_DEVICE_TABLE()Wei Yongjun1-1/+1
Fix a typo in MODULE_DEVICE_TABLE(). 'pmic_acpi_ids' should be 'bxtwc_acpi_ids'. Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: core: Fix device reference leak in mfd_clone_cellJohan Hovold1-0/+2
Make sure to drop the reference taken by bus_find_device_by_name() before returning from mfd_clone_cell(). Fixes: a9bbba996302 ("mfd: add platform_device sharing support for mfd") Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: bcm590xx: Simplify a testChristophe JAILLET1-1/+1
'i2c_new_dummy()' does not return an error pointer, so the test can be simplified to be more consistent. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: sun4i-gpadc: Select regmap-irqArnd Bergmann1-0/+1
The new sun4i mfd driver is lacking a dependency, triggering very rarely int randconfig kernel builds: drivers/mfd/sun4i-gpadc.o: In function `sun4i_gpadc_probe': sun4i-gpadc.c:(.text.sun4i_gpadc_probe+0x110): undefined reference to `devm_regmap_add_irq_chip' This adds a 'select REGMAP_IRQ', as the other drivers with this problem do. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: abx500-core: drop unused MODULE_ tags from non-modular codePaul Gortmaker1-5/+2
The Kconfig currently controlling compilation of this code is: drivers/mfd/Kconfig:config ABX500_CORE drivers/mfd/Kconfig: bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions" ...meaning that it currently is not being built as a module by anyone. Lets remove the couple traces of modular infrastructure use, so that when reading the driver there is no doubt it is builtin-only. We delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. We replace module.h with init.h and export.h ; the latter since the file does export some symbols. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: ab8500: make sysctrl explicitly non-modularPaul Gortmaker1-5/+4
The Kconfig currently controlling compilation of this code is: drivers/mfd/Kconfig:config AB8500_CORE drivers/mfd/Kconfig: bool "ST-Ericsson AB8500 Mixed Signal Power Management chip" ...meaning that it currently is not being built as a module by anyone. Lets remove the couple traces of modular infrastructure use, so that when reading the driver there is no doubt it is builtin-only. We also delete the MODULE_LICENSE tag etc. since all that information was (or is now) contained at the top of the file in the comments. We replace module.h with init.h and export.h -- the latter since the file does make use of EXPORT_SYMBOL. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: ab8500-gpadc: Make it explicitly non-modularPaul Gortmaker1-17/+2
The Kconfig currently controlling compilation of this code is: drivers/mfd/Kconfig:config AB8500_GPADC drivers/mfd/Kconfig: bool "ST-Ericsson AB8500 GPADC driver" ...meaning that it currently is not being built as a module by anyone. Lets remove the modular code that is essentially orphaned, so that when reading the driver there is no doubt it is builtin-only. Since module_init was not in use by this code, the init ordering remains unchanged with this commit. We also delete the MODULE_LICENSE tag etc. since all that information was (or is now) contained at the top of the file in the comments. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: ab8500-debugfs: Make it explicitly non-modularPaul Gortmaker1-19/+2
The Kconfig currently controlling compilation of this code is: drivers/mfd/Kconfig:config AB8500_DEBUG drivers/mfd/Kconfig: bool "Enable debug info via debugfs" ...meaning that it currently is not being built as a module by anyone. Lets remove the modular code that is essentially orphaned, so that when reading the driver there is no doubt it is builtin-only. We explicitly disallow a driver unbind, since that doesn't have a sensible use case anyway, and it allows us to drop the ".remove" code for non-modular drivers. Since module_init was not in use by this code, the init ordering remains unchanged with this commit. We also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: ab8500-core: Make it explicitly non-modularPaul Gortmaker1-31/+6
The Kconfig currently controlling compilation of this code is: drivers/mfd/Kconfig:config AB8500_CORE drivers/mfd/Kconfig: bool "ST-Ericsson AB8500 Mixed Signal Power Management chip" ...meaning that it currently is not being built as a module by anyone. Lets remove the modular code that is essentially orphaned, so that when reading the driver there is no doubt it is builtin-only. We explicitly disallow a driver unbind, since that doesn't have a sensible use case anyway, and it allows us to drop the ".remove" code for non-modular drivers. Since module_init was not in use by this code, the init ordering remains unchanged with this commit. We replace module.h with moduleparam.h ; the latter since this file was implicitly relying on getting it. We also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: ab3100-core: Make it explicitly non-modularPaul Gortmaker1-36/+3
The Kconfig currently controlling compilation of this code is: drivers/mfd/Kconfig:config AB3100_CORE drivers/mfd/Kconfig: bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions" ...meaning that it currently is not being built as a module by anyone. Lets remove the modular code that is essentially orphaned, so that when reading the driver there is no doubt it is builtin-only. In doing so, the debugfs unregister fcn becomes unused so we remove it too. We explicitly disallow a driver unbind, since that doesn't have a sensible use case anyway, and it allows us to drop the ".remove" code for non-modular drivers. Since module_init was not in use by this code, the init ordering remains unchanged with this commit. Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code. We also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: si476x-i2c: Fix spelling mistakes "Failet" and "gett"Colin Ian King1-1/+1
Trivial spelling mistake fixes in dev_err message. Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: arizona: Use irq_find_mapping when appropriateCharles Keepax1-4/+4
No need to use irq_create_mapping (although there is no issue with doing so) when we are only looking up an existing mapping. Just to streamline things a little and make the code a little more clear change some calls from irq_create_mapping to irq_find_mapping. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: wm8994-core: Don't use managed regulator bulk get APIViresh Kumar1-3/+11
The kernel WARNs and then crashes today if wm8994_device_init() fails after calling devm_regulator_bulk_get(). That happens because there are multiple devices involved here and the order in which managed resources are freed isn't correct. The regulators are added as children of wm8994->dev. Whereas, devm_regulator_bulk_get() receives wm8994->dev as the device, though it gets the same regulators which were added as children of wm8994->dev earlier. During failures, the children are removed first and the core eventually calls regulator_unregister() for them. As regulator_put() was never done for them (opposite of devm_regulator_bulk_get()), the kernel WARNs at WARN_ON(rdev->open_count); And eventually it crashes from debugfs_remove_recursive(). Fix the kernel warnings and crashes by using regulator_bulk_get() instead of devm_regulator_bulk_get() and explicitly freeing the supplies in exit paths. Tested on Exynos 5250, dual core ARM A15 machine. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: davinci_voicecodec: Tidyup header difinitionsKuninori Morimoto2-4/+1
mach/hardware.h is needed on C source code side, not header. And struct davinci_vc is duplicated definition. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: wm5102: Remove spurious trailing spacesRichard Fitzgerald1-706/+706
Remove the trailing spaces on the register default lines to stop checkpatch complaining. Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: sun4i-gpadc: Fix 'cast from pointer to integer of different size' warningLee Jones1-1/+1
When building for X86 using COMPILE_TEST we get this warning: ../drivers/mfd/sun4i-gpadc.c: In function ‘sun4i_gpadc_probe’: ../drivers/mfd/sun4i-gpadc.c:110:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] Since an integer and a pointer are difference sizes on 64bit architectures. Convert to case to a long instead. Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: axp20x-i2c: Add i2c-ids to fix module auto-loadingHans de Goede1-3/+4
The i2c subsys does not load modules by compatible, only by i2c-id, with e.g. a modalias of: "i2c:axp209". Populate the axp20x_i2c_id[] table with supported ids, so that module auto-loading will work. Reported-by: Dennis Gilmore <dennis@ausil.us> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: syscon: Support native-endian regmapsPaul Burton1-1/+3
The regmap devicetree binding documentation states that a native-endian property should be supported as well as big-endian & little-endian, however syscon in its duplication of the parsing of these properties omits support for native-endian. Fix this by setting REGMAP_ENDIAN_NATIVE when a native-endian property is found. Cc: linux-mips@linux-mips.org Cc: Arnd Bergmann <arnd@arndb.de> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Paul Burton <paul.burton@imgtec.com> Tested-by: Maciej W. Rozycki <macro@imgtec.com> Tested-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: rk808: RK818 uses DEV_OFF to power off suppliesJianhong Chen2-1/+23
DEV_OFF and DEV_OFF_RST functions for RK808 are designed error that only DEV_OFF_RST can power off supplies. RK818 has been fixed this issue, so that DEV_OFF is used to power off supplies. Signed-off-by: Jianhong Chen <chenjh@rock-chips.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: fsl-imx25-tsadc: Fix module autoload when registered via OFJavier Martinez Canillas1-0/+1
If the driver is built as a module, autoload won't work because the module alias information is not filled. So user-space can't match the registered device with the corresponding module. Export the module alias information using the MODULE_DEVICE_TABLE() macro. Before this patch: $ modinfo drivers/mfd/fsl-imx25-tsadc.ko | grep alias alias: platform:mx25-tsadc After this patch: $ modinfo drivers/mfd/fsl-imx25-tsadc.ko | grep alias alias: platform:mx25-tsadc alias: of:N*T*Cfsl,imx25-tsadcC* alias: of:N*T*Cfsl,imx25-tsadc Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: hi655x-pmic: Fix module autoload when registered via OFJavier Martinez Canillas1-0/+1
If the driver is built as a module, autoload won't work because the module alias information is not filled. So user-space can't match the registered device with the corresponding module. Export the module alias information using the MODULE_DEVICE_TABLE() macro. Before this patch: $ modinfo drivers/mfd/hi655x-pmic.ko | grep alias After this patch: $ modinfo drivers/mfd/hi655x-pmic.ko | grep alias alias: of:N*T*Chisilicon,hi655x-pmicC* alias: of:N*T*Chisilicon,hi655x-pmic Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: abx500-core: Allow driver to built if COMPILE_TEST is enabledJavier Martinez Canillas1-1/+1
The driver only has runtime but no build time dependency with ARCH_U300 || ARCH_U8500 So it can be built for testing purposes if COMPILE_TEST option is enabled. This is useful to have more build coverage and make sure that the driver is not affected by changes that could cause build regressions. Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: exynos-lpass: Add hardware dependencyJean Delvare1-0/+1
This driver is meant for Exynos systems so do not offer the option elsewhere unless build-testing. Cc: Inha Song <ideal.song@samsung.com> Cc: Beomho Seo <beomho.seo@samsung.com> Signed-off-by: Jean Delvare <jdelvare@suse.de> Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: tps65912: Move regmap config into core driverArnd Bergmann2-15/+18
When building with extra warnings enabled, most files including linux/mfd/tps65912.h warn about a static variable defined in the header: include/linux/mfd/tps65912.h:331:35: warning: 'tps65912_regmap_config' defined but not used [-Wunused-const-variable=] We also duplicate the data structure between the i2c and spi front-end drivers. Moving it into the driver code avoids the warning and the duplication. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: wm8994-core: Disable regulators before removing themViresh Kumar1-1/+1
The order in which resources were freed in wm8994_device_exit() isn't correct. The regulators are removed before they are disabled. Fix it by reordering code a bit, which makes it exact opposite of wm8994_device_init() as well. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: wm8994-core: Don't split lines unnecessarilyViresh Kumar1-4/+2
These can fit in a single line (80 columns), don't split lines unnecessarily. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: Enable compile testing for max77620 and max77686Krzysztof Kozlowski1-2/+2
The OF is not a strict build-time dependency so max77620 and max77686 can be compile tested to increase build coverage. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: tc3589x: Improve function-level documentationJulia Lawall1-2/+2
Use the correct function name in one case and adjust a variable name to that of the corresponding function parameter in another case. Issue detected using Coccinelle (http://coccinelle.lip6.fr/) Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-11-29mfd: Add support for Allwinner SoCs ADCQuentin Schulz4-0/+291
The Allwinner SoCs all have an ADC that can also act as a touchscreen controller and a thermal sensor. For now, only the ADC and the thermal sensor drivers are probed by the MFD, the touchscreen controller support will be added later. Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>