Commit 687228ad authored by Lennert Buytenhek's avatar Lennert Buytenhek Committed by Benjamin Herrenschmidt

powerpc: sysdev/ipic irq_data conversion.

Signed-off-by: default avatarLennert Buytenhek <buytenh@secretlab.ca>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent d4201184
...@@ -523,10 +523,10 @@ static inline struct ipic * ipic_from_irq(unsigned int virq) ...@@ -523,10 +523,10 @@ static inline struct ipic * ipic_from_irq(unsigned int virq)
#define ipic_irq_to_hw(virq) ((unsigned int)irq_map[virq].hwirq) #define ipic_irq_to_hw(virq) ((unsigned int)irq_map[virq].hwirq)
static void ipic_unmask_irq(unsigned int virq) static void ipic_unmask_irq(struct irq_data *d)
{ {
struct ipic *ipic = ipic_from_irq(virq); struct ipic *ipic = ipic_from_irq(d->irq);
unsigned int src = ipic_irq_to_hw(virq); unsigned int src = ipic_irq_to_hw(d->irq);
unsigned long flags; unsigned long flags;
u32 temp; u32 temp;
...@@ -539,10 +539,10 @@ static void ipic_unmask_irq(unsigned int virq) ...@@ -539,10 +539,10 @@ static void ipic_unmask_irq(unsigned int virq)
raw_spin_unlock_irqrestore(&ipic_lock, flags); raw_spin_unlock_irqrestore(&ipic_lock, flags);
} }
static void ipic_mask_irq(unsigned int virq) static void ipic_mask_irq(struct irq_data *d)
{ {
struct ipic *ipic = ipic_from_irq(virq); struct ipic *ipic = ipic_from_irq(d->irq);
unsigned int src = ipic_irq_to_hw(virq); unsigned int src = ipic_irq_to_hw(d->irq);
unsigned long flags; unsigned long flags;
u32 temp; u32 temp;
...@@ -559,10 +559,10 @@ static void ipic_mask_irq(unsigned int virq) ...@@ -559,10 +559,10 @@ static void ipic_mask_irq(unsigned int virq)
raw_spin_unlock_irqrestore(&ipic_lock, flags); raw_spin_unlock_irqrestore(&ipic_lock, flags);
} }
static void ipic_ack_irq(unsigned int virq) static void ipic_ack_irq(struct irq_data *d)
{ {
struct ipic *ipic = ipic_from_irq(virq); struct ipic *ipic = ipic_from_irq(d->irq);
unsigned int src = ipic_irq_to_hw(virq); unsigned int src = ipic_irq_to_hw(d->irq);
unsigned long flags; unsigned long flags;
u32 temp; u32 temp;
...@@ -578,10 +578,10 @@ static void ipic_ack_irq(unsigned int virq) ...@@ -578,10 +578,10 @@ static void ipic_ack_irq(unsigned int virq)
raw_spin_unlock_irqrestore(&ipic_lock, flags); raw_spin_unlock_irqrestore(&ipic_lock, flags);
} }
static void ipic_mask_irq_and_ack(unsigned int virq) static void ipic_mask_irq_and_ack(struct irq_data *d)
{ {
struct ipic *ipic = ipic_from_irq(virq); struct ipic *ipic = ipic_from_irq(d->irq);
unsigned int src = ipic_irq_to_hw(virq); unsigned int src = ipic_irq_to_hw(d->irq);
unsigned long flags; unsigned long flags;
u32 temp; u32 temp;
...@@ -601,11 +601,11 @@ static void ipic_mask_irq_and_ack(unsigned int virq) ...@@ -601,11 +601,11 @@ static void ipic_mask_irq_and_ack(unsigned int virq)
raw_spin_unlock_irqrestore(&ipic_lock, flags); raw_spin_unlock_irqrestore(&ipic_lock, flags);
} }
static int ipic_set_irq_type(unsigned int virq, unsigned int flow_type) static int ipic_set_irq_type(struct irq_data *d, unsigned int flow_type)
{ {
struct ipic *ipic = ipic_from_irq(virq); struct ipic *ipic = ipic_from_irq(d->irq);
unsigned int src = ipic_irq_to_hw(virq); unsigned int src = ipic_irq_to_hw(d->irq);
struct irq_desc *desc = irq_to_desc(virq); struct irq_desc *desc = irq_to_desc(d->irq);
unsigned int vold, vnew, edibit; unsigned int vold, vnew, edibit;
if (flow_type == IRQ_TYPE_NONE) if (flow_type == IRQ_TYPE_NONE)
...@@ -630,10 +630,10 @@ static int ipic_set_irq_type(unsigned int virq, unsigned int flow_type) ...@@ -630,10 +630,10 @@ static int ipic_set_irq_type(unsigned int virq, unsigned int flow_type)
if (flow_type & IRQ_TYPE_LEVEL_LOW) { if (flow_type & IRQ_TYPE_LEVEL_LOW) {
desc->status |= IRQ_LEVEL; desc->status |= IRQ_LEVEL;
desc->handle_irq = handle_level_irq; desc->handle_irq = handle_level_irq;
desc->chip = &ipic_level_irq_chip; desc->irq_data.chip = &ipic_level_irq_chip;
} else { } else {
desc->handle_irq = handle_edge_irq; desc->handle_irq = handle_edge_irq;
desc->chip = &ipic_edge_irq_chip; desc->irq_data.chip = &ipic_edge_irq_chip;
} }
/* only EXT IRQ senses are programmable on ipic /* only EXT IRQ senses are programmable on ipic
...@@ -661,19 +661,19 @@ static int ipic_set_irq_type(unsigned int virq, unsigned int flow_type) ...@@ -661,19 +661,19 @@ static int ipic_set_irq_type(unsigned int virq, unsigned int flow_type)
/* level interrupts and edge interrupts have different ack operations */ /* level interrupts and edge interrupts have different ack operations */
static struct irq_chip ipic_level_irq_chip = { static struct irq_chip ipic_level_irq_chip = {
.name = "IPIC", .name = "IPIC",
.unmask = ipic_unmask_irq, .irq_unmask = ipic_unmask_irq,
.mask = ipic_mask_irq, .irq_mask = ipic_mask_irq,
.mask_ack = ipic_mask_irq, .irq_mask_ack = ipic_mask_irq,
.set_type = ipic_set_irq_type, .irq_set_type = ipic_set_irq_type,
}; };
static struct irq_chip ipic_edge_irq_chip = { static struct irq_chip ipic_edge_irq_chip = {
.name = "IPIC", .name = "IPIC",
.unmask = ipic_unmask_irq, .irq_unmask = ipic_unmask_irq,
.mask = ipic_mask_irq, .irq_mask = ipic_mask_irq,
.mask_ack = ipic_mask_irq_and_ack, .irq_mask_ack = ipic_mask_irq_and_ack,
.ack = ipic_ack_irq, .irq_ack = ipic_ack_irq,
.set_type = ipic_set_irq_type, .irq_set_type = ipic_set_irq_type,
}; };
static int ipic_host_match(struct irq_host *h, struct device_node *node) static int ipic_host_match(struct irq_host *h, struct device_node *node)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment