summaryrefslogtreecommitdiffstats
path: root/drivers/mfd (follow)
Commit message (Collapse)AuthorAgeFilesLines
* mfd: db8500-prcmu: Fix multiple incorrectly documented function namesLee Jones2021-06-021-3/+3
| | | | | | | | | | | | | | | | Fixes the following W=1 kernel build warning(s): drivers/mfd/db8500-prcmu.c:624: warning: expecting prototype for prcmu_get_current_mode(). Prototype was for prcmu_get_xp70_current_state() instead drivers/mfd/db8500-prcmu.c:908: warning: expecting prototype for db8500_set_ape_opp(). Prototype was for db8500_prcmu_set_ape_opp() instead drivers/mfd/db8500-prcmu.c:2303: warning: expecting prototype for db8500_prcmu_reset_modem(). Prototype was for db8500_prcmu_modem_reset() instead Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Lee Jones <lee.jones@linaro.org> Cc: Kumar Sanghvi <kumar.sanghvi@stericsson.com> Cc: Sundar Iyer <sundar.iyer@stericsson.com> Cc: Mattias Nilsson <mattias.i.nilsson@stericsson.com> Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: twl-core: Fix incorrect function name twl_regcache_bypass()Lee Jones2021-06-021-1/+1
| | | | | | | | | | | | | Fixes the following W=1 kernel build warning(s): drivers/mfd/twl-core.c:496: warning: expecting prototype for twl_regcache_bypass(). Prototype was for twl_set_regcache_bypass() instead Cc: Tony Lindgren <tony@atomide.com> Cc: Lee Jones <lee.jones@linaro.org> Cc: Kai Svahn <kai.svahn@nokia.com> Cc: syed khasim <x0khasim@ti.com> Cc: linux-omap@vger.kernel.org Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: wm831x-core: Fix incorrect function name wm831x_reg_unlock()Lee Jones2021-06-021-1/+1
| | | | | | | | | | | Fixes the following W=1 kernel build warning(s): drivers/mfd/wm831x-core.c:121: warning: expecting prototype for wm831x_reg_unlock(). Prototype was for wm831x_reg_lock() instead Cc: Lee Jones <lee.jones@linaro.org> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: patches@opensource.cirrus.com Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: ioc3: Directly include linux/irqdomain.hMarc Zyngier2021-06-021-0/+1
| | | | | | | | | | This driver include linux/irqdomain.h via a bizarre set of indirection, which we are about to break. Directly include the required file. Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: axp20x: Allow AXP 806 chips without interrupt linesAndre Przywara2021-06-021-7/+17
| | | | | | | | | | | | | | | | | | Currently the AXP chip requires to have its IRQ line connected to some interrupt controller, and will fail probing when this is not the case. On a new Allwinner SoC (H616) there is no NMI pin anymore, and at least one board does not connect the AXP's IRQ pin to anything else, so the interrupt functionality of the AXP chip is simply not available. Check whether the interrupt line number returned by the platform code is valid, before trying to register the irqchip. If not, we skip this registration, to avoid the driver to bail out completely. Also we need to skip the power key functionality, as this relies on a valid IRQ as well. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: mt6360: Merge different sub-devices I2C read/writeGene Chen2021-06-022-23/+181
| | | | | | | | Merge different sub-devices I2C read/write functions into one Regmap, because PMIC and LDO part need CRC bits for access protection. Signed-off-by: Gene Chen <gene_chen@richtek.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: mt6360: Merge header file into driver and remove unuse register defineGene Chen2021-06-021-1/+47
| | | | | | | Merge header file into driver and remove unuse register define Signed-off-by: Gene Chen <gene_chen@richtek.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: mt6360: Fix flow which is used to check ic existGene Chen2021-06-021-11/+21
| | | | | | | Fix flow which is used to check ic exist. Signed-off-by: Gene Chen <gene_chen@richtek.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: mt6360: Remove handle_post_irq callback functionGene Chen2021-06-021-13/+4
| | | | | | | | Remove handle_post_irq which is used to retrigger IRQ. Set IRQ level low trigger in dtsi to keep IRQ always be handled. Signed-off-by: Gene Chen <gene_chen@richtek.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: mt6360: Rename mt6360_pmu by mt6360Gene Chen2021-06-021-21/+20
| | | | | | | | Rename mt6360_pmu by mt6360, because of including not only PMU part, but also entire MT6360 IC Signed-off-by: Gene Chen <gene_chen@richtek.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: mt6360: Rename mt6360_pmu_data by mt6360_ddataGene Chen2021-06-021-22/+22
| | | | | | | | Rename mt6360_pmu_data by mt6360_ddata because of including not only PMU part, but also entire MT6360 IC. Signed-off-by: Gene Chen <gene_chen@richtek.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: mt6360: Combine mt6360 pmic/ldo resources into mt6360 regulator resourcesGene Chen2021-06-021-8/+2
| | | | | | | | Combine mt6360 pmic/ldo resources into mt6360 regulator resources to simplify the similar resources object. Signed-off-by: Gene Chen <gene_chen@richtek.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: mt6360: Indicate sub-dev compatible name by using "-"Gene Chen2021-06-021-12/+12
| | | | | | | Indicate sub-dev compatible name by using "-". Signed-off-by: Gene Chen <gene_chen@richtek.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: mt6360: Remove redundant brackets around raw numbersGene Chen2021-06-021-86/+86
| | | | | | | Remove redundant brackets around raw numbers. Signed-off-by: Gene Chen <gene_chen@richtek.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: mt6360: Rearrange include fileGene Chen2021-06-021-2/+3
| | | | | | | Rearrange include file without sorting by alphabet. Signed-off-by: Gene Chen <gene_chen@richtek.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: rt4831: Adds support for Richtek RT4831ChiYuan Huang2021-06-023-0/+126
| | | | | | | | This adds support Richtek RT4831 core. It includes four channel WLED driver and Display Bias Voltage outputs. Signed-off-by: ChiYuan Huang <cy_huang@richtek.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: rn5t618: Fix IRQ trigger by changing it to level modeAndreas Kemnade2021-06-021-1/+1
| | | | | | | | | | | During more massive generation of interrupts, the IRQ got stuck, and the subdevices did not see any new interrupts. That happens especially at wonky USB supply in combination with ADC reads. To fix that trigger the IRQ at level low instead of falling edge. Fixes: 0c81604516af ("mfd: rn5t618: Add IRQ support") Signed-off-by: Andreas Kemnade <andreas@kemnade.info> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: max8907: Move to use request_irq by IRQF_NO_AUTOEN flagTian Tao2021-06-021-4/+2
| | | | | | | This change is just to simplify the code, no actual functional changes. Signed-off-by: Tian Tao <tiantao6@hisilicon.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: lp87565: Handle optional reset pinLuca Ceresoli2021-06-021-0/+27
| | | | | | | | Optionally handle the NRST pin (active low reset) in order to start from a known state during boot and to shut down the chip when rebooting. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: da9052/stmpe: Add and modify MODULE_DEVICE_TABLEZou Wei2021-06-022-1/+2
| | | | | | | | | | This patch adds/modifies MODULE_DEVICE_TABLE definition which generates correct modalias for automatic loading of this driver when it is built as an external module. Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Zou Wei <zou_wei@huawei.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: syscon: Free the allocated name field of struct regmap_configLimeng2021-06-021-1/+1
| | | | | | | | | | | | | | | | | | The commit 529a1101212a("mfd: syscon: Don't free allocated name for regmap_config") doesn't free the allocated name field of struct regmap_config, but introduce a memory leak. There is another commit 94cc89eb8fa5("regmap: debugfs: Fix handling of name string for debugfs init delays") fixing this debugfs init issue from root cause. With this fixing, the name field in struct regmap_debugfs_node is removed. When initialize debugfs for syscon driver, the name field of struct regmap_config is not used anymore. So, the allocated name field of struct regmap_config is need to be freed directly after regmap initialization to avoid memory leak. Cc: stable@vger.kernel.org Fixes: 529a1101212a("mfd: syscon: Don't free allocated name for regmap_config") Signed-off-by: Meng Li <Meng.Li@windriver.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: Remove software node conditionally and locate at right placeAndy Shevchenko2021-06-021-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently the software node is removed in error case and at ->remove() stage unconditionally, that ruins the symmetry. Besides, in some cases, when mfd_add_device() fails, the device_remove_software_node() call may lead to NULL pointer dereference: BUG: kernel NULL pointer dereference, address: 00000000 ... EIP: strlen+0x12/0x20 ... kernfs_name_hash+0x13/0x70 kernfs_find_ns+0x32/0xc0 kernfs_remove_by_name_ns+0x2a/0x90 sysfs_remove_link+0x16/0x30 software_node_notify.cold+0x34/0x6b device_remove_software_node+0x5a/0x90 mfd_add_device.cold+0x30a/0x427 Fix all these by guarding device_remove_software_node() with a conditional and locating it at the right place. Fixes: 42e59982917a ("mfd: core: Add support for software nodes") Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: wcd934x: Add additional interrupts required for MBHC supportSrinivas Kandagatla2021-06-021-0/+7
| | | | | | | | | | WCD934x supports Multi Button Headset control which enable headset detection along with headset button detection. This patch adds interrupts required for MBHC functionality. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: wcd934x: Add macro for adding new interruptsSrinivas Kandagatla2021-06-021-26/+17
| | | | | | | | | | | | | | | | | | Currently only two interrupts supported is added in wcd934x interrupt controller, however if we are adding more interrupts the file will become too much unreadable. So add a macro to make adding new interrupts easy and also convert existing slim and soundwire interrupts to use it. This is in preparation to enable Multi Button Headset Control support on this codec. WCD934x supports Multi Button Headset control which enable headset detection along with headset button detection. This patch adds interrupts required for MBHC functionality. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: si476x-cmd: Fix two typos of 'returned'Jian Dong2021-06-021-2/+2
| | | | | | | Fix two typos retured --> returned Signed-off-by: Jian Dong <dongjian@yulong.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: mt6397: Add PMIC keys for MT6358Mattijs Korpershoek2021-06-021-0/+12
| | | | | | | | | | | Add compatible strings and interrupts for pmic keys which serves as child device of MFD. MT6358 has two interrupts per key: one for press, another one for release (_R) Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: mt6397: Use named IRQs instead of index (keys)Mattijs Korpershoek2021-06-021-4/+4
| | | | | | | | | | | | | | | | | | | Some pmics of the mt6397 family (such as MT6358), have two IRQs per physical key: one for press event, another for release event. The mtk-pmic-keys driver assumes that each key only has one IRQ. The key index and the RES_IRQ resource index have a 1/1 mapping. This won't work for MT6358, as we have multiple resources (2) for one key. To prepare mtk-pmic-keys to support MT6358, retrieve IRQs by name instead of by index. Note: The keys_resources are not part of the device-tree bindings so this won't break any DT schemas. Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: mp2629: Select MFD_CORE to fix build errorRandy Dunlap2021-06-021-0/+1
| | | | | | | | | | MFD_MP2629 should select MFD_CORE to a prevent build error: ERROR: modpost: "devm_mfd_add_devices" [drivers/mfd/mp2629.ko] undefined! Fixes: 06081646450e ("mfd: mp2629: Add support for mps battery charger") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: intel-lpss: Add Intel Alder Lake-M PCI IDsAndy Shevchenko2021-06-021-0/+13
| | | | | | | Add Intel Alder Lake-M LPSS PCI IDs. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
*-. Merge tags 'tb-mfd-asoc-v5.14-1', 'tb-mfd-gpio-regulator-v5.14' and ↵Lee Jones2021-06-022-27/+86
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 'tb-mfd-regulator-rtc-v5.14' into ibs-for-mfd-merged Immutable branch between MFD and ASoC due for the v5.14 merge window Immutable branch between MFD, GPIO and Regulator due for the v5.14 merge window Immutable branch between MFD, Regulator and RTC due for the v5.14 merge window
| | * mfd: Add support for the MediaTek MT6359 PMICHsin-Hsiung Wang2021-06-012-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the MediaTek MT6359 PMIC. This is a multifunction device with the following sub modules: - Codec - Interrupt - Regulator - RTC It is interfaced to the host controller using SPI interface by a proprietary hardware called PMIC wrapper or pwrap. MT6359 MFD is a child device of the pwrap. Signed-off-by: Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| | * mfd: mt6358: Refine interrupt codeHsin-Hsiung Wang2021-06-011-27/+38
| |/ | | | | | | | | | | | | This patch refines the interrupt related code to support new chips. Signed-off-by: Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* / mfd: Add Rockchip rk817 audio CODEC supportChris Morgan2021-06-011-0/+81
|/ | | | | | | | Add rk817 codec support cell to rk808 mfd driver. Signed-off-by: Chris Morgan <macromorgan@hotmail.com> Tested-by: Maciej Matuszczyk <maccraft123mc@gmail.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* Merge tag 'mfd-next-5.13' of ↵Linus Torvalds2021-04-2930-1542/+1468
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd Pull MFD updates from Lee Jones: "Core Framework: - Add support for Software Nodes to MFD Core - Remove support for Device Properties from MFD Core - Use standard APIs in MFD Core New Drivers: - Add support for ROHM BD9576MUF and BD9573MUF PMICs - Add support for Netronix Embedded Controller, PWM and RTC - Add support for Actions Semi ATC260x PMICs and OnKey New Device Support: - Add support for DG1 PCIe Graphics Card to Intel PMT - Add support for ROHM BD71815 PMIC to ROHM BD71828 - Add support for Tolino Shine 2 HD to Netronix Embedded Controller - Add support for AX10 BMC Secure Updates to Intel M10 BMC Removed Device Support: - Remove Arizona Extcon support from MFD - Remove ST-E AB8500 Power Supply code from MFD - Remove AB3100 altogether New Functionality: - Add support for SMBus and I2C modes to Dialog DA9063 - Switch to using Software Nodes in Intel (various) New/converted Device Tree bindings: - rohm bd71815-pmic, rohm bd9576-pmic, netronix ntxec, actions atc260x, ricoh rn5t618, qcom pm8xxx - Fix-ups: - Fix error handling/path; intel_pmt - Simplify code; rohm-bd718x7, ab8500-core, intel-m10-bmc - Trivial clean-ups (reordering, spelling); rohm-generic, rn5t618, max8997 - Use correct data-type; db8500-prcmu - Remove superfluous code; lp87565, intel_quark_i2c_gpi, lpc_sch, twl - Use generic APIs/defines; lm3533-core, intel_quark_i2c_gpio - Regmap related fix-ups; intel-m10-bmc, sec-core - Reorder resource freeing during remove; intel_quark_i2c_gpio - Make table indexing more robust; intel_quark_i2c_gpio - Fix reference imbalances; arizona-irq - Staticify and (un)constify things; arizona-spi, stmpe, ene-kb3930, intel-lpss-acpi, intel-lpss-pci, atc260x-i2c, intel_quark_i2c_gpio Bug Fixes: - Fix incorrect (register) values; intel-m10-bmc - Kconfig related fixes; ABX500_CORE - Do not clear the Auto Reload Register; stm32-timers" * tag 'mfd-next-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (84 commits) mfd: intel-m10-bmc: Add support for MAX10 BMC Secure Updates Revert "mfd: max8997: Add of_compatible to Extcon and Charger mfd_cell" mfd: twl: Remove unused inline function twl4030charger_usb_en() dt-bindings: mfd: Convert pm8xxx bindings to yaml dt-bindings: mfd: Add compatible for pmk8350 rtc i2c: designware: Get rid of legacy platform data mfd: intel_quark_i2c_gpio: Convert I²C to use software nodes mfd: lpc_sch: Partially revert "Add support for Intel Quark X1000" mfd: arizona: Fix rumtime PM imbalance on error mfd: max8997: Replace 8998 with 8997 mfd: core: Use acpi_find_child_device() for child devices lookup mfd: intel_quark_i2c_gpio: Don't play dirty trick with const mfd: intel_quark_i2c_gpio: Enable MSI interrupt mfd: intel_quark_i2c_gpio: Reuse BAR definitions for MFD cell indexing mfd: ntxec: Support for EC in Tolino Shine 2 HD mfd: stm32-timers: Avoid clearing auto reload register mfd: intel_quark_i2c_gpio: Replace I²C speeds with descriptive definitions mfd: intel_quark_i2c_gpio: Remove unused struct device member mfd: intel_quark_i2c_gpio: Unregister resources in reversed order mfd: Kconfig: ABX500_CORE should depend on ARCH_U8500 ...
| * Revert "mfd: max8997: Add of_compatible to Extcon and Charger mfd_cell"Timon Baetz2021-04-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9c03008da125c1007919a9186628af3cc105f526. commit 41a8a027f4d3 ("regulator: dt-bindings: Document charger-supply for max8997") introduced a binding which uses a property of the max8997 pmic node to configure charger supply, making subnodes for MFD cells obsolete. Signed-off-by: Timon Baetz <timon.baetz@protonmail.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: intel_quark_i2c_gpio: Convert I²C to use software nodesAndy Shevchenko2021-04-141-15/+26
| | | | | | | | | | | | | | | | | | | | | | The driver can provide a software node group instead of passing legacy platform data. This will allow to drop the legacy platform data structures along with unifying a child device driver to use same interface for all property providers, i.e. Device Tree, ACPI, and board files. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: lpc_sch: Partially revert "Add support for Intel Quark X1000"Andy Shevchenko2021-04-141-26/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | The IRQ support for SCH GPIO is not specific to the Intel Quark SoC. Moreover the IRQ routing is quite interesting there, so while it's needs a special support, the driver haven't it anyway yet. Due to above remove basically redundant code of IRQ support. This reverts commit ec689a8a8155ce8b966bd5d7737a3916f5e48be3. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: arizona: Fix rumtime PM imbalance on errorDinghao Liu2021-04-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | pm_runtime_get_sync() will increase the rumtime PM counter even it returns an error. Thus a pairing decrement is needed to prevent refcount leak. Fix this by replacing this API with pm_runtime_resume_and_get(), which will not change the runtime PM counter on error. Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: core: Use acpi_find_child_device() for child devices lookupAndy Shevchenko2021-04-141-17/+5
| | | | | | | | | | | | | | | | | | | | | | | | Use acpi_find_child_device() for child devices lookup in mfd_acpi_add_device() instead of open coded approach. No functional change intended. While at it, amend a note comment, since usage of _ADR is found on other platforms and tables than Intel Galileo Gen 2, in particular USB wired devices are using it, according to Microsoft specifications for embedded platforms. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: intel_quark_i2c_gpio: Don't play dirty trick with constAndy Shevchenko2021-04-141-14/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As Linus rightfully noticed, the driver plays dirty trick with const, i.e. it assigns a place holder data structure to the const field in the MFD cell and then drops the const by explicit casting. This is not how it should be. Assign local pointers of the cell and resource to the respective non-const place holders in the intel_quark_i2c_setup() and intel_quark_gpio_setup(). Reported-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: intel_quark_i2c_gpio: Enable MSI interruptAndy Shevchenko2021-04-141-6/+16
| | | | | | | | | | | | | | Allow interrupts to be MSI if supported by hardware. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: intel_quark_i2c_gpio: Reuse BAR definitions for MFD cell indexingAndy Shevchenko2021-04-141-11/+11
| | | | | | | | | | | | | | | | | | It's convenient and less error prone to use definitions to address different cells in an array. For this purpose we may reuse existing BAR definitions. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: ntxec: Support for EC in Tolino Shine 2 HDAndreas Kemnade2021-04-141-3/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the version of the EC in the Tolino Shine 2 HD to the supported versions. It seems not to have an RTC and does not ack data written to it. The vendor kernel happily ignores write errors, using I2C via userspace i2c-set also shows the error. So add a quirk to ignore that error. PWM can be successfully configured despite of that error. Signed-off-by: Andreas Kemnade <andreas@kemnade.info> Reviewed-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: stm32-timers: Avoid clearing auto reload registerFabrice Gasnier2021-04-141-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ARR register is cleared unconditionally upon probing, after the maximum value has been read. This initial condition is rather not intuitive, when considering the counter child driver. It rather expects the maximum value by default: - The counter interface shows a zero value by default for 'ceiling' attribute. - Enabling the counter without any prior configuration makes it doesn't count. The reset value of ARR register is the maximum. So Choice here is to backup it, and restore it then, instead of clearing its value. It also fixes the initial condition seen by the counter driver. Fixes: d0f949e220fd ("mfd: Add STM32 Timers driver") Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com> Acked-by: William Breathitt Gray <vilhelm.gray@gmail.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: intel_quark_i2c_gpio: Replace I²C speeds with descriptive definitionsAndy Shevchenko2021-04-141-4/+5
| | | | | | | | | | | | | | | | I²C header provides a descriptive definitions for standard bus speeds. Use them instead of plain numbers. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: intel_quark_i2c_gpio: Remove unused struct device memberAndy Shevchenko2021-04-141-2/+0
| | | | | | | | | | | | | | | | The device pointer in the custom structure is not used anywhere, remove it for good. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: intel_quark_i2c_gpio: Unregister resources in reversed orderAndy Shevchenko2021-04-141-1/+1
| | | | | | | | | | | | | | | | In ->remove() unregister resources in reversed order, i.e. MFD devices first followed by I²C clock. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: Kconfig: ABX500_CORE should depend on ARCH_U8500Geert Uytterhoeven2021-04-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The ST-Ericsson ABX500 Mixed Signal IC family chips are only present on ST-Ericsson U8500 Series platforms. Hence add a dependency on ARCH_U8500, to prevent asking the user about this driver when configuring a kernel without U8500 support. Also, merely enabling CONFIG_COMPILE_TEST should not enable additional code, and thus should not enable this driver by default. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: rn5t618: Do not cache various USB related registersAndreas Kemnade2021-04-141-0/+3
| | | | | | | | | | | | | | | | | | These register get reset to their OTP defaults after USB plugging. And while at it, also add a missing register for detecting the charger type. Signed-off-by: Andreas Kemnade <andreas@kemnade.info> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: Make symbol 'atc260x_i2c_of_match' staticWei Yongjun2021-04-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sparse tool complains as follows: drivers/mfd/atc260x-i2c.c:45:27: warning: symbol 'atc260x_i2c_of_match' was not declared. Should it be static? This symbol is not used outside of atc260x-i2c.c, so this commit marks it static. Fixes: f7cb7fe34db9 ("mfd: Add MFD driver for ATC260x PMICs") Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>