Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4355e67 authored by Jiang Liu's avatar Jiang Liu Committed by Thomas Gleixner
Browse files

x86: intel-mid: Use the new io_apic interfaces



Commit 9f354b02 "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: default avatarJiang Liu <jiang.liu@linux.intel.com>
Acked-by: default avatarDavid 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: default avatarThomas Gleixner <tglx@linutronix.de>
parent 411cf9ee
Loading
Loading
Loading
Loading
+6 −16
Original line number Diff line number Diff line
@@ -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;
	}