Refactor driver structs
Our driver infrastructure became more flexible recently. Make use of it. These are the low hanging fruits (files with 5 device variants or more), but there are still lots of files with less potential for deduplication. Change-Id: If6b7be5046581f81485a511b150f99b029b95c3b Signed-off-by: Patrick Georgi <patrick@georgi-clan.de> Reviewed-on: http://review.coreboot.org/1358 Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Tested-by: build bot (Jenkins)
This commit is contained in:
@@ -121,44 +121,18 @@ static struct device_operations device_ops = {
|
||||
.ops_pci = &pci_ops,
|
||||
};
|
||||
|
||||
/* 82801GB/GR/GDH/GBM/GHM (ICH7/ICH7R/ICH7DH/ICH7-M/ICH7-M DH) */
|
||||
static const struct pci_driver i82801gx_pcie_port1 __pci_driver = {
|
||||
.ops = &device_ops,
|
||||
.vendor = PCI_VENDOR_ID_INTEL,
|
||||
.device = 0x27d0,
|
||||
static const unsigned short i82801gx_pcie_ids[] = {
|
||||
0x27d0, /* 82801GB/GR/GDH/GBM/GHM (ICH7/ICH7R/ICH7DH/ICH7-M/ICH7-M DH) */
|
||||
0x27d2, /* 82801GB/GR/GDH/GBM/GHM (ICH7/ICH7R/ICH7DH/ICH7-M/ICH7-M DH) */
|
||||
0x27d4, /* 82801GB/GR/GDH/GBM/GHM (ICH7/ICH7R/ICH7DH/ICH7-M/ICH7-M DH) */
|
||||
0x27d6, /* 82801GB/GR/GDH/GBM/GHM (ICH7/ICH7R/ICH7DH/ICH7-M/ICH7-M DH) */
|
||||
0x27e0, /* 82801GR/GDH/GHM (ICH7R/ICH7DH/ICH7-M DH) */
|
||||
0x27e2, /* 82801GR/GDH/GHM (ICH7R/ICH7DH/ICH7-M DH) */
|
||||
0
|
||||
};
|
||||
|
||||
/* 82801GB/GR/GDH/GBM/GHM (ICH7/ICH7R/ICH7DH/ICH7-M/ICH7-M DH) */
|
||||
static const struct pci_driver i82801gx_pcie_port2 __pci_driver = {
|
||||
static const struct pci_driver i82801gx_pcie __pci_driver = {
|
||||
.ops = &device_ops,
|
||||
.vendor = PCI_VENDOR_ID_INTEL,
|
||||
.device = 0x27d2,
|
||||
};
|
||||
|
||||
/* 82801GB/GR/GDH/GBM/GHM (ICH7/ICH7R/ICH7DH/ICH7-M/ICH7-M DH) */
|
||||
static const struct pci_driver i82801gx_pcie_port3 __pci_driver = {
|
||||
.ops = &device_ops,
|
||||
.vendor = PCI_VENDOR_ID_INTEL,
|
||||
.device = 0x27d4,
|
||||
};
|
||||
|
||||
/* 82801GB/GR/GDH/GBM/GHM (ICH7/ICH7R/ICH7DH/ICH7-M/ICH7-M DH) */
|
||||
static const struct pci_driver i82801gx_pcie_port4 __pci_driver = {
|
||||
.ops = &device_ops,
|
||||
.vendor = PCI_VENDOR_ID_INTEL,
|
||||
.device = 0x27d6,
|
||||
};
|
||||
|
||||
/* 82801GR/GDH/GHM (ICH7R/ICH7DH/ICH7-M DH) */
|
||||
static const struct pci_driver i82801gx_pcie_port5 __pci_driver = {
|
||||
.ops = &device_ops,
|
||||
.vendor = PCI_VENDOR_ID_INTEL,
|
||||
.device = 0x27e0,
|
||||
};
|
||||
|
||||
/* 82801GR/GDH/GHM (ICH7R/ICH7DH/ICH7-M DH) */
|
||||
static const struct pci_driver i82801gx_pcie_port6 __pci_driver = {
|
||||
.ops = &device_ops,
|
||||
.vendor = PCI_VENDOR_ID_INTEL,
|
||||
.device = 0x27e2,
|
||||
.devices= i82801gx_pcie_ids,
|
||||
};
|
||||
|
@@ -213,53 +213,19 @@ static struct device_operations sata_ops = {
|
||||
.ops_pci = &sata_pci_ops,
|
||||
};
|
||||
|
||||
/* Desktop Non-AHCI and Non-RAID Mode */
|
||||
/* 82801GB/GR/GDH (ICH7/ICH7R/ICH7DH) */
|
||||
static const struct pci_driver i82801gx_sata_normal_driver __pci_driver = {
|
||||
.ops = &sata_ops,
|
||||
.vendor = PCI_VENDOR_ID_INTEL,
|
||||
.device = 0x27c0,
|
||||
static const unsigned short sata_ids[] = {
|
||||
0x27c0, /* Desktop Non-AHCI and Non-RAID Mode: 82801GB/GR/GDH (ICH7/ICH7R/ICH7DH) */
|
||||
0x27c4, /* Mobile Non-AHCI and Non-RAID Mode: 82801GBM/GHM (ICH7-M/ICH7-M DH) */
|
||||
/* NOTE: Any of the below are not properly supported yet. */
|
||||
0x27c1, /* Desktop AHCI Mode: 82801GB/GR/GDH (ICH7/ICH7R/ICH7DH) */
|
||||
0x27c3, /* Desktop RAID mode: 82801GB/GR/GDH (ICH7/ICH7R/ICH7DH) */
|
||||
0x27c5, /* Mobile AHCI Mode: 82801GBM/GHM (ICH7-M/ICH7-M DH) */
|
||||
0x27c6, /* ICH7M DH Raid Mode: 82801GHM (ICH7-M DH) */
|
||||
0
|
||||
};
|
||||
|
||||
/* Mobile Non-AHCI and Non-RAID Mode */
|
||||
/* 82801GBM/GHM (ICH7-M/ICH7-M DH) */
|
||||
static const struct pci_driver i82801gx_sata_mobile_normal_driver __pci_driver = {
|
||||
static const struct pci_driver i82801gx_sata_driver __pci_driver = {
|
||||
.ops = &sata_ops,
|
||||
.vendor = PCI_VENDOR_ID_INTEL,
|
||||
.device = 0x27c4,
|
||||
};
|
||||
|
||||
|
||||
/* NOTE: Any of the below are not properly supported yet. */
|
||||
|
||||
/* Desktop AHCI Mode */
|
||||
/* 82801GB/GR/GDH (ICH7/ICH7R/ICH7DH) */
|
||||
static const struct pci_driver i82801gx_sata_ahci_driver __pci_driver = {
|
||||
.ops = &sata_ops,
|
||||
.vendor = PCI_VENDOR_ID_INTEL,
|
||||
.device = 0x27c1,
|
||||
};
|
||||
|
||||
/* Desktop RAID mode */
|
||||
/* 82801GB/GR/GDH (ICH7/ICH7R/ICH7DH) */
|
||||
static const struct pci_driver i82801gx_sata_raid_driver __pci_driver = {
|
||||
.ops = &sata_ops,
|
||||
.vendor = PCI_VENDOR_ID_INTEL,
|
||||
.device = 0x27c3,
|
||||
};
|
||||
|
||||
/* Mobile AHCI Mode */
|
||||
/* 82801GBM/GHM (ICH7-M/ICH7-M DH) */
|
||||
static const struct pci_driver i82801gx_sata_mobile_ahci_driver __pci_driver = {
|
||||
.ops = &sata_ops,
|
||||
.vendor = PCI_VENDOR_ID_INTEL,
|
||||
.device = 0x27c5,
|
||||
};
|
||||
|
||||
/* ICH7M DH Raid Mode */
|
||||
/* 82801GHM (ICH7-M DH) */
|
||||
static const struct pci_driver i82801gx_sata_ich7dh_raid_driver __pci_driver = {
|
||||
.ops = &sata_ops,
|
||||
.vendor = PCI_VENDOR_ID_INTEL,
|
||||
.device = 0x27c6,
|
||||
.devices= sata_ids,
|
||||
};
|
||||
|
Reference in New Issue
Block a user