diff options
| author | Ming Lei <ming.lei@canonical.com> | 2011-03-02 15:00:08 +0800 | 
|---|---|---|
| committer | Will Deacon <will.deacon@arm.com> | 2011-12-02 15:16:33 +0000 | 
| commit | e0516a64e7ea9d9522d98f9f5f47aa38f147779f (patch) | |
| tree | cb03a94b84dcb764de9db1f6ff0285018a792c0a /arch/arm/include | |
| parent | 14eec97ff4635977b026a53b27915ab0dec51e94 (diff) | |
| download | kernel_goldelico_gta04-e0516a64e7ea9d9522d98f9f5f47aa38f147779f.zip kernel_goldelico_gta04-e0516a64e7ea9d9522d98f9f5f47aa38f147779f.tar.gz kernel_goldelico_gta04-e0516a64e7ea9d9522d98f9f5f47aa38f147779f.tar.bz2 | |
arm: pmu: allow platform specific irq enable/disable handling
This patch introduces .enable_irq and .disable_irq into
struct arm_pmu_platdata, so platform specific irq enablement
can be handled after request_irq, and platform specific irq
disablement can be handled before free_irq.
This patch is for support of  pmu irq routed from CTI on omap4.
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm/include')
| -rw-r--r-- | arch/arm/include/asm/pmu.h | 15 | 
1 files changed, 12 insertions, 3 deletions
| diff --git a/arch/arm/include/asm/pmu.h b/arch/arm/include/asm/pmu.h index 0bda22c..b5a5be2 100644 --- a/arch/arm/include/asm/pmu.h +++ b/arch/arm/include/asm/pmu.h @@ -27,13 +27,22 @@ enum arm_pmu_type {  /*   * struct arm_pmu_platdata - ARM PMU platform data   * - * @handle_irq: an optional handler which will be called from the interrupt and - * passed the address of the low level handler, and can be used to implement - * any platform specific handling before or after calling it. + * @handle_irq: an optional handler which will be called from the + *	interrupt and passed the address of the low level handler, + *	and can be used to implement any platform specific handling + *	before or after calling it. + * @enable_irq: an optional handler which will be called after + *	request_irq and be used to handle some platform specific + *	irq enablement + * @disable_irq: an optional handler which will be called before + *	free_irq and be used to handle some platform specific + *	irq disablement   */  struct arm_pmu_platdata {  	irqreturn_t (*handle_irq)(int irq, void *dev,  				  irq_handler_t pmu_handler); +	void (*enable_irq)(int irq); +	void (*disable_irq)(int irq);  };  #ifdef CONFIG_CPU_HAS_PMU | 
