aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-08-24mfd: cros_ec: spi: Add OF match tableJavier Martinez Canillas1-0/+7
The Documentation/devicetree/bindings/mfd/cros-ec.txt DT binding doc lists "google,cros-ec-spi" as a compatible string but the corresponding driver does not have an OF match table. Add the table to the driver so the SPI core can do an OF style match. Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-24mfd: stmpe: Add OF match tableJavier Martinez Canillas1-0/+13
The Documentation/devicetree/bindings/mfd/stmpe.txt DT binding doc lists "st,stmpe[610|801|811|1601|2401|2403]" as valid compatible strings but the corresponding driver does not have an OF match table. Add the table to the driver so the SPI core can do an OF style match. Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-24mfd: max77686: Split out regulator part from the DT bindingJavier Martinez Canillas2-56/+75
The Maxim MAX77686 PMIC is a multi-function device with regulators, clocks and a RTC. The DT bindings for the clocks are in a separate file but the bindings for the regulators are inside the mfd part. To make it consistent with the clocks portion of the binding and because is more natural to look for regulator bindings under the bindings/regulator sub-directory, split the regulator portion of the DT binding and add it as a separate file. Signed-off-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-24mfd: Add DT binding for Maxim MAX77802 ICJavier Martinez Canillas1-0/+26
The MAX77802 is a chip that contains regulators, 2 32kHz clocks, a RTC and an I2C interface to program the individual components. The are already DT bindings for the regulators and clocks and these reference to a bindings/mfd/max77802.txt file, that didn't exist, for the details about the PMIC. Signed-off-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-24mfd: max77686: Use a generic name for the PMIC node in the exampleJavier Martinez Canillas1-1/+1
The ePAPR standard says that: "the name of a node should be somewhat generic, reflecting the function of the device and not its precise programming model." So, change the max77686 binding document example to use a generic node name instead of using the chip's name. Suggested-by: Sergei Shtylyov <[email protected]> Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-24mfd: max77686: Don't suggest in binding to use a deprecated propertyJavier Martinez Canillas1-7/+4
The regulator-compatible property from the regulator DT binding was deprecated. But the max77686 DT binding doc still suggest to use it instead of the regulator node name's which is the correct approach. Signed-off-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-24mfd: Add MFD_CROS_EC dependenciesJavier Martinez Canillas1-0/+1
The MFD_CROS_EC symbol select CHROME_PLATFORMS and CROS_EC_PROTO but that caused a Kconfig unmet direct dependencies warning since these symbols could only be selected for X86 || ARM. The fix it, the CHROME_PLATFORMS dependencies were relexed on commit d12bbcd3ea44 ("platform/chrome: Don't make CHROME_PLATFORMS depends on X86 || ARM") but that was found to be wrong and the correct fix is to add the needed dependencies to the MFD_CROS_EC config symbol. There are only x86 and ARM based Chromebooks so to avoid showing up the config option on unsupported platforms, make the symbol depend on these architectures. Also add a || COMPILE_TEST so it can have build coverage on other platforms. Suggested-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-24mfd: cros_ec: Remove CROS_EC_PROTO dependency for SPI and I2C driversJavier Martinez Canillas1-2/+2
The ChromeOS EC SPI and I2C transport drivers depends on CROS_EC_PROTO but MFD_CROS_EC select CROS_EC_PROTO instead. Mixing select and depends on is bad practice as it may lead to circular Kconfig dependencies. Since these drivers already depend on MFD_CROS_EC and that config option already selects CROS_EC_PROTO, there is no need to make them explicitly depend on CROS_EC_PROTO since that dependency is already met. Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-12mfd: axp20x: Add a cell for the usb power_supply part of the axp20x PMICsHans de Goede1-4/+16
Add a cell for the usb power_supply part of the axp20x PMICs. Note that this cell is only for the usb power_supply part and not the ac-power / battery-charger / rtc-backup-bat-charger bits. Depending on the board each of those must be enabled / disabled separately in devicetree as most boards do not use all 4. So in dt each one needs its own child-node of the axp20x node. Another reason for using separate child nodes for each is so that other devicetree nodes can have a power-supply property with a phandle referencing a node representing a single power-supply. The decision to use a separate devicetree node for each is reflected on the kernel side by each getting its own mfd-cell / platform_device and platform-driver. Note this commit also makes some whitespace changes to the intialization of existing cells in axp20x_cells, these are pure whitespace changes, functionally nothing changes. Signed-off-by: Bruno Prémont <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-12mfd: axp20x: Add missing registers, and mark more registers volatileBruno Prémont2-1/+13
Add an extra set of registers which is necessary tu support the PMICs battery charger function, and mark registers which contain status bits, gpio status, and adc readings as volatile. Signed-off-by: Bruno Prémont <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-12mfd: arizona: Fixup some formatting/white space errorsCharles Keepax1-17/+16
Clear out a few checkpatch warnings and white space errors. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: wm8994: Fix NULL pointer exception on missing pdataInha Song1-1/+1
If we use the dev_get_platdata, pdata can be NULL in DT environments. Actually, NULL pointer exception is occurs with error messages like this: [ 1.226583] Unable to handle kernel NULL pointer dereference at virtual address 00000044 [ 1.467910] [<c02f1e38>] (wm8994_irq_init) from [<c02f1bd4>] (wm8994_i2c_probe+0x684/0x858) [ 1.476241] [<c02f1bd4>] (wm8994_i2c_probe) from [<c0371c78>] (i2c_device_probe+0x11c/0x17c) In wm8994-core, we already checked whether platform data is NULL and set the wm8994->pdata to platform data if platform data is not NULL. So, we can use wm8994->pdata instead of platform data. Signed-off-by: Inha Song <[email protected]> Acked-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11of: Add vendor prefix for NuvotonConstantine Shulyupin1-0/+1
Signed-off-by: Constantine Shulyupin <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: mt6397: Implement wake handler and suspend/resume to handle wake up eventHenry Chen2-0/+50
Implement .irq_set_wake() to get who is wakeup source and setup on suspend/reumse. Enable mt6393_irq as wake up source properly to pinctrl by enable_irq_wake()/enable_irq_wake(). Signed-off-by: Henry Chen <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: atmel-hlcdc: Add support for new SoCsBoris Brezillon2-0/+8
Add the compatible strings for the at91sam9x5, at91sam9n12, sama5d4 and sama5d2 SoCs. Update the documentation accordingly. Signed-off-by: Boris Brezillon <[email protected]> Signed-off-by: Nicolas Ferre <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: Export OF module alias information in missing driversJavier Martinez Canillas3-0/+3
The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: stw481x: Export I2C module alias informationJavier Martinez Canillas1-0/+1
The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: da9062: Support for the DA9063 OnKey in the DA9062 coreS Twiss1-0/+10
Add MFD core driver support for a OnKey component - MFD core adds the resource da9062_onkey_resources[] for the OnKey - An appropriate value has been added into mfd_cell da9062_devs[] to support component .name = "da9062-onkey" and .of_compatible = "dlg,da9062-onkey" Signed-off-by: Steve Twiss <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: max899x: Avoid redundant irq_data lookupThomas Gleixner2-10/+6
It's pretty silly to do irq_data *d = irq_get_irq_data(irq_data->irq); because that results in d = irq_data, but goes through a lookup of the irq_data. Use irq_data directly. Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: ucb1x00: Prepare ucb1x00_irq for irq argument removalThomas Gleixner1-2/+2
irq is incremented for no value in the for loop. Remove it. Search and update was done with coccinelle and the invaluable help of Julia Lawall. Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: Use irq_desc_get_xxx() to avoid redundant lookup of irq_descJiang Liu6-12/+12
Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Do the same change to avoid the pattern "irq_get_chip_data(data->irq)". Signed-off-by: Jiang Liu <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: tc6393xb: Consolidate chained IRQ handler install/removeThomas Gleixner1-4/+3
Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: t7l66xb: Consolidate chained IRQ handler install/removeThomas Gleixner1-4/+2
Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: pm8921: Consolidate chained IRQ handler install/removeThomas Gleixner1-6/+3
Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Reported-by: Russell King <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: jz4740: Consolidate chained IRQ handler install/removeThomas Gleixner1-4/+2
Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: htc-egpio: Consolidate chained IRQ handler install/removeThomas Gleixner1-2/+2
Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: ezx-pcap: Consolidate chained IRQ handler install/removeThomas Gleixner1-2/+1
Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: Kill off set_irq_flags usageRob Herring27-139/+17
set_irq_flags is ARM specific with custom flags which have genirq equivalents. Convert drivers to use the genirq interfaces directly, so we can kill off set_irq_flags. The translation of flags is as follows: IRQF_VALID -> !IRQ_NOREQUEST IRQF_PROBE -> !IRQ_NOPROBE IRQF_NOAUTOEN -> IRQ_NOAUTOEN For IRQs managed by an irqdomain, the irqdomain core code handles clearing and setting IRQ_NOREQUEST already, so there is no need to do this in .map() functions and we can simply remove the set_irq_flags calls. Some users also modify IRQ_NOPROBE and this has been maintained although it is not clear that is really needed. There appears to be a great deal of blind copy and paste of this code. Signed-off-by: Rob Herring <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: ipaq-micro: Convert to built-in platform driverLinus Walleij1-23/+4
Signal that this is a built-in driver and call its probe function immediately on init. Suppress binding attributes and delete the .remove() function since it is never unloaded. Tag probe() and functions only called from probe() with __init. Delete all module macros since this is a pure built-in. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: ipaq-micro: Convert prints to debug printsLinus Walleij1-4/+4
There is a special function for debug prints rather than the usual hexdump function, let's use it. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: ipaq-micro: Clean up development cruftLinus Walleij1-2/+1
Clean out a misspelled "HW" (MW) and remove commented-out codeline. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11devicetree: da9062: Add device tree bindings for DA9062 RTCS Twiss1-0/+9
Add device tree bindings for the DA9062 RTC driver component Signed-off-by: Steve Twiss <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: da9062: Support for the DA9063 RTC in the DA9062 coreS Twiss1-0/+11
Add MFD core driver support for a RTC component - MFD core adds the RTC resources da9062_rtc_resources[] for the RTC alarm and tick timer IRQ - An appropriate mfd_cell has been added into da9062_devs[] to support a component .name = "da9062-rtc" and .of_compatible = "dlg,da9062-rtc" Signed-off-by: Steve Twiss <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: arizona: Specify regmap endiannessRichard Fitzgerald4-0/+12
Explicitly set the regmap endianness instead of relying on the default being correct. Signed-off-by: Richard Fitzgerald <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: rk808: dt: Add the description about dvs gpio for rk808Chris Zhong1-1/+7
add the description about dvs1, dvs2, and add the example. Signed-off-by: Chris Zhong <[email protected]> Reviewed-by: Doug Anderson <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: pm8921: Implement irq_get_irqchip_stateBjorn Andersson1-0/+38
Implement irq_chip->irq_get_irqchip_state to make it possible for PMIC block drivers to access the IRQ real time status bits. The status bits are used for various kinds of input signals, e.g. GPIO. Signed-off-by: Bjorn Andersson <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: atmel-hlcdc: Implement config synchronizationBoris Brezillon1-6/+45
Some HLCDC registers cannot be written until the hardware has finished applying the previous configuration request. If they are written while an action is still in progress, the new configuration might be silently ignored, resulting in unpredictable behavior. Hide the config synchronization stuff in a regmap implementation and use this implementation instead of the generic mmio one. Signed-off-by: Boris Brezillon <[email protected]> Acked-by: Nicolas Ferre <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11MAINTAINERS: Add an entry for the Maxim MAX77802 PMIC driversJavier Martinez Canillas1-0/+8
I added support for the max77802 drivers and have been maintaining them. So add an entry for these drivers to make tools like get_maintainer.pl to work and make people submitting patches add me to the CC list. Signed-off-by: Javier Martinez Canillas <[email protected]> Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11MAINTAINERS: Add Device Tree binding doc for max77686 regulatorJavier Martinez Canillas1-1/+1
The Device Tree binding documentation for the Maxim max77686 regulators has been moved from the Multi-Function Device DT binding section to its own Documentation/devicetree/bindings/regulator/max77686.txt file. Use a wilcard so both the mfd and regulator DT bindings are resolved. Signed-off-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: da9063: Fix missing DA9063_M_DVC_RDY mask bitSteve Twiss2-0/+5
Fix a missing DVC_RDY interrupt mask in struct regmap_irq definition. The original submission of this driver did not contain all interrupt masking definitions in the struct regmap_irq contained in the file da9063-irq.c The solution is to add a DA9063_IRQ_DVC_RDY entry to enum da9063_irqs list and to add the corresponding values to compensate for the missing mask bit in the static const struct regmap_irq da9063_irqs[] table. Signed-off-by: Steve Twiss <[email protected]> Signed-off-by: Adam Ward <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: axp20x: Add axp152 supportMichal Suchanek2-1/+143
The axp152 is a stripped down version of the axp202 pmic with the battery charging function removed as it is intended for top-set boxes. Signed-off-by: Michal Suchanek <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: kempld-core: Add support for COMe-bBL6 and COMe-cBW6 to Kontron PLD driverMichael Brunner2-0/+18
This patch adds the DMI system ID of the Kontron COMe-bBL6 and COME-cBW6 boards to the Kontron PLD driver. The list of supported products in the module description is also updated. Signed-off-by: Michael Brunner <[email protected]> Acked-by: Christian Rauch <[email protected]> Reviewed-by: Guenter Roeck <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: axp20x: Add binding documentation for AXP152 PMICHans de Goede1-1/+3
Add devicetree binding documentation for the AXP152 PMIC, this is a stripped down version of the AXP202 PMIC with the battery charging function removed. Signed-off-by: Michal Suchanek <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: qcom-rpm: Add apq8064 QDSS clock resourceIvan T. Ivanov1-0/+1
Qualcomm Debug Subsystem clock is used by CoreSight components. Add required definitions for it. qcom_rpm_resource::status_id is not used by driver, so just mark it as ~0. Signed-off-by: Ivan T. Ivanov <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: Drop owner assignment from i2c_driversKrzysztof Kozlowski49-49/+0
i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: wm8994-regmap: Constify reg_default tablesAxel Lin1-3/+3
These reg_default tables are not modified after initialized, so make them const. Signed-off-by: Axel Lin <[email protected]> Acked-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: arizona: Fixup register table definitionsCharles Keepax3-59/+4
The regmap register definitions have been a source of many small fixes as issues are discovered. As such I made a small automated tool to check these definitions. This patch fixes the issues (mostly harmless) located by that tool, the issues fall into three catagories: 1) Volatile registers that have a default in the defaults table (default has been removed from the table since it is redundant) 2) Registers that are marked as volatile but unreadable (register has been removed from the volatile list since it is obviously not being used) 3) Registers that arn't readable but have an entry in the defaults table (again removed since it is redundant) 4) Readable non-volatile registers that are missing a default, these are dangerous as they won't get synced during a cache sync. Fortunately, most of them seem to be registers that shouldn't be there (for example wm5102 had readable registers for DRC2 and ISRC3 which is doesn't have) Hopefully another tool will be produced to check the actual default values themselves but that is outside the scope of this patch. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: da9062: dt: Add bindings for DA9062 driverS Twiss1-0/+79
Add device Tree Bindings for the DA9062 driver Signed-off-by: Steve Twiss <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: da9062: Supply core driverS Twiss5-1/+1684
Add MFD core driver support for DA9062 Signed-off-by: Steve Twiss <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: t7l66xb: Remove unnecessary pdata checkManinder Singh1-2/+2
o Making pdata NULL check to (!pdata) as coding standard and all other checks in file. o Removing redundant check of pdata, because we already check for pdata, and also derefernced before this check. Signed-off-by: Maninder Singh <[email protected]> Signed-off-by: Lee Jones <[email protected]>