aboutsummaryrefslogtreecommitdiff
path: root/drivers/spmi
AgeCommit message (Collapse)AuthorFilesLines
2015-07-29spmi/pmic: Use irq_desc_get_xxx() to avoid redundant lookup of irq_descJiang Liu1-2/+2
Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Signed-off-by: Jiang Liu <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2015-07-29spmi/pmic_arb: 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. Search and conversion was done with coccinelle. Reported-by: Russell King <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Jiang Liu <[email protected]> Cc: Julia Lawall <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2015-05-24spmi: Add dependency on HAS_IOMEMRichard Weinberger1-0/+1
Not all architectures have io memory. Fixes: drivers/built-in.o: In function `spmi_pmic_arb_probe': spmi-pmic-arb.c:(.text+0x1ed399): undefined reference to `devm_ioremap_resource' Signed-off-by: Richard Weinberger <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-04-03spmi: pmic_arb: remove ARM build time dependencyIvan T. Ivanov1-1/+0
Qualcomm PMIC arbiter driver already depends on ARCH_QCOM, which could be either ARM or ARM64. New version of the PMIC arbiter controller is available on 64 bit platforms. Remove ARM dependency to allow driver to be build for 64 bit platforms. Signed-off-by: Ivan T. Ivanov <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-26spmi: pmic_arb: add support for hw version 2Gilad Avidov1-59/+260
Qualcomm PMIC Arbiter version-2 changes from version-1 are: - Some different register offsets. - New channel register space, one per PMIC peripheral (ppid). All tx traffic uses these channels. - New observer register space. All rx trafic uses this space. - Different command format for spmi command registers. Reviewed-by: Sagar Dharia <[email protected]> Signed-off-by: Gilad Avidov <[email protected]> Tested-by: Ivan T. Ivanov <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-26spmi: remove wakeup command before slave probeGilad Avidov1-7/+2
According to spmi spec a slave powers up into startup state and then transitions into active state. Thus, the wakeup command is not required before calling the slave's probe. The wakeup command is only needed for slaves that are in sleep state after receiving the sleep command. Cc: [email protected] Reviewed-by: Stephen Boyd <[email protected]> Reviewed-by: Sagar Dharia <[email protected]> Acked-by: Josh Cartwright <[email protected]> Signed-off-by: Gilad Avidov <[email protected]> Tested-by: Ivan T. Ivanov <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-10-20spmi: drop owner assignment from platform_driversWolfram Sang1-1/+0
A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Wolfram Sang <[email protected]>
2014-07-10spmi: Remove duplicate inclusion of module.hSachin Kamat1-1/+0
module.h was included twice. Signed-off-by: Sachin Kamat <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-03-08spmi: pm: drop bus-level PM suspend/resume routinesJosh Cartwright1-35/+0
SPMI defines the behavior of a device in the "SLEEP" state as being "user-defined or specified by the device manufacturer". Without clearly-defined bus-level semantics for low-power states, push the responsibility of transitioning a device into/out of "SLEEP" into SPMI device drivers. Cc: Felipe Balbi <[email protected]> Signed-off-by: Josh Cartwright <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-03-08spmi: pmic_arb: make selectable on ARCH_QCOMJosh Cartwright1-2/+2
With the split of Qualcomm MSM support into legacy and multiplatform, the SPMI PMIC arb driver is only relevant on the multiplatform supported SoCs. Switch the Kconfig depends to ARCH_QCOM. Acked-by: Kumar Gala <[email protected]> Signed-off-by: Josh Cartwright <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-02-15spmi: pmic_arb: add support for interrupt handlingJosh Cartwright2-2/+376
The Qualcomm PMIC Arbiter, in addition to being a basic SPMI controller, also implements interrupt handling for slave devices. Note, this is outside the scope of SPMI, as SPMI leaves interrupt handling completely unspecified. Extend the driver to provide a irq_chip implementation and chained irq handling which allows for these interrupts to be used. Cc: Thomas Gleixner <[email protected]> Signed-off-by: Josh Cartwright <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-02-15spmi: Add MSM PMIC Arbiter SPMI controllerKenneth Heitke3-0/+424
Qualcomm's PMIC Arbiter SPMI controller functions as a bus master and is used to communication with one or more PMIC (slave) devices on the SPMI bus. The PMIC Arbiter is actually a hardware wrapper around the SPMI controller that provides concurrent and autonomous PMIC access to various entities that need to communicate with the PMIC. The SPMI controller hardware handles all of the SPMI bus activity (bus arbitration, sequence start condition, transmission of frames, etc). This software driver uses the PMIC Arbiter register interface to initiate command sequences on the SPMI bus. The status register is read to determine when the command sequence has completed and whether or not it completed successfully. Signed-off-by: Kenneth Heitke <[email protected]> Signed-off-by: Josh Cartwright <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-02-15spmi: Linux driver framework for SPMIKenneth Heitke3-0/+622
System Power Management Interface (SPMI) is a specification developed by the MIPI (Mobile Industry Process Interface) Alliance optimized for the real time control of Power Management ICs (PMIC). SPMI is a two-wire serial interface that supports up to 4 master devices and up to 16 logical slaves. The framework supports message APIs, multiple busses (1 controller per bus) and multiple clients/slave devices per controller. Signed-off-by: Kenneth Heitke <[email protected]> Signed-off-by: Michael Bohan <[email protected]> Signed-off-by: Josh Cartwright <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>