aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-07-19mfd: intel_soc_pmic_bxtwc: Use bits.h macros for all masksAndy Shevchenko1-10/+11
Currently we are using BIT(), but GENMASK(). Make use of the latter one as well (far less error-prone, far more concise). Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: intel_soc_pmic_bxtwc: Drop redundant ACPI_PTR()Andy Shevchenko1-1/+1
The driver depends on ACPI (via MFD_INTEL_PMC_BXT), ACPI_PTR() resolution is always the same. Otherwise a compiler may produce a warning. That said, the rule of thumb either ugly ifdeffery with ACPI_PTR or none should be used in a driver. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: intel_soc_pmic_bxtwc: Switch from CONFIG_PM_SLEEP guards to ↵Andy Shevchenko1-4/+3
pm_sleep_ptr() etc Letting the compiler remove these functions when the kernel is built without CONFIG_PM_SLEEP support is simpler and less error prone than the use of #ifdef based kernel configuration guards. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: intel_soc_pmic_bxtwc: Extend use of temporary variable for struct deviceAndy Shevchenko1-11/+8
Extend use of temporary variable for struct device to make code neater. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: intel_soc_pmic_bxtwc: Use dev_err_probe()Andy Shevchenko1-60/+26
Simplify the mux error path a bit by using dev_err_probe(). Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: intel_soc_pmic_bxtwc: Convert to use platform_get/set_drvdata()Andy Shevchenko1-2/+2
We have the specific helpers for platform device to set and get its driver data. Convert driver to use them instead of open coded variants. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: intel_soc_pmic_bxtwc: Create sysfs attributes using core driver's facilityAndy Shevchenko1-16/+7
Driver core takes care of sysfs attributes. Use this facility instead of doing it explicitly in ->probe() and ->remove(). Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: intel_soc_pmic_bxtwc: Don't shadow error codes in show()/store()Andy Shevchenko1-7/+9
kstrtox() along with regmap API can return different error codes based on circumstances. Don't shadow them when returning to the caller. While at it, remove rather confusing message from addr_store(). Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: intel-lpss: Add Intel Meteor Lake-P PCI IDsAndy Shevchenko1-0/+13
Add Intel Meteor Lake-P LPSS PCI IDs. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: mt6397: Add basic support for MT6331+MT6332 PMICAngeloGioacchino Del Regno7-1/+1388
Add support for the MT6331 PMIC with MT6332 Companion PMIC, found in MT6795 Helio X10 smartphone platforms. This combo has support for multiple devices but, for a start, only the following have been implemented: - Regulators (two instances, one in MT6331, one in MT6332) - RTC (MT6331) - Keys (MT6331) - Interrupts (MT6331 also dispatches MT6332's interrupts) There's more to be implemented, especially for MT6332, which will come at a later stage. Signed-off-by: AngeloGioacchino Del Regno <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: axp20x: Add AXP221/AXP223/AXP809 GPIO cellsSamuel Holland1-0/+9
These PMICs all contain a compatible GPIO controller. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Chen-Yu Tsai <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: ipaq-micro: Fix spelling mistake of "receive{d}"Zhang Jiaming1-2/+2
Change 'receieved' to 'received' and 'recieve' to 'receive'. Signed-off-by: Zhang Jiaming <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: db8500-prcmu: Drop duplicated word "the" in the commentsJiang Jian1-1/+1
There is an unexpected word "the" in the comments that needs to be dropped. Line 801: * This function sets the the operating point of the ARM. ------- Signed-off-by: Jiang Jian <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19dt-bindings: mfd: Add i.MX8qm/qxp Control and Status Registers module bindingLiu Ying1-0/+192
This patch adds bindings for i.MX8qm/qxp Control and Status Registers module. Signed-off-by: Liu Ying <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: intel_soc_pmic_chtwc: Switch from __maybe_unused to pm_sleep_ptr() etcAndy Shevchenko1-4/+4
Letting the compiler remove these functions when the kernel is built without CONFIG_PM_SLEEP support is simpler and less heavier for builds than the use of __maybe_unused attributes. Signed-off-by: Andy Shevchenko <[email protected]> Reviewed-by: Hans de Goede <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: intel_soc_pmic_chtwc: Use dev_err_probe()Andy Shevchenko1-12/+7
Simplify the mux error path a bit by using dev_err_probe(). Signed-off-by: Andy Shevchenko <[email protected]> Reviewed-by: Hans de Goede <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: tc6393xb: Make disable callback return voidUwe Kleine-König4-9/+5
All implementations return 0, so simplify accordingly. This is a preparation for making platform remove callbacks return void. Signed-off-by: Uwe Kleine-König <[email protected]> Reported-by: kernel test robot <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: dln2: Automatically detect and fill endpoint pointersAndy Shevchenko1-13/+4
The usb_find_common_endpoints() finds and fills the endpoints in accordance with their types. Use it to automatically detect and fill endpoint pointers. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19dt-bindings: mfd: mt6397: Add compatibles for MT6331 RTC and keysAngeloGioacchino Del Regno1-2/+5
The MT6331 PMIC provides many sub modules: regulators, audio codec, LED controller, keys, RTC and some GPIOs. It is always paired with a MT6332 Companion PMIC, which provides thermistors, WLEDs (display LED backlight), secondary AP cluster regulators, modem clocks, battery charger and fuel gauge. Add the necessary compatibles to start implementing the basics. Signed-off-by: AngeloGioacchino Del Regno <[email protected]> Acked-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19dt-bindings: mfd: qcom-pm8xxx: Update the maintainers sectionSatya Priya1-1/+1
Update the maintainers section with latest mail ID. Signed-off-by: Satya Priya <[email protected]> Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: pm8008: Remove driver data structure pm8008_dataLee Jones1-33/+20
Maintaining a local driver data structure that is never shared outside of the core device is an unnecessary complexity. Half of the attributes were not used outside of a single function, one of which was not used at all. The remaining 2 are generic and can be passed around as required. Signed-off-by: Lee Jones <[email protected]>
2022-07-19mfd: twl: Remove platform data supportUwe Kleine-König2-373/+5
There is no in-tree machine that provides a struct twl4030_platform_data since commit e92fc4f04a34 ("ARM: OMAP2+: Drop legacy board file for LDP"). So assume dev_get_platdata() returns NULL in twl_probe() and simplify accordingly. Signed-off-by: Uwe Kleine-König <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19dt-bindings: mfd: Add mp2733 compatibleSaravanan Sekar1-1/+3
Add new compatible for mp2733 mfd driver. Signed-off-by: Saravanan Sekar <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19dt-bindings: mfd: qcom,tcsr: Add qcom,tcsr-mdm9615Krzysztof Kozlowski1-0/+1
Document the (already used) TCSR on MDM9615. Signed-off-by: Krzysztof Kozlowski <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19dt-bindings: mfd: qcom,tcsr: Convert to dtschemaKrzysztof Kozlowski2-24/+49
Convert the Qualcomm Top Control and Status Register to DT Schema. Signed-off-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: cros_ec: Add SCP Core-1 as a new CrOS EC MCUTinghan Shen3-0/+8
MT8195 System Companion Processors(SCP) is a dual-core RISC-V MCU. Add a new CrOS feature ID to represent the SCP's 2nd core. The 1st core is referred to as 'core 0', and the 2nd core is referred to as 'core 1'. Signed-off-by: Tinghan Shen <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: mt6358-irq: Add MT6357 PMIC supportFabien Parent2-0/+25
Add MT6357 PMIC IRQ support. Signed-off-by: Fabien Parent <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: mt6397-core: Add MT6357 PMIC supportFabien Parent3-0/+1737
Adds support for PMIC keys, Regulator, and RTC for the MT6357 PMIC. Signed-off-by: Fabien Parent <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19dt-bindings: mfd: Add compatible for MT6331 PMICAngeloGioacchino Del Regno1-0/+1
Add a compatible for the MT6331 PMIC MFD device. Signed-off-by: AngeloGioacchino Del Regno <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19dt-bindings: mfd: stm32-timers: Document how to specify interruptsUwe Kleine-König1-0/+15
The timer units in the stm32mp1 CPUs have interrupts, depending on the timer flavour either one "global" or four dedicated ones. Document how to formalize these in a device tree. Signed-off-by: Uwe Kleine-König <[email protected]> Reviewed-by: Rob Herring <[email protected]> Reviewed-by: Fabrice Gasnier <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: max77620: Fix refcount leak in max77620_initialise_fpsMiaoqian Lin1-0/+2
of_get_child_by_name() returns a node pointer with refcount incremented, we should use of_node_put() on it when not need anymore. Add missing of_node_put() to avoid refcount leak. Fixes: 327156c59360 ("mfd: max77620: Add core driver for MAX77620/MAX20024") Signed-off-by: Miaoqian Lin <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19MAINTAINERS: Fix file entry for MAX77693 DTLukas Bulwahn1-1/+0
Commit b38213c6118b ("dt-bindings: mfd: maxim,max77693: Convert to dtschema") converts max77693.txt to maxim,max77693.yaml and adjusts the file entry in MAINTAINERS accordingly. Unfortunately, the merge commit afb67df31a8c ("Merge branches [...] into ibs-for-mfd-merged") resolves some conflict in MAINTAINERS in such a way that the file entry for the converted text file max77693.txt, removed in the commit above, is added back into MAINTAINERS. Remove the file entry to this converted text file in MAXIM PMIC AND MUIC DRIVERS FOR EXYNOS BASED BOARDS. Signed-off-by: Lukas Bulwahn <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19syscon: Use %pa to format the variable of resource_size_t typeAndy Shevchenko1-2/+1
Instead of explicit casting, use %pa specifier to format the variable of resource_size_t type. Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: tc6387xb: Drop disable callback that is never calledUwe Kleine-König2-2/+0
The driver never calls the disable callback, so drop the member from the platform struct and all callbacks from the actual platform datas. Signed-off-by: Uwe Kleine-König <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: t7l66xb: Drop platform disable callbackUwe Kleine-König2-6/+1
None of the in-tree instantiations of struct t7l66xb_platform_data provides a disable callback. So better don't dereference this function pointer unconditionally. As there is no user, drop it completely instead of calling it conditional. This is a preparation for making platform remove callbacks return void. Fixes: 1f192015ca5b ("mfd: driver for the T7L66XB TMIO SoC") Signed-off-by: Uwe Kleine-König <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: asic3: Make asic3_gpio_remove() return voidUwe Kleine-König1-6/+3
Up to now asic3_gpio_remove() returns zero unconditionally. This makes it easier to see in the caller that there is no error to handle. This is a preparation for making platform remove callbacks return void. Signed-off-by: Uwe Kleine-König <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19MAINTAINERS: Update Intel PMIC (MFD part) to SupportedAndy Shevchenko1-1/+1
The actual status of the code is Supported. Reported-by: Dave Hansen <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19dt-bindings: mfd: ti,j721e-system-controller: Add clock propertyRahul T R1-0/+12
Add a pattern property for clock-controller, also update the example with a clock-controller node Signed-off-by: Rahul T R <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19dt-bindings: mfd: Convert da9063 to yamlConor Dooley4-116/+133
Convert the dt binding for the da9063/da9063l to yaml. Signed-off-by: Conor Dooley <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19mfd: max77714: Update Luca Ceresoli's e-mail addressLuca Ceresoli2-3/+3
My Bootlin address is preferred from now on. Signed-off-by: Luca Ceresoli <[email protected]> Signed-off-by: Luca Ceresoli <[email protected]> Signed-off-by: Lee Jones <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-07-19Merge branches 'ib-mfd-acpi-for-rafael-5.20', ↵Lee Jones22-287/+567
'ib-mfd-edac-i2c-leds-pinctrl-platform-watchdog-5.20' and 'ib-mfd-soc-bcm-5.20' into ibs-for-mfd-merged
2022-07-14leds: simatic-ipc-leds-gpio: Add GPIO version of Siemens driverHenning Schild5-81/+117
On Apollo Lake the pinctrl drivers will now come up without ACPI. Use that instead of open coding it. Create a new driver for that which can later be filled with more GPIO based models, and which has different dependencies. Signed-off-by: Henning Schild <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2022-07-14platform/x86: simatic-ipc: drop custom P2SB bar codeHenning Schild2-40/+0
The two drivers that used to use this have been switched over to the common P2SB accessor, so this code is not needed any longer. Signed-off-by: Henning Schild <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Reviewed-by: Hans de Goede <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2022-07-14leds: simatic-ipc-leds: Convert to use P2SB accessorHenning Schild2-7/+8
Since we have a common P2SB accessor in tree we may use it instead of open coded variants. Replace custom code by p2sb_bar() call. Signed-off-by: Henning Schild <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2022-07-14watchdog: simatic-ipc-wdt: convert to use P2SB accessorHenning Schild2-7/+9
Since we have a common P2SB accessor in tree we may use it instead of open coded variants. Replace custom code by p2sb_bar() call. Signed-off-by: Henning Schild <[email protected]> Acked-by: Guenter Roeck <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2022-07-14EDAC, pnd2: convert to use common P2SB accessorAndy Shevchenko2-39/+17
Since we have a common P2SB accessor in tree we may use it instead of open coded variants. Replace custom code by p2sb_bar() call. Signed-off-by: Andy Shevchenko <[email protected]> Tested-by: Henning Schild <[email protected]> Reviewed-by: Tony Luck <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2022-07-14EDAC, pnd2: Use proper I/O accessors and address space annotationAndy Shevchenko1-3/+4
The driver uses rather voodoo kind of castings and I/O accessors. Replace it with proper __iomem annotation and readl()/readq() calls. Signed-off-by: Andy Shevchenko <[email protected]> Tested-by: Henning Schild <[email protected]> Reviewed-by: Tony Luck <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2022-07-14i2c: i801: convert to use common P2SB accessorAndy Shevchenko3-30/+16
Since we have a common P2SB accessor in tree we may use it instead of open coded variants. Replace custom code by p2sb_bar() call. Signed-off-by: Andy Shevchenko <[email protected]> Tested-by: Henning Schild <[email protected]> Acked-by: Hans de Goede <[email protected]> Acked-by: Linus Walleij <[email protected]> Reviewed-by: Jean Delvare <[email protected]> Acked-by: Wolfram Sang <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2022-07-14mfd: lpc_ich: Add support for pinctrl in non-ACPI systemTan Jui Nee1-1/+104
Add support for non-ACPI systems, such as system that uses Advanced Boot Loader (ABL) whereby a platform device has to be created in order to bind with pin control and GPIO. At the moment, Intel Apollo Lake In-Vehicle Infotainment (IVI) system requires a driver to hide and unhide P2SB to lookup P2SB BAR and pass the PCI BAR address to GPIO. Signed-off-by: Tan Jui Nee <[email protected]> Co-developed-by: Andy Shevchenko <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Tested-by: Henning Schild <[email protected]> Acked-by: Hans de Goede <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2022-07-14mfd: lpc_ich: Switch to generic p2sb_bar()Andy Shevchenko2-19/+9
Instead of open coding p2sb_bar() functionality we are going to use generic library. There is one more user en route. This is more than just a clean-up. It also fixes a potential issue seen when SPI BAR is 64-bit. The current code works if and only if the PCI BAR of the hidden device is inside 4G address space. In case when firmware decides to go above 4G, we will get a wrong address. Signed-off-by: Andy Shevchenko <[email protected]> Tested-by: Henning Schild <[email protected]> Acked-by: Hans de Goede <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Lee Jones <[email protected]>