diff options
Diffstat (limited to 'drivers/mfd/lpc_sch.c')
-rw-r--r-- | drivers/mfd/lpc_sch.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/mfd/lpc_sch.c b/drivers/mfd/lpc_sch.c index 51b2f6065a0b..ea3f52c07ef7 100644 --- a/drivers/mfd/lpc_sch.c +++ b/drivers/mfd/lpc_sch.c | |||
@@ -61,6 +61,7 @@ static struct mfd_cell lpc_sch_cells[] = { | |||
61 | 61 | ||
62 | static struct pci_device_id lpc_sch_ids[] = { | 62 | static struct pci_device_id lpc_sch_ids[] = { |
63 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_SCH_LPC) }, | 63 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_SCH_LPC) }, |
64 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ITC_LPC) }, | ||
64 | { 0, } | 65 | { 0, } |
65 | }; | 66 | }; |
66 | MODULE_DEVICE_TABLE(pci, lpc_sch_ids); | 67 | MODULE_DEVICE_TABLE(pci, lpc_sch_ids); |
@@ -70,6 +71,7 @@ static int __devinit lpc_sch_probe(struct pci_dev *dev, | |||
70 | { | 71 | { |
71 | unsigned int base_addr_cfg; | 72 | unsigned int base_addr_cfg; |
72 | unsigned short base_addr; | 73 | unsigned short base_addr; |
74 | int i; | ||
73 | 75 | ||
74 | pci_read_config_dword(dev, SMBASE, &base_addr_cfg); | 76 | pci_read_config_dword(dev, SMBASE, &base_addr_cfg); |
75 | if (!(base_addr_cfg & (1 << 31))) { | 77 | if (!(base_addr_cfg & (1 << 31))) { |
@@ -99,7 +101,10 @@ static int __devinit lpc_sch_probe(struct pci_dev *dev, | |||
99 | gpio_sch_resource.start = base_addr; | 101 | gpio_sch_resource.start = base_addr; |
100 | gpio_sch_resource.end = base_addr + GPIO_IO_SIZE - 1; | 102 | gpio_sch_resource.end = base_addr + GPIO_IO_SIZE - 1; |
101 | 103 | ||
102 | return mfd_add_devices(&dev->dev, -1, | 104 | for (i=0; i < ARRAY_SIZE(lpc_sch_cells); i++) |
105 | lpc_sch_cells[i].id = id->device; | ||
106 | |||
107 | return mfd_add_devices(&dev->dev, 0, | ||
103 | lpc_sch_cells, ARRAY_SIZE(lpc_sch_cells), NULL, 0); | 108 | lpc_sch_cells, ARRAY_SIZE(lpc_sch_cells), NULL, 0); |
104 | } | 109 | } |
105 | 110 | ||