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 core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
i2c
/
busses
/
i2c-powermac.c
diff --git
a/drivers/i2c/busses/i2c-powermac.c
b/drivers/i2c/busses/i2c-powermac.c
index
df786eb
..
648d555
100644
(file)
--- a/
drivers/i2c/busses/i2c-powermac.c
+++ b/
drivers/i2c/busses/i2c-powermac.c
@@
-20,7
+20,6
@@
*/
*/
-#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/types.h>
@@
-149,8
+148,6
@@
static int i2c_powermac_master_xfer( struct i2c_adapter *adap,
int read;
int addrdir;
int read;
int addrdir;
- if (num != 1)
- return -EINVAL;
if (msgs->flags & I2C_M_TEN)
return -EINVAL;
read = (msgs->flags & I2C_M_RD) != 0;
if (msgs->flags & I2C_M_TEN)
return -EINVAL;
read = (msgs->flags & I2C_M_RD) != 0;
@@
-167,7
+164,7
@@
static int i2c_powermac_master_xfer( struct i2c_adapter *adap,
rc = pmac_i2c_xfer(bus, addrdir, 0, 0, msgs->buf, msgs->len);
bail:
pmac_i2c_close(bus);
rc = pmac_i2c_xfer(bus, addrdir, 0, 0, msgs->buf, msgs->len);
bail:
pmac_i2c_close(bus);
- return rc < 0 ? rc :
msgs->len
;
+ return rc < 0 ? rc :
1
;
}
static u32 i2c_powermac_func(struct i2c_adapter * adapter)
}
static u32 i2c_powermac_func(struct i2c_adapter * adapter)
@@
-178,16
+175,16
@@
static u32 i2c_powermac_func(struct i2c_adapter * adapter)
}
/* For now, we only handle smbus */
}
/* For now, we only handle smbus */
-static struct i2c_algorithm i2c_powermac_algorithm = {
+static
const
struct i2c_algorithm i2c_powermac_algorithm = {
.smbus_xfer = i2c_powermac_smbus_xfer,
.master_xfer = i2c_powermac_master_xfer,
.functionality = i2c_powermac_func,
};
.smbus_xfer = i2c_powermac_smbus_xfer,
.master_xfer = i2c_powermac_master_xfer,
.functionality = i2c_powermac_func,
};
-static int i2c_powermac_remove(struct device *dev)
+static int i2c_powermac_remove(struct
platform_
device *dev)
{
{
- struct i2c_adapter *adapter =
dev
_get_drvdata(dev);
+ struct i2c_adapter *adapter =
platform
_get_drvdata(dev);
struct pmac_i2c_bus *bus = i2c_get_adapdata(adapter);
int rc;
struct pmac_i2c_bus *bus = i2c_get_adapdata(adapter);
int rc;
@@
-198,19
+195,20
@@
static int i2c_powermac_remove(struct device *dev)
if (rc)
printk("i2c-powermac.c: Failed to remove bus %s !\n",
adapter->name);
if (rc)
printk("i2c-powermac.c: Failed to remove bus %s !\n",
adapter->name);
-
dev
_set_drvdata(dev, NULL);
+
platform
_set_drvdata(dev, NULL);
kfree(adapter);
return 0;
}
kfree(adapter);
return 0;
}
-static int
i2c_powermac_probe(struct
device *dev)
+static int
__devexit i2c_powermac_probe(struct platform_
device *dev)
{
{
- struct pmac_i2c_bus *bus = dev->platform_data;
+ struct pmac_i2c_bus *bus = dev->
dev.
platform_data;
struct device_node *parent = NULL;
struct i2c_adapter *adapter;
struct device_node *parent = NULL;
struct i2c_adapter *adapter;
- char name[32], *basename;
+ char name[32];
+ const char *basename;
int rc;
if (bus == NULL)
int rc;
if (bus == NULL)
@@
-248,11
+246,11
@@
static int i2c_powermac_probe(struct device *dev)
printk(KERN_ERR "i2c-powermac: can't allocate inteface !\n");
return -ENOMEM;
}
printk(KERN_ERR "i2c-powermac: can't allocate inteface !\n");
return -ENOMEM;
}
-
dev
_set_drvdata(dev, adapter);
+
platform
_set_drvdata(dev, adapter);
strcpy(adapter->name, name);
adapter->algo = &i2c_powermac_algorithm;
i2c_set_adapdata(adapter, bus);
strcpy(adapter->name, name);
adapter->algo = &i2c_powermac_algorithm;
i2c_set_adapdata(adapter, bus);
- adapter->dev.parent = dev;
+ adapter->dev.parent =
&dev->
dev;
pmac_i2c_attach_adapter(bus, adapter);
rc = i2c_add_adapter(adapter);
if (rc) {
pmac_i2c_attach_adapter(bus, adapter);
rc = i2c_add_adapter(adapter);
if (rc) {
@@
-267,23
+265,25
@@
static int i2c_powermac_probe(struct device *dev)
}
}
-static struct device_driver i2c_powermac_driver = {
- .name = "i2c-powermac",
- .bus = &platform_bus_type,
+static struct platform_driver i2c_powermac_driver = {
.probe = i2c_powermac_probe,
.probe = i2c_powermac_probe,
- .remove = i2c_powermac_remove,
+ .remove = __devexit_p(i2c_powermac_remove),
+ .driver = {
+ .name = "i2c-powermac",
+ .bus = &platform_bus_type,
+ },
};
static int __init i2c_powermac_init(void)
{
};
static int __init i2c_powermac_init(void)
{
- driver_register(&i2c_powermac_driver);
+
platform_
driver_register(&i2c_powermac_driver);
return 0;
}
static void __exit i2c_powermac_cleanup(void)
{
return 0;
}
static void __exit i2c_powermac_cleanup(void)
{
- driver_unregister(&i2c_powermac_driver);
+
platform_
driver_unregister(&i2c_powermac_driver);
}
module_init(i2c_powermac_init);
}
module_init(i2c_powermac_init);