[PATCH v8 0/2] IMX GPCv2 drivers for wakeup source and suspend
Shenwei Wang
shenwei.wang at freescale.com
Fri Jul 31 14:33:57 PDT 2015
IMX7D contains a new version of GPC IP block (GPCv2). It has two
major functions: power management and wakeup source management.
Two drivers were developed to support these functions:
One irqchip driver (irq-imx-gpcv2.c) is to manage
the interrupt wakeup source. One suspend driver (pm-imx7.c) is used
to manage the system power states.
Patch v8:
Rename the structure "imx-gpcv2-irq" to "gpcv2_irqchip_data", and
move it into irq-imx-gpcv2.c.
Deleted the "gpcv2.h" header file, and moved 3 function declarations
into common.h.
Changed the compile switch for suspend-imx7.S and pm-imx7.c
to CONFIG_SOC_IMX7D.
Added the register and bit mask definitions.
Added some error handling codes.
Unified coding style and code clean up.
Patch v7:
Move most of the macros and definitions into relating source files
Replace the spinlock_t with the struct raw_spinlock in imx_gpcv2_irq
Code clean up
Patch V6:
Clean up the codes (irq-imx-gpcv2.c) according to the review
feedback of Thomas Glx
Use raw_spin_lock in the irq_mask and irq_unmask callbacks
Split the struct definition into two: irqchip and suspend
Unified coding style
Patch V5:
Splitted it into two patches per Thomas Gleixner suggestion.
-- one for irqchip
-- one for suspend
Patch V4:
Splitted the driver into two function drivers: one irqchip driver
for wakeup source management, and one suspend driver for power
state management.
Patch V3:
Added the assemble codes (suspend-imx7.S) for SUSPEND_MEM state.
Supported the SUSPEND_MEM power mode.
Patch V2:
Added the basic driver APIs for power management.
Supported the STANDBY power mode.
Patch V1:
Implemented the driver for IRQ wakeup sources.
Shenwei Wang (2):
irqchip: imx-gpcv2: IMX GPCv2 driver for wakeup sources
ARM: imx: support suspend states on imx7D
arch/arm/mach-imx/Kconfig | 1 +
arch/arm/mach-imx/Makefile | 2 +
arch/arm/mach-imx/common.h | 4 +
arch/arm/mach-imx/pm-imx7.c | 917 +++++++++++++++++++++++++++++++++++++++
arch/arm/mach-imx/suspend-imx7.S | 529 ++++++++++++++++++++++
drivers/irqchip/Kconfig | 7 +
drivers/irqchip/Makefile | 1 +
drivers/irqchip/irq-imx-gpcv2.c | 273 ++++++++++++
8 files changed, 1734 insertions(+)
create mode 100644 arch/arm/mach-imx/pm-imx7.c
create mode 100644 arch/arm/mach-imx/suspend-imx7.S
create mode 100644 drivers/irqchip/irq-imx-gpcv2.c
--
2.5.0.rc2
More information about the linux-arm-kernel
mailing list