git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
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-ixp4xx.c
diff --git
a/drivers/i2c/busses/i2c-ixp4xx.c
b/drivers/i2c/busses/i2c-ixp4xx.c
index
8c55eaf
..
2ed0711
100644
(file)
--- a/
drivers/i2c/busses/i2c-ixp4xx.c
+++ b/
drivers/i2c/busses/i2c-ixp4xx.c
@@
-26,14
+26,9
@@
* that is passed as the platform_data to this driver.
*/
* that is passed as the platform_data to this driver.
*/
-#include <linux/config.h>
-#ifdef CONFIG_I2C_DEBUG_BUS
-#define DEBUG 1
-#endif
-
#include <linux/kernel.h>
#include <linux/init.h>
#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 <linux/module.h>
#include <linux/i2c.h>
#include <linux/i2c-algo-bit.h>
@@
-90,12
+85,11
@@
struct ixp4xx_i2c_data {
struct i2c_algo_bit_data algo_data;
};
struct i2c_algo_bit_data algo_data;
};
-static int ixp4xx_i2c_remove(struct
device *
dev)
+static int ixp4xx_i2c_remove(struct
platform_device *plat_
dev)
{
{
- struct platform_device *plat_dev = to_platform_device(dev);
- struct ixp4xx_i2c_data *drv_data = dev_get_drvdata(&plat_dev->dev);
+ struct ixp4xx_i2c_data *drv_data = platform_get_drvdata(plat_dev);
-
dev_set_drvdata(&plat_dev->
dev, NULL);
+
platform_set_drvdata(plat_
dev, NULL);
i2c_bit_del_bus(&drv_data->adapter);
i2c_bit_del_bus(&drv_data->adapter);
@@
-104,18
+98,16
@@
static int ixp4xx_i2c_remove(struct device *dev)
return 0;
}
return 0;
}
-static int ixp4xx_i2c_probe(struct
device *
dev)
+static int ixp4xx_i2c_probe(struct
platform_device *plat_
dev)
{
int err;
{
int err;
- 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 =
struct ixp4xx_i2c_pins *gpio = plat_dev->dev.platform_data;
struct ixp4xx_i2c_data *drv_data =
- k
m
alloc(sizeof(struct ixp4xx_i2c_data), GFP_KERNEL);
+ k
z
alloc(sizeof(struct ixp4xx_i2c_data), GFP_KERNEL);
if(!drv_data)
return -ENOMEM;
if(!drv_data)
return -ENOMEM;
- memzero(drv_data, sizeof(struct ixp4xx_i2c_data));
drv_data->gpio_pins = gpio;
/*
drv_data->gpio_pins = gpio;
/*
@@
-134,6
+126,9
@@
static int ixp4xx_i2c_probe(struct device *dev)
drv_data->algo_data.timeout = 100;
drv_data->adapter.id = I2C_HW_B_IXP4XX;
drv_data->algo_data.timeout = 100;
drv_data->adapter.id = I2C_HW_B_IXP4XX;
+ drv_data->adapter.class = I2C_CLASS_HWMON;
+ strlcpy(drv_data->adapter.name, plat_dev->dev.driver->name,
+ I2C_NAME_SIZE);
drv_data->adapter.algo_data = &drv_data->algo_data;
drv_data->adapter.dev.parent = &plat_dev->dev;
drv_data->adapter.algo_data = &drv_data->algo_data;
drv_data->adapter.dev.parent = &plat_dev->dev;
@@
-144,32
+139,34
@@
static int ixp4xx_i2c_probe(struct device *dev)
gpio_line_set(gpio->sda_pin, 0);
if ((err = i2c_bit_add_bus(&drv_data->adapter) != 0)) {
gpio_line_set(gpio->sda_pin, 0);
if ((err = i2c_bit_add_bus(&drv_data->adapter) != 0)) {
- printk(KERN_ERR "ERROR: Could not install %s\n",
dev->
bus_id);
+ printk(KERN_ERR "ERROR: Could not install %s\n",
plat_dev->dev.
bus_id);
kfree(drv_data);
return err;
}
kfree(drv_data);
return err;
}
-
dev_set_drvdata(&plat_dev->
dev, drv_data);
+
platform_set_drvdata(plat_
dev, drv_data);
return 0;
}
return 0;
}
-static struct device_driver ixp4xx_i2c_driver = {
- .name = "IXP4XX-I2C",
- .bus = &platform_bus_type,
+static struct platform_driver ixp4xx_i2c_driver = {
.probe = ixp4xx_i2c_probe,
.remove = ixp4xx_i2c_remove,
.probe = ixp4xx_i2c_probe,
.remove = ixp4xx_i2c_remove,
+ .driver = {
+ .name = "IXP4XX-I2C",
+ .owner = THIS_MODULE,
+ },
};
static int __init ixp4xx_i2c_init(void)
{
};
static int __init ixp4xx_i2c_init(void)
{
- return driver_register(&ixp4xx_i2c_driver);
+ return
platform_
driver_register(&ixp4xx_i2c_driver);
}
static void __exit ixp4xx_i2c_exit(void)
{
}
static void __exit ixp4xx_i2c_exit(void)
{
- driver_unregister(&ixp4xx_i2c_driver);
+
platform_
driver_unregister(&ixp4xx_i2c_driver);
}
module_init(ixp4xx_i2c_init);
}
module_init(ixp4xx_i2c_init);