aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses/i2c-pxa-pci.c
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
committerJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
commit8dea78da5cee153b8af9c07a2745f6c55057fe12 (patch)
treea8f4d49d63b1ecc92f2fddceba0655b2472c5bd9 /drivers/i2c/busses/i2c-pxa-pci.c
parent406089d01562f1e2bf9f089fd7637009ebaad589 (diff)
Patched in Tegra support.
Diffstat (limited to 'drivers/i2c/busses/i2c-pxa-pci.c')
-rw-r--r--drivers/i2c/busses/i2c-pxa-pci.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/drivers/i2c/busses/i2c-pxa-pci.c b/drivers/i2c/busses/i2c-pxa-pci.c
index 3d4985695ae..b73da6cd6f9 100644
--- a/drivers/i2c/busses/i2c-pxa-pci.c
+++ b/drivers/i2c/busses/i2c-pxa-pci.c
@@ -3,7 +3,6 @@
3 * It does not support slave mode, the register slightly moved. This PCI 3 * It does not support slave mode, the register slightly moved. This PCI
4 * device provides three bars, every contains a single I2C controller. 4 * device provides three bars, every contains a single I2C controller.
5 */ 5 */
6#include <linux/module.h>
7#include <linux/pci.h> 6#include <linux/pci.h>
8#include <linux/platform_device.h> 7#include <linux/platform_device.h>
9#include <linux/i2c/pxa-i2c.h> 8#include <linux/i2c/pxa-i2c.h>
@@ -94,7 +93,7 @@ out:
94 return ERR_PTR(ret); 93 return ERR_PTR(ret);
95} 94}
96 95
97static int ce4100_i2c_probe(struct pci_dev *dev, 96static int __devinit ce4100_i2c_probe(struct pci_dev *dev,
98 const struct pci_device_id *ent) 97 const struct pci_device_id *ent)
99{ 98{
100 int ret; 99 int ret;
@@ -135,7 +134,7 @@ err_mem:
135 return ret; 134 return ret;
136} 135}
137 136
138static void ce4100_i2c_remove(struct pci_dev *dev) 137static void __devexit ce4100_i2c_remove(struct pci_dev *dev)
139{ 138{
140 struct ce4100_devices *sds; 139 struct ce4100_devices *sds;
141 unsigned int i; 140 unsigned int i;
@@ -150,7 +149,7 @@ static void ce4100_i2c_remove(struct pci_dev *dev)
150 kfree(sds); 149 kfree(sds);
151} 150}
152 151
153static DEFINE_PCI_DEVICE_TABLE(ce4100_i2c_devices) = { 152static struct pci_device_id ce4100_i2c_devices[] __devinitdata = {
154 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x2e68)}, 153 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x2e68)},
155 { }, 154 { },
156}; 155};
@@ -160,10 +159,20 @@ static struct pci_driver ce4100_i2c_driver = {
160 .name = "ce4100_i2c", 159 .name = "ce4100_i2c",
161 .id_table = ce4100_i2c_devices, 160 .id_table = ce4100_i2c_devices,
162 .probe = ce4100_i2c_probe, 161 .probe = ce4100_i2c_probe,
163 .remove = ce4100_i2c_remove, 162 .remove = __devexit_p(ce4100_i2c_remove),
164}; 163};
165 164
166module_pci_driver(ce4100_i2c_driver); 165static int __init ce4100_i2c_init(void)
166{
167 return pci_register_driver(&ce4100_i2c_driver);
168}
169module_init(ce4100_i2c_init);
170
171static void __exit ce4100_i2c_exit(void)
172{
173 pci_unregister_driver(&ce4100_i2c_driver);
174}
175module_exit(ce4100_i2c_exit);
167 176
168MODULE_DESCRIPTION("CE4100 PCI-I2C glue code for PXA's driver"); 177MODULE_DESCRIPTION("CE4100 PCI-I2C glue code for PXA's driver");
169MODULE_LICENSE("GPL v2"); 178MODULE_LICENSE("GPL v2");