diff options
| author | Jiri Kosina <jkosina@suse.cz> | 2011-09-15 15:08:05 +0200 | 
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2011-09-15 15:08:18 +0200 | 
| commit | e060c38434b2caa78efe7cedaff4191040b65a15 (patch) | |
| tree | 407361230bf6733f63d8e788e4b5e6566ee04818 /include/linux/irq.h | |
| parent | 10e4ac572eeffe5317019bd7330b6058a400dfc2 (diff) | |
| parent | cc39c6a9bbdebfcf1a7dee64d83bf302bc38d941 (diff) | |
| download | olio-linux-3.10-e060c38434b2caa78efe7cedaff4191040b65a15.tar.xz olio-linux-3.10-e060c38434b2caa78efe7cedaff4191040b65a15.zip  | |
Merge branch 'master' into for-next
Fast-forward merge with Linus to be able to merge patches
based on more recent version of the tree.
Diffstat (limited to 'include/linux/irq.h')
| -rw-r--r-- | include/linux/irq.h | 17 | 
1 files changed, 16 insertions, 1 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h index 5f695041090..59517300a31 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -23,6 +23,7 @@  #include <linux/errno.h>  #include <linux/topology.h>  #include <linux/wait.h> +#include <linux/module.h>  #include <asm/irq.h>  #include <asm/ptrace.h> @@ -108,14 +109,18 @@ enum {  };  struct msi_desc; +struct irq_domain;  /**   * struct irq_data - per irq and irq chip data passed down to chip functions   * @irq:		interrupt number + * @hwirq:		hardware interrupt number, local to the interrupt domain   * @node:		node index useful for balancing   * @state_use_accessors: status information for irq chip functions.   *			Use accessor functions to deal with it   * @chip:		low level interrupt hardware access + * @domain:		Interrupt translation domain; responsible for mapping + *			between hwirq number and linux irq number.   * @handler_data:	per-IRQ data for the irq_chip methods   * @chip_data:		platform-specific per-chip private data for the chip   *			methods, to allow shared chip implementations @@ -128,9 +133,11 @@ struct msi_desc;   */  struct irq_data {  	unsigned int		irq; +	unsigned long		hwirq;  	unsigned int		node;  	unsigned int		state_use_accessors;  	struct irq_chip		*chip; +	struct irq_domain	*domain;  	void			*handler_data;  	void			*chip_data;  	struct msi_desc		*msi_desc; @@ -541,7 +548,15 @@ static inline struct msi_desc *irq_data_get_msi(struct irq_data *d)  	return d->msi_desc;  } -int irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node); +int __irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node, +		struct module *owner); + +static inline int irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, +		int node) +{ +	return __irq_alloc_descs(irq, from, cnt, node, THIS_MODULE); +} +  void irq_free_descs(unsigned int irq, unsigned int cnt);  int irq_reserve_irqs(unsigned int from, unsigned int cnt);  |