X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fi2c%2Fbusses%2Fi2c-prosavage.c;h=9479525892e3e337d0872eef7f630041776bf0ff;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=0aabe49e5571aeb4de85982ada40c9ad37f21a54;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/drivers/i2c/busses/i2c-prosavage.c b/drivers/i2c/busses/i2c-prosavage.c index 0aabe49e5..947952589 100644 --- a/drivers/i2c/busses/i2c-prosavage.c +++ b/drivers/i2c/busses/i2c-prosavage.c @@ -54,7 +54,6 @@ * (Additional documentation needed :( */ -#include #include #include #include @@ -68,7 +67,7 @@ #define MAX_BUSSES 2 struct s_i2c_bus { - void *mmvga; + void __iomem *mmvga; int i2c_reg; int adap_ok; struct i2c_adapter adap; @@ -76,7 +75,7 @@ struct s_i2c_bus { }; struct s_i2c_chip { - void *mmio; + void __iomem *mmio; struct s_i2c_bus i2c_bus[MAX_BUSSES]; }; @@ -84,11 +83,6 @@ struct s_i2c_chip { /* * i2c configuration */ -#ifndef I2C_HW_B_S3VIA -#define I2C_HW_B_S3VIA 0x18 /* S3VIA ProSavage adapter */ -#endif - -/* delays */ #define CYCLE_DELAY 10 #define TIMEOUT (HZ / 2) @@ -96,13 +90,6 @@ struct s_i2c_chip { /* * S3/VIA 8365/8375 registers */ -#ifndef PCI_DEVICE_ID_S3_SAVAGE4 -#define PCI_DEVICE_ID_S3_SAVAGE4 0x8a25 -#endif -#ifndef PCI_DEVICE_ID_S3_PROSAVAGE8 -#define PCI_DEVICE_ID_S3_PROSAVAGE8 0x8d04 -#endif - #define VGA_CR_IX 0x3d4 #define VGA_CR_DATA 0x3d5 @@ -181,7 +168,7 @@ static int bit_s3via_getsda(void *bus) /* * adapter initialisation */ -static int i2c_register_bus(struct pci_dev *dev, struct s_i2c_bus *p, u8 *mmvga, u32 i2c_reg) +static int i2c_register_bus(struct pci_dev *dev, struct s_i2c_bus *p, void __iomem *mmvga, u32 i2c_reg) { int ret; p->adap.owner = THIS_MODULE; @@ -228,7 +215,7 @@ static void prosavage_remove(struct pci_dev *dev) ret = i2c_bit_del_bus(&chip->i2c_bus[i].adap); if (ret) { - dev_err(&dev->dev, ": %s not removed\n", + dev_err(&dev->dev, "%s not removed\n", chip->i2c_bus[i].adap.name); } } @@ -249,14 +236,12 @@ static int __devinit prosavage_probe(struct pci_dev *dev, const struct pci_devic struct s_i2c_chip *chip; struct s_i2c_bus *bus; - pci_set_drvdata(dev, kmalloc(sizeof(struct s_i2c_chip), GFP_KERNEL)); + pci_set_drvdata(dev, kzalloc(sizeof(struct s_i2c_chip), GFP_KERNEL)); chip = (struct s_i2c_chip *)pci_get_drvdata(dev); if (chip == NULL) { return -ENOMEM; } - memset(chip, 0, sizeof(struct s_i2c_chip)); - base = dev->resource[0].start & PCI_BASE_ADDRESS_MEM_MASK; len = dev->resource[0].end - base + 1; chip->mmio = ioremap_nocache(base, len); @@ -298,7 +283,7 @@ static int __devinit prosavage_probe(struct pci_dev *dev, const struct pci_devic } return 0; err_adap: - dev_err(&dev->dev, ": %s failed\n", bus->adap.name); + dev_err(&dev->dev, "%s failed\n", bus->adap.name); prosavage_remove(dev); return ret; } @@ -313,8 +298,10 @@ static struct pci_device_id prosavage_pci_tbl[] = { { 0, }, }; +MODULE_DEVICE_TABLE (pci, prosavage_pci_tbl); + static struct pci_driver prosavage_driver = { - .name = "prosavage-smbus", + .name = "prosavage_smbus", .id_table = prosavage_pci_tbl, .probe = prosavage_probe, .remove = prosavage_remove, @@ -322,7 +309,7 @@ static struct pci_driver prosavage_driver = { static int __init i2c_prosavage_init(void) { - return pci_module_init(&prosavage_driver); + return pci_register_driver(&prosavage_driver); } static void __exit i2c_prosavage_exit(void)