Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / drivers / i2c / busses / i2c-amd8111.c
index af22b40..e5ef560 100644 (file)
@@ -8,7 +8,6 @@
  * the Free Software Foundation version 2.
  */
 
-#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/pci.h>
 #include <linux/kernel.h>
@@ -31,6 +30,8 @@ struct amd_smbus {
        int size;
 };
 
+static struct pci_driver amd8111_driver;
+
 /*
  * AMD PCI control registers definitions.
  */
@@ -243,7 +244,6 @@ static s32 amd8111_access(struct i2c_adapter * adap, u16 addr, unsigned short fl
                        break;
 
                case I2C_SMBUS_BLOCK_PROC_CALL:
-                       protocol |= pec;
                        len = min_t(u8, data->block[0], 31);
                        amd_ec_write(smbus, AMD_SMB_CMD, command);
                        amd_ec_write(smbus, AMD_SMB_BCNT, len);
@@ -253,13 +253,6 @@ static s32 amd8111_access(struct i2c_adapter * adap, u16 addr, unsigned short fl
                        read_write = I2C_SMBUS_READ;
                        break;
 
-               case I2C_SMBUS_WORD_DATA_PEC:
-               case I2C_SMBUS_BLOCK_DATA_PEC:
-               case I2C_SMBUS_PROC_CALL_PEC:
-               case I2C_SMBUS_BLOCK_PROC_CALL_PEC:
-                       dev_warn(&adap->dev, "Unexpected software PEC transaction %d\n.", size);
-                       return -1;
-
                default:
                        dev_warn(&adap->dev, "Unsupported transaction %d\n", size);
                        return -1;
@@ -324,8 +317,6 @@ static u32 amd8111_func(struct i2c_adapter *adapter)
 }
 
 static struct i2c_algorithm smbus_algorithm = {
-       .name = "Non-I2C SMBus 2.0 adapter",
-       .id = I2C_ALGO_SMBUS,
        .smbus_xfer = amd8111_access,
        .functionality = amd8111_func,
 };
@@ -346,16 +337,15 @@ static int __devinit amd8111_probe(struct pci_dev *dev, const struct pci_device_
        if (~pci_resource_flags(dev, 0) & IORESOURCE_IO)
                return -ENODEV;
 
-       smbus = kmalloc(sizeof(struct amd_smbus), GFP_KERNEL);
+       smbus = kzalloc(sizeof(struct amd_smbus), GFP_KERNEL);
        if (!smbus)
                return -ENOMEM;
-       memset(smbus, 0, sizeof(struct amd_smbus));
 
        smbus->dev = dev;
        smbus->base = pci_resource_start(dev, 0);
        smbus->size = pci_resource_len(dev, 0);
 
-       if (!request_region(smbus->base, smbus->size, "amd8111 SMBus 2.0"))
+       if (!request_region(smbus->base, smbus->size, amd8111_driver.name))
                goto out_kfree;
 
        smbus->adapter.owner = THIS_MODULE;