Commit 3cc00862 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Rafael J. Wysocki
Browse files

x86/PCI: Get rid of custom x86 model comparison



Switch the platform code to use x86_id_table and accompanying API
instead of custom comparison against x86 CPU model.

This is one of the last users of custom API for that and following
changes will remove it for the good.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 4590d98f
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -28,10 +28,12 @@
#include <linux/io.h>
#include <linux/smp.h>

#include <asm/cpu_device_id.h>
#include <asm/segment.h>
#include <asm/pci_x86.h>
#include <asm/hw_irq.h>
#include <asm/io_apic.h>
#include <asm/intel-family.h>
#include <asm/intel-mid.h>
#include <asm/acpi.h>

@@ -212,10 +214,17 @@ static int pci_write(struct pci_bus *bus, unsigned int devfn, int where,
			       where, size, value);
}

static const struct x86_cpu_id intel_mid_cpu_ids[] = {
	X86_MATCH_INTEL_FAM6_MODEL(ATOM_SILVERMONT_MID, NULL),
	{}
};

static int intel_mid_pci_irq_enable(struct pci_dev *dev)
{
	const struct x86_cpu_id *id;
	struct irq_alloc_info info;
	bool polarity_low;
	u16 model = 0;
	int ret;
	u8 gsi;

@@ -228,8 +237,12 @@ static int intel_mid_pci_irq_enable(struct pci_dev *dev)
		return ret;
	}

	switch (intel_mid_identify_cpu()) {
	case INTEL_MID_CPU_CHIP_TANGIER:
	id = x86_match_cpu(intel_mid_cpu_ids);
	if (id)
		model = id->model;

	switch (model) {
	case INTEL_FAM6_ATOM_SILVERMONT_MID:
		polarity_low = false;

		/* Special treatment for IRQ0 */