genirq: Add state field to irq_data
Some chip implementations need to access certain status flags. With sparse irqs that requires a lookup of the irq descriptor. Add a state field which contains such flags. Name it in a way which will make coders happy to access it with the proper accessor functions. And it's easy to grep for. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
		
					parent
					
						
							
								6d2cd17fde
							
						
					
				
			
			
				commit
				
					
						91c4991781
					
				
			
		
					 2 changed files with 4 additions and 0 deletions
				
			
		| 
						 | 
					@ -102,6 +102,8 @@ struct msi_desc;
 | 
				
			||||||
 * struct irq_data - per irq and irq chip data passed down to chip functions
 | 
					 * struct irq_data - per irq and irq chip data passed down to chip functions
 | 
				
			||||||
 * @irq:		interrupt number
 | 
					 * @irq:		interrupt number
 | 
				
			||||||
 * @node:		node index useful for balancing
 | 
					 * @node:		node index useful for balancing
 | 
				
			||||||
 | 
					 * @state_use_accessor: status information for irq chip functions.
 | 
				
			||||||
 | 
					 *			Use accessor functions to deal with it
 | 
				
			||||||
 * @chip:		low level interrupt hardware access
 | 
					 * @chip:		low level interrupt hardware access
 | 
				
			||||||
 * @handler_data:	per-IRQ data for the irq_chip methods
 | 
					 * @handler_data:	per-IRQ data for the irq_chip methods
 | 
				
			||||||
 * @chip_data:		platform-specific per-chip private data for the chip
 | 
					 * @chip_data:		platform-specific per-chip private data for the chip
 | 
				
			||||||
| 
						 | 
					@ -116,6 +118,7 @@ struct msi_desc;
 | 
				
			||||||
struct irq_data {
 | 
					struct irq_data {
 | 
				
			||||||
	unsigned int		irq;
 | 
						unsigned int		irq;
 | 
				
			||||||
	unsigned int		node;
 | 
						unsigned int		node;
 | 
				
			||||||
 | 
						unsigned int		state_use_accessors;
 | 
				
			||||||
	struct irq_chip		*chip;
 | 
						struct irq_chip		*chip;
 | 
				
			||||||
	void			*handler_data;
 | 
						void			*handler_data;
 | 
				
			||||||
	void			*chip_data;
 | 
						void			*chip_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -48,6 +48,7 @@ struct irq_desc {
 | 
				
			||||||
		struct {
 | 
							struct {
 | 
				
			||||||
			unsigned int		irq;
 | 
								unsigned int		irq;
 | 
				
			||||||
			unsigned int		node;
 | 
								unsigned int		node;
 | 
				
			||||||
 | 
								unsigned int		pad_do_not_even_think_about_it;
 | 
				
			||||||
			struct irq_chip		*chip;
 | 
								struct irq_chip		*chip;
 | 
				
			||||||
			void			*handler_data;
 | 
								void			*handler_data;
 | 
				
			||||||
			void			*chip_data;
 | 
								void			*chip_data;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue