mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
ia64: Use accessor functions all over the place
Use the proper accessor functions instead of open coded irq_desc access. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
41ef020321
commit
a2178334e9
@ -103,7 +103,7 @@ static char irq_redir [NR_IRQS]; // = { [0 ... NR_IRQS-1] = 1 };
|
|||||||
void set_irq_affinity_info (unsigned int irq, int hwid, int redir)
|
void set_irq_affinity_info (unsigned int irq, int hwid, int redir)
|
||||||
{
|
{
|
||||||
if (irq < NR_IRQS) {
|
if (irq < NR_IRQS) {
|
||||||
cpumask_copy(irq_desc[irq].affinity,
|
cpumask_copy(irq_get_irq_data(irq)->affinity,
|
||||||
cpumask_of(cpu_logical_id(hwid)));
|
cpumask_of(cpu_logical_id(hwid)));
|
||||||
irq_redir[irq] = (char) (redir & 0xff);
|
irq_redir[irq] = (char) (redir & 0xff);
|
||||||
}
|
}
|
||||||
|
@ -343,7 +343,7 @@ static irqreturn_t smp_irq_move_cleanup_interrupt(int irq, void *dev_id)
|
|||||||
if (irq < 0)
|
if (irq < 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
desc = irq_desc + irq;
|
desc = irq_to_desc(irq);
|
||||||
cfg = irq_cfg + irq;
|
cfg = irq_cfg + irq;
|
||||||
raw_spin_lock(&desc->lock);
|
raw_spin_lock(&desc->lock);
|
||||||
if (!cfg->move_cleanup_count)
|
if (!cfg->move_cleanup_count)
|
||||||
@ -626,13 +626,11 @@ static struct irqaction tlb_irqaction = {
|
|||||||
void
|
void
|
||||||
ia64_native_register_percpu_irq (ia64_vector vec, struct irqaction *action)
|
ia64_native_register_percpu_irq (ia64_vector vec, struct irqaction *action)
|
||||||
{
|
{
|
||||||
struct irq_desc *desc;
|
|
||||||
unsigned int irq;
|
unsigned int irq;
|
||||||
|
|
||||||
irq = vec;
|
irq = vec;
|
||||||
BUG_ON(bind_irq_vector(irq, vec, CPU_MASK_ALL));
|
BUG_ON(bind_irq_vector(irq, vec, CPU_MASK_ALL));
|
||||||
desc = irq_desc + irq;
|
irq_set_status_flags(irq, IRQ_PER_CPU);
|
||||||
desc->status |= IRQ_PER_CPU;
|
|
||||||
set_irq_chip(irq, &irq_type_ia64_lsapic);
|
set_irq_chip(irq, &irq_type_ia64_lsapic);
|
||||||
if (action)
|
if (action)
|
||||||
setup_irq(irq, action);
|
setup_irq(irq, action);
|
||||||
|
@ -2125,7 +2125,6 @@ ia64_mca_late_init(void)
|
|||||||
cpe_poll_timer.function = ia64_mca_cpe_poll;
|
cpe_poll_timer.function = ia64_mca_cpe_poll;
|
||||||
|
|
||||||
{
|
{
|
||||||
struct irq_desc *desc;
|
|
||||||
unsigned int irq;
|
unsigned int irq;
|
||||||
|
|
||||||
if (cpe_vector >= 0) {
|
if (cpe_vector >= 0) {
|
||||||
@ -2133,8 +2132,7 @@ ia64_mca_late_init(void)
|
|||||||
irq = local_vector_to_irq(cpe_vector);
|
irq = local_vector_to_irq(cpe_vector);
|
||||||
if (irq > 0) {
|
if (irq > 0) {
|
||||||
cpe_poll_enabled = 0;
|
cpe_poll_enabled = 0;
|
||||||
desc = irq_desc + irq;
|
irq_set_status_flags(irq, IRQ_PER_CPU);
|
||||||
desc->status |= IRQ_PER_CPU;
|
|
||||||
setup_irq(irq, &mca_cpe_irqaction);
|
setup_irq(irq, &mca_cpe_irqaction);
|
||||||
ia64_cpe_irq = irq;
|
ia64_cpe_irq = irq;
|
||||||
ia64_mca_register_cpev(cpe_vector);
|
ia64_mca_register_cpev(cpe_vector);
|
||||||
|
@ -273,15 +273,13 @@ unsigned int sn_local_vector_to_irq(u8 vector)
|
|||||||
void sn_irq_init(void)
|
void sn_irq_init(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
struct irq_desc *base_desc = irq_desc;
|
|
||||||
|
|
||||||
ia64_first_device_vector = IA64_SN2_FIRST_DEVICE_VECTOR;
|
ia64_first_device_vector = IA64_SN2_FIRST_DEVICE_VECTOR;
|
||||||
ia64_last_device_vector = IA64_SN2_LAST_DEVICE_VECTOR;
|
ia64_last_device_vector = IA64_SN2_LAST_DEVICE_VECTOR;
|
||||||
|
|
||||||
for (i = 0; i < NR_IRQS; i++) {
|
for (i = 0; i < NR_IRQS; i++) {
|
||||||
if (base_desc[i].chip == &no_irq_chip) {
|
if (irq_get_chip(i) == &no_irq_chip)
|
||||||
base_desc[i].chip = &irq_type_sn;
|
irq_set_chip(i, &irq_type_sn);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user