summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner2010-10-08 22:31:46 +0200
committerThomas Gleixner2010-10-12 16:53:39 +0200
commitbe5b7bf73802a9391158d9fcc0bc6b07670c73a5 (patch)
tree2160390dd1eb16fcaa22bac2023ad60ece3c420f
parentx86: Cleanup hpet affinity setting (diff)
downloadkernel-qcow2-linux-be5b7bf73802a9391158d9fcc0bc6b07670c73a5.tar.gz
kernel-qcow2-linux-be5b7bf73802a9391158d9fcc0bc6b07670c73a5.tar.xz
kernel-qcow2-linux-be5b7bf73802a9391158d9fcc0bc6b07670c73a5.zip
x86: Convert ht set_affinity to new chip function
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Ingo Molnar <mingo@elte.hu> Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
-rw-r--r--arch/x86/kernel/apic/io_apic.c25
1 files changed, 11 insertions, 14 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 0b9ec3cb311f..b144f7a95970 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -3646,33 +3646,30 @@ static void target_ht_irq(unsigned int irq, unsigned int dest, u8 vector)
write_ht_irq_msg(irq, &msg);
}
-static int set_ht_irq_affinity(unsigned int irq, const struct cpumask *mask)
+static int
+ht_set_affinity(struct irq_data *data, const struct cpumask *mask, bool force)
{
- struct irq_desc *desc = irq_to_desc(irq);
- struct irq_cfg *cfg;
+ struct irq_cfg *cfg = data->chip_data;
unsigned int dest;
- if (__ioapic_set_affinity(&desc->irq_data, mask, &dest))
+ if (__ioapic_set_affinity(data, mask, &dest))
return -1;
- cfg = get_irq_desc_chip_data(desc);
-
- target_ht_irq(irq, dest, cfg->vector);
-
+ target_ht_irq(data->irq, dest, cfg->vector);
return 0;
}
#endif
static struct irq_chip ht_irq_chip = {
- .name = "PCI-HT",
- .irq_mask = mask_ht_irq,
- .irq_unmask = unmask_ht_irq,
- .irq_ack = ack_apic_edge,
+ .name = "PCI-HT",
+ .irq_mask = mask_ht_irq,
+ .irq_unmask = unmask_ht_irq,
+ .irq_ack = ack_apic_edge,
#ifdef CONFIG_SMP
- .set_affinity = set_ht_irq_affinity,
+ .irq_set_affinity = ht_set_affinity,
#endif
- .irq_retrigger = ioapic_retrigger_irq,
+ .irq_retrigger = ioapic_retrigger_irq,
};
int arch_setup_ht_irq(unsigned int irq, struct pci_dev *dev)