x86: intel-mid: Use the new io_apic interfaces
Commit 9f354b0252
"x86, irq: Clean up unused IOAPIC interface" kills
interface io_apic_set_pci_routing(), so change arch/x86/platform/
intel-mid/device_libs/platform_wdt.c to use new interfaces.
Due to hardware resource restriction, this patch only passes compilation
without functional tests.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Acked-by: David Cohen <david.a.cohen@linux.intel.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Tang Feng <feng.tang@intel.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Tony Luck <tony.luck@intel.com>
Link: http://lkml.kernel.org/r/1403490643-26187-1-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
411cf9ee29
commit
a4355e6749
|
@ -26,28 +26,18 @@ static struct platform_device wdt_dev = {
|
|||
|
||||
static int tangier_probe(struct platform_device *pdev)
|
||||
{
|
||||
int ioapic;
|
||||
int irq;
|
||||
int gsi;
|
||||
struct intel_mid_wdt_pdata *pdata = pdev->dev.platform_data;
|
||||
struct io_apic_irq_attr irq_attr = { 0 };
|
||||
|
||||
if (!pdata)
|
||||
return -EINVAL;
|
||||
|
||||
irq = pdata->irq;
|
||||
ioapic = mp_find_ioapic(irq);
|
||||
if (ioapic >= 0) {
|
||||
int ret;
|
||||
irq_attr.ioapic = ioapic;
|
||||
irq_attr.ioapic_pin = irq;
|
||||
irq_attr.trigger = 1;
|
||||
/* irq_attr.polarity = 0; -> Active high */
|
||||
ret = io_apic_set_pci_routing(NULL, irq, &irq_attr);
|
||||
if (ret)
|
||||
return ret;
|
||||
} else {
|
||||
/* IOAPIC builds identity mapping between GSI and IRQ on MID */
|
||||
gsi = pdata->irq;
|
||||
if (mp_set_gsi_attr(gsi, 1, 0, cpu_to_node(0)) ||
|
||||
mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC) <= 0) {
|
||||
dev_warn(&pdev->dev, "cannot find interrupt %d in ioapic\n",
|
||||
irq);
|
||||
gsi);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue