aboutsummaryrefslogtreecommitdiff
path: root/drivers/mfd/max8925-core.c
AgeCommit message (Collapse)AuthorFilesLines
2019-06-19treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500Thomas Gleixner1-4/+1
Based on 2 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation # extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 4122 file(s). Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Enrico Weigelt <[email protected]> Reviewed-by: Kate Stewart <[email protected]> Reviewed-by: Allison Randal <[email protected]> Cc: [email protected] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2019-02-01mfd: max8925-core: Drop unused MODULE_ tags from non-modular codePaul Gortmaker1-6/+1
The Kconfig currently controlling compilation of this code is: drivers/mfd/Kconfig:config MFD_MAX8925 drivers/mfd/Kconfig: bool "Maxim Semiconductor MAX8925 PMIC Support" ...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. Signed-off-by: Paul Gortmaker <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2015-08-11mfd: Kill off set_irq_flags usageRob Herring1-4/+1
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-06-22mfd: Constify regmap and irq configuration dataKrzysztof Kozlowski1-1/+1
Constify in various drivers configuration data which is not modified: - regmap_irq_chip, - individual regmap_irq's in array, - regmap_config, - irq_domain_ops, Signed-off-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2014-07-25mfd: max8925-core: Fix 'missing blank line after declarations' warningLee Jones1-0/+2
This is part of an effort to clean-up the MFD subsystem. WARNING: Missing a blank line after declarations + struct max8925_chip *chip = irq_data_get_irq_chip_data(data); + max8925_irqs[data->irq - chip->irq_base].enable WARNING: Missing a blank line after declarations + struct max8925_chip *chip = irq_data_get_irq_chip_data(data); + max8925_irqs[data->irq - chip->irq_base].enable = 0; total: 0 errors, 2 warnings, 927 lines checked Signed-off-by: Lee Jones <[email protected]>
2014-01-06mfd: maxim: Constify struct mfd_cell where possibleGeert Uytterhoeven1-4/+4
As of commit 03e361b25ee8dfb1fd9b890072c23c4aae01c6c7 ("mfd: Stop setting refcounting pointers in original mfd_cell arrays"), the "cell" parameter of mfd_add_devices() is "const" again. Hence make all cell data passed to mfd_add_devices() const where possible. Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2013-02-14mfd: max8925: Fix onkey driver irq baseQing Xu1-1/+1
update onkey driver's irq base, it should get from max8925, but not save in a private value Signed-off-by: Qing Xu <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-02-14mfd: max8925: Fix mfd device register failureQing Xu1-12/+10
we encounter rtc/power/touch driver registry failure, root cause it is resources confilict in insert_resouce, solved by changing mfd_add_devices 5th parameter to NULL Signed-off-by: Qing Xu <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-02-14mfd: max8925: Add irqdomain for dtQing Xu1-30/+43
Add irqdomains for max8925's main irq, wrap irq register operations into irqdomain's map func. it is necessary for dt support. Also, add dt support for max8925 driver. Signed-off-by: Qing Xu <[email protected]> Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-11-28mfd: remove use of __devexitBill Pemberton1-1/+1
CONFIG_HOTPLUG is going away as an option so __devexit is no longer needed. Signed-off-by: Bill Pemberton <[email protected]> Cc: Srinidhi Kasagar <[email protected]> Cc: Peter Tyser <[email protected]> Cc: Daniel Walker <[email protected]> Cc: Bryan Huntsman <[email protected]> Acked-by: David Brown <[email protected]> Acked-by: Linus Walleij <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-11-28mfd: remove use of __devinitdataBill Pemberton1-26/+26
CONFIG_HOTPLUG is going away as an option so __devinitdata is no longer needed. Signed-off-by: Bill Pemberton <[email protected]> Cc: Srinidhi Kasagar <[email protected]> Cc: Peter Tyser <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-11-28mfd: remove use of __devinitBill Pemberton1-2/+2
CONFIG_HOTPLUG is going away as an option so __devinit is no longer needed. Signed-off-by: Bill Pemberton <[email protected]> Cc: Srinidhi Kasagar <[email protected]> Cc: Peter Tyser <[email protected]> Cc: Daniel Walker <[email protected]> Cc: Bryan Huntsman <[email protected]> Acked-by: David Brown <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-19mfd: max8925: Remove array in regulator platform dataHaojian Zhuang1-72/+316
Remove array in parent's platform data. Use struct regulator_init_data as regulator device's platform data directly. So a lot of pdata are added into parent's platform data. And voltage out register offset is used as IORESOURCE_REG to distinguish different regualtor devices. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-09-19mfd: max8925: Use register offset as REG in backlightHaojian Zhuang1-17/+14
Remove the register offset definition. All these register offset are transfered as IORESOURCE_REG resources. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-09-19mfd: Use IRQF_ONESHOT for max8925Fengguang Wu1-2/+2
Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci Make sure threaded IRQs without a primary handler are always request with IRQF_ONESHOT. Signed-off-by: Fengguang Wu <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-09-14mfd: core: Push irqdomain mapping out into devicesMark Brown1-6/+6
Currently the MFD core supports remapping MFD cell interrupts using an irqdomain but only if the MFD is being instantiated using device tree and only if the device tree bindings use the pattern of registering IPs in the device tree with compatible properties. This will be actively harmful for drivers which support non-DT platforms and use this pattern for their DT bindings as it will mean that the core will silently change remapping behaviour and it is also limiting for drivers which don't do DT with this particular pattern. There is also a potential fragility if there are interrupts not associated with MFD cells and all the cells are omitted from the device tree for some reason. Instead change the code to take an IRQ domain as an optional argument, allowing drivers to take the decision about the parent domain for their interrupts. The one current user of this feature is ab8500-core, it has the domain lookup pushed out into the driver. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-09-11mfd: max8925: Convert to IORESOURCE_REGMark Brown1-14/+4
Signed-off-by: Mark Brown <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Acked-by: Haojian Zhuang <[email protected]> Tested-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-09-11mfd: max8925: Move _IO resources out of ioport_ioresourceMark Brown1-0/+10
The removal of mach/io.h from most ARM platforms also set the range of valid IO ports to be empty for most platforms when previously any 32 bit integer had been valid. This makes it impossible to add IO resources as the added range is smaller than that of the root resource for IO ports. Since we're not really using IO memory at all fix this by defining our own root resource outside the normal tree and make that the parent of all IO resources. This also ensures we won't conflict with read IO ports if we ever run on a platform which happens to use them. Signed-off-by: Mark Brown <[email protected] Acked-by: Arnd Bergmann <[email protected]> Acked-by: Haojian Zhuang <[email protected]> Tested-by: Haojian Zhuang <[email protected]> Cc: [email protected] (v3.4+) Signed-off-by: Samuel Ortiz <[email protected]>
2012-07-09mfd: Transfer rtc max8925 irq from MFD defined resourcesHaojian Zhuang1-4/+4
MAX8925 rtc irq is transfered from mfd resources now. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2011-11-25max8925_power: Remove support for irq bits that do not existPhilip Rakity1-15/+0
The max8925 cannot return usb status.  The bits       [MAX8925_IRQ_VCHG_USB_OVP] = {               .reg            = MAX8925_CHG_IRQ1,               .mask_reg       = MAX8925_CHG_IRQ1_MASK,               .offs           = 1 << 3,       },       [MAX8925_IRQ_VCHG_USB_F] =  {               .reg            = MAX8925_CHG_IRQ1,               .mask_reg       = MAX8925_CHG_IRQ1_MASK,               .offs           = 1 << 4,       },       [MAX8925_IRQ_VCHG_USB_R] = {               .reg            = MAX8925_CHG_IRQ1,               .mask_reg       = MAX8925_CHG_IRQ1_MASK,               .offs           = 1 << 5,       }, do not exist in the irq register. Signed-off-by: Philip Rakity <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2011-05-26mfd: Remove checking on max8925 regulator[0]Haojian Zhuang1-1/+1
Since regulator[0] is always checking in mfd driver, it results in registration failure without regulator[0]. Signed-off-by: Haojian Zhuang <[email protected]> Reviewed-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2011-03-27mfd: Cleanup irq namespaceThomas Gleixner1-4/+4
Converted with coccinelle. Signed-off-by: Thomas Gleixner <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2011-03-27mfd: mx8925: Remove irq_desc leftoversThomas Gleixner1-2/+0
Remove unused code. Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2011-01-14mfd: Convert max8925 to new irq_ APIMark Brown1-15/+15
The genirq infrastructure is being converted to pass struct irq_data rather than an irq number to irq_chip operations, update max8925 to the new APIs. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-10-29input: Monitor both onkey up and down eventHaojian Zhuang1-3/+8
Remove original 3-second ONKEY event. Detect ONKEY changing event directly. So both UP and DOWN event of ONKEY in max8925 are monitered. Signed-off-by: Haojian Zhuang <[email protected]> Cc: Dmitry Torokhov <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-09-29mfd: Fix max8925 irq control bit incorrect settingKevin Liu1-6/+7
In max8925_irq_sync_unlock(), irq control bit is set at the same time. Zero means enabling irq, and one means disabling irq. The original code is: irq_chg[0] &= irq_data->enable; It should be changed to: irq_chg[0] &= ~irq_data->enable; Otherwise, irq control bit is mess. Signed-off-by: Kevin Liu <[email protected]> Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-08-12mfd: Enable onkey on max8925Haojian Zhuang1-0/+27
Enable onkey feature in max8925 driver. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-05-28mfd: Delay to mask tsc irq in max8925Haojian Zhuang1-2/+5
There're two IRQ pins output from MAX8925. One is PMIC interrupt, the other is TSC interrupt. But they're sharing one irq chip. After initializing MAX8925 interrupts, unexpected TSC interrupt may occur and it can't be cleared if touch driver isn't loaded. Now move the operation of masking TSC interrupt behind requesting PMIC interrupt. If touch driver isn't loaded, this interrupt is always masked. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Update irq handler in max8925Haojian Zhuang1-213/+465
Update thread irq handler. Simply the interface of using thread irq. Signed-off-by: Haojian Zhuang <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Add subdevs in max8925Haojian Zhuang1-0/+142
Add subdevs in MAX8925. MAX8925 includes regulator, backlight and touch components. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Initial max8925 supportHaojian Zhuang1-0/+262
Basic Max8925 support, which is a power management IC from Maxim Semiconductor. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>