Merge master.kernel.org:/pub/scm/linux/kernel/git/bunk/trivial
[powerpc.git] / drivers / i2c / busses / i2c-ixp4xx.c
index f6f5ca3..cc652c3 100644 (file)
 
 #include <linux/kernel.h>
 #include <linux/init.h>
-#include <linux/device.h>
+#include <linux/platform_device.h>
 #include <linux/module.h>
 #include <linux/i2c.h>
 #include <linux/i2c-algo-bit.h>
 
 #include <asm/hardware.h>      /* Pick up IXP4xx-specific bits */
 
+static struct device_driver ixp4xx_i2c_driver;
+
 static inline int ixp4xx_scl_pin(void *data)
 {
        return ((struct ixp4xx_i2c_pins*)data)->scl_pin;
@@ -105,12 +107,11 @@ static int ixp4xx_i2c_probe(struct device *dev)
        struct platform_device *plat_dev = to_platform_device(dev);
        struct ixp4xx_i2c_pins *gpio = plat_dev->dev.platform_data;
        struct ixp4xx_i2c_data *drv_data = 
-               kmalloc(sizeof(struct ixp4xx_i2c_data), GFP_KERNEL);
+               kzalloc(sizeof(struct ixp4xx_i2c_data), GFP_KERNEL);
 
        if(!drv_data)
                return -ENOMEM;
 
-       memzero(drv_data, sizeof(struct ixp4xx_i2c_data));
        drv_data->gpio_pins = gpio;
 
        /*
@@ -129,6 +130,8 @@ static int ixp4xx_i2c_probe(struct device *dev)
        drv_data->algo_data.timeout = 100;
 
        drv_data->adapter.id = I2C_HW_B_IXP4XX;
+       strlcpy(drv_data->adapter.name, ixp4xx_i2c_driver.name,
+               I2C_NAME_SIZE);
        drv_data->adapter.algo_data = &drv_data->algo_data;
 
        drv_data->adapter.dev.parent = &plat_dev->dev;
@@ -151,6 +154,7 @@ static int ixp4xx_i2c_probe(struct device *dev)
 }
 
 static struct device_driver ixp4xx_i2c_driver = {
+       .owner          = THIS_MODULE,
        .name           = "IXP4XX-I2C",
        .bus            = &platform_bus_type,
        .probe          = ixp4xx_i2c_probe,