summaryrefslogtreecommitdiffstats
path: root/drivers/mfd/lpc_sch.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* mfd: lpc_sch: Enable WDT for Intel Quark X1000Ong Boon Leong2015-01-221-0/+1
| | | | | | | | Quark X1000 uses ie6xx_wdt driver for WDT. To enable WDT, we declare WDT IO resource size for Quark X1000. Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: lpc_sch: Don't call mfd_remove_devices()Andy Shevchenko2014-11-251-5/+1
| | | | | | | | | | MFD core already cares about failing registration. It will remove successfully registered devices in case of error. Thus, no need to repeatedly call mfd_remove_devices(). Fixes: 5829e9b64e65 (mfd: lpc_sch: Accomodate partial population of the MFD devices) Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: lpc_sch: Remove FSF addressAndy Shevchenko2014-09-261-4/+1
| | | | | | | | | | This patch removes FSF address because it can be changed. While here, update the copyright lines by adding Intel Corp. to them. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: lpc_sch: Add support for Intel Quark X1000Andy Shevchenko2014-09-261-6/+31
| | | | | | | | | | | Intel Quark X1000 SoC supports IRQ based GPIO. This patch will enable MFD support for Quark X1000 and provide IRQ resources to Quark X1000 GPIO device driver. Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Tested-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: lpc_sch: Reduce duplicate code and improve manageabilityAndy Shevchenko2014-09-261-82/+99
| | | | | | | | | | | | | | | | | This patch refactors the driver to use helper functions instead of copy'n'pasted pieces of code. It also introduces an additional struct to hold a chipset info. The chipset info will be used to store features that are supported by specific processor or chipset. LPC_SCH supports SMBUS, GPIO and WDT features. As this code base might expand further to support more processors, this implementation will help to keep code base clean and manageable. The patch is partially based on the work done by Chang Rebecca Swee Fun. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Tested-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: Delete non-required instances of include <linux/init.h>Paul Gortmaker2014-03-191-1/+0
| | | | | | | | | | None of these files are actually using any __init type directives and hence don't need to include <linux/init.h>. Most are just a left over from __devinit and __cpuinit removal, or simply due to code getting copied from one driver to the next. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: Remove DEFINE_PCI_DEVICE_TABLE macroJingoo Han2014-01-211-1/+1
| | | | | | | | Don't use DEFINE_PCI_DEVICE_TABLE macro, because this macro is not preferred. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: lpc_sch: Ignore resource conflicts when adding mfd cellsJohannes Thumshirn2013-10-231-0/+3
| | | | | | | | | Currently probe of lpc_sch fails on Intel Poulsbo because of ACPI resource conflicts. A solution is to set the ignore_resource_conflicts flag in the mfd cells. Tested-by: Andreas Werner <andreas.werner@men.de> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@men.de> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* mfd: lpc_sch: Accomodate partial population of the MFD devicesDarren Hart2013-02-141-76/+71
| | | | | | | | | | | | | | | | | | | | | The current probe aborts if any of the 3 base address registers are disabled. On a TunnelCreek system I am working on, this resulted in the SMBIOS and GPIO devices being removed when it couldn't read the base address for the watchdog timer. This patch accommodates partial population of the lpc_sch_cells array and only aborts if all the base address registers are disabled. A max size array is allocated and the individual device cells are added to it after their base addresses are successfully determined. This simplifies the code a bit by removing the need for the separate tunnelcreek cells array and combining some of the add/remove logic. Cc: Grant Likely <grant.likely@secretlab.ca>, Cc: Denis Turischev <denis@compulab.co.il>, Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Cc: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: remove use of __devexitBill Pemberton2012-11-281-1/+1
| | | | | | | | | | | | | | | CONFIG_HOTPLUG is going away as an option so __devexit is no longer needed. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> Cc: Peter Tyser <ptyser@xes-inc.com> Cc: Daniel Walker <dwalker@fifo99.com> Cc: Bryan Huntsman <bryanh@codeaurora.org> Acked-by: David Brown <davidb@codeaurora.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* mfd: remove use of __devinitBill Pemberton2012-11-281-1/+1
| | | | | | | | | | | | | | CONFIG_HOTPLUG is going away as an option so __devinit is no longer needed. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> Cc: Peter Tyser <ptyser@xes-inc.com> Cc: Daniel Walker <dwalker@fifo99.com> Cc: Bryan Huntsman <bryanh@codeaurora.org> Acked-by: David Brown <davidb@codeaurora.org> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* mfd: remove use of __devexit_pBill Pemberton2012-11-281-1/+1
| | | | | | | | | | | | | | | CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer needed. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> Cc: Peter Tyser <ptyser@xes-inc.com> Cc: Daniel Walker <dwalker@fifo99.com> Cc: Bryan Huntsman <bryanh@codeaurora.org> Acked-by: David Brown <davidb@codeaurora.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* mfd: core: Push irqdomain mapping out into devicesMark Brown2012-09-151-2/+4
| | | | | | | | | | | | | | | | | | | | | 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 <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Change tunnelcreek watchdog name on the lpc_sch subdevices arrayWim Van Sebroeck2012-05-201-1/+1
| | | | | | | | The name of the tunnelcreek watchdog device is not tunnelcreek_wdt but ie6xx_wdt. Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* lpc_sch: Add Intel Centerton Multifunction Device supportSeth Heasley2012-05-091-2/+9
| | | | | | | | | This patch adds the Intel Centerton processor DeviceID for the Integrated Legacy Block (ILB). The ILB provides GPIO, SMBus, and Watchdog functionality. Signed-off-by: Seth Heasley <seth.heasley@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Use module_pci_driverAxel Lin2012-05-011-12/+1
| | | | | | | | | | | | | This patch converts the drivers in drivers/mfd/* to use module_pci_driver() macro which makes the code smaller and a bit simpler. Signed-off-by: Axel Lin <axel.lin@gmail.com> Cc: Andres Salomon <dilinger@queued.net> Cc: Ira W. Snyder <iws@ovro.caltech.edu> Cc: Florian Fainelli <florian@openwrt.org> Cc: Denis Turischev <denis@compulab.co.il> Cc: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Convert to DEFINE_PCI_DEVICE_TABLEAxel Lin2012-01-091-1/+1
| | | | | | | | | | | | | | Convert static struct pci_device_id *[] to static DEFINE_PCI_DEVICE_TABLE tables. Cc: Andres Salomon <dilinger@queued.net> Cc: Denis Turischev <denis@compulab.co.il> Cc: Ben Dooks <ben@simtec.co.uk> Cc: Vincent Sanders <vince@simtec.co.uk> Cc: Mocean Laboratories <info@mocean-labs.com> Cc: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add tunnelcreek watchdog to lpc_sch devicesAlexander Stein2011-07-311-1/+48
| | | | | | | Tunnel Creek has an additional watchdog core. Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add Tunnel Creek support to lpc_schDenis Turischev2011-03-231-1/+6
| | | | | | | | | | Intel Poulsbo SCH and Tunnel Creek provide almost the same LPC interface. Use the same driver for both devices while storing PCI ID to distinguish between platforms to apply plarform related quirks. Signed-off-by: Denis Turischev <denis@compulab.co.il> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Introduce lpc_sch for Intel SCH LPC bridgeDenis Turischev2010-03-071-0/+133
Intel Poulsbo (SCH) chipset LPC bridge controller contains several functions. Creating and MFD driver for the LPC bridge controller allows simultaneous use of SMBus and GPIO interfaces on the SCH. Signed-off-by: Denis Turischev <denis@compulab.co.il> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>