提交 545c8d8d 编写于 作者: T Thomas Gleixner

ia64: Convert sn to new irq_chip functions

Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
上级 42c9a74d
...@@ -78,34 +78,34 @@ u64 sn_intr_redirect(nasid_t local_nasid, int local_widget, ...@@ -78,34 +78,34 @@ u64 sn_intr_redirect(nasid_t local_nasid, int local_widget,
return ret_stuff.status; return ret_stuff.status;
} }
static unsigned int sn_startup_irq(unsigned int irq) static unsigned int sn_startup_irq(struct irq_data *data)
{ {
return 0; return 0;
} }
static void sn_shutdown_irq(unsigned int irq) static void sn_shutdown_irq(struct irq_data *data)
{ {
} }
extern void ia64_mca_register_cpev(int); extern void ia64_mca_register_cpev(int);
static void sn_disable_irq(unsigned int irq) static void sn_disable_irq(struct irq_data *data)
{ {
if (irq == local_vector_to_irq(IA64_CPE_VECTOR)) if (data->irq == local_vector_to_irq(IA64_CPE_VECTOR))
ia64_mca_register_cpev(0); ia64_mca_register_cpev(0);
} }
static void sn_enable_irq(unsigned int irq) static void sn_enable_irq(struct irq_data *data)
{ {
if (irq == local_vector_to_irq(IA64_CPE_VECTOR)) if (data->irq == local_vector_to_irq(IA64_CPE_VECTOR))
ia64_mca_register_cpev(irq); ia64_mca_register_cpev(data->irq);
} }
static void sn_ack_irq(unsigned int irq) static void sn_ack_irq(struct irq_data *data)
{ {
u64 event_occurred, mask; u64 event_occurred, mask;
unsigned int irq = data->irq & 0xff;
irq = irq & 0xff;
event_occurred = HUB_L((u64*)LOCAL_MMR_ADDR(SH_EVENT_OCCURRED)); event_occurred = HUB_L((u64*)LOCAL_MMR_ADDR(SH_EVENT_OCCURRED));
mask = event_occurred & SH_ALL_INT_MASK; mask = event_occurred & SH_ALL_INT_MASK;
HUB_S((u64*)LOCAL_MMR_ADDR(SH_EVENT_OCCURRED_ALIAS), mask); HUB_S((u64*)LOCAL_MMR_ADDR(SH_EVENT_OCCURRED_ALIAS), mask);
...@@ -206,9 +206,11 @@ struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *sn_irq_info, ...@@ -206,9 +206,11 @@ struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *sn_irq_info,
return new_irq_info; return new_irq_info;
} }
static int sn_set_affinity_irq(unsigned int irq, const struct cpumask *mask) static int sn_set_affinity_irq(struct irq_data *data,
const struct cpumask *mask, bool force)
{ {
struct sn_irq_info *sn_irq_info, *sn_irq_info_safe; struct sn_irq_info *sn_irq_info, *sn_irq_info_safe;
unsigned int irq = data->irq;
nasid_t nasid; nasid_t nasid;
int slice; int slice;
...@@ -237,25 +239,25 @@ void sn_set_err_irq_affinity(unsigned int irq) { } ...@@ -237,25 +239,25 @@ void sn_set_err_irq_affinity(unsigned int irq) { }
#endif #endif
static void static void
sn_mask_irq(unsigned int irq) sn_mask_irq(struct irq_data *data)
{ {
} }
static void static void
sn_unmask_irq(unsigned int irq) sn_unmask_irq(struct irq_data *data)
{ {
} }
struct irq_chip irq_type_sn = { struct irq_chip irq_type_sn = {
.name = "SN hub", .name = "SN hub",
.startup = sn_startup_irq, .irq_startup = sn_startup_irq,
.shutdown = sn_shutdown_irq, .irq_shutdown = sn_shutdown_irq,
.enable = sn_enable_irq, .irq_enable = sn_enable_irq,
.disable = sn_disable_irq, .irq_disable = sn_disable_irq,
.ack = sn_ack_irq, .irq_ack = sn_ack_irq,
.mask = sn_mask_irq, .irq_mask = sn_mask_irq,
.unmask = sn_unmask_irq, .irq_unmask = sn_unmask_irq,
.set_affinity = sn_set_affinity_irq .irq_set_affinity = sn_set_affinity_irq
}; };
ia64_vector sn_irq_to_vector(int irq) ia64_vector sn_irq_to_vector(int irq)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册