genirq: Add state field to irq_data
authorThomas Gleixner <tglx@linutronix.de>
Thu, 3 Feb 2011 19:48:29 +0000 (20:48 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 19 Feb 2011 11:58:18 +0000 (12:58 +0100)
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>
include/linux/irq.h
include/linux/irqdesc.h

index 3ce45c257edb3ee1c41ac3ac9a083c65be4141ee..62bb08e4af1371b890be03190d2766ab9c90c4e7 100644 (file)
@@ -102,6 +102,8 @@ struct msi_desc;
  * struct irq_data - per irq and irq chip data passed down to chip functions
  * @irq:               interrupt number
  * @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
  * @handler_data:      per-IRQ data for the irq_chip methods
  * @chip_data:         platform-specific per-chip private data for the chip
@@ -116,6 +118,7 @@ struct msi_desc;
 struct irq_data {
        unsigned int            irq;
        unsigned int            node;
+       unsigned int            state_use_accessors;
        struct irq_chip         *chip;
        void                    *handler_data;
        void                    *chip_data;
index 782bf9851a9f5c269ad826fa19753fa68fecb7f2..581d9665fd3891528f4b5a9b46803e6d384df0f7 100644 (file)
@@ -48,6 +48,7 @@ struct irq_desc {
                struct {
                        unsigned int            irq;
                        unsigned int            node;
+                       unsigned int            pad_do_not_even_think_about_it;
                        struct irq_chip         *chip;
                        void                    *handler_data;
                        void                    *chip_data;