diff options
| -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 | ||
