return NULL;
}
-static int fsi_i2c_probe(struct device *dev)
+static int fsi_i2c_probe(struct fsi_device *fsi_dev)
{
+ struct device *dev = &fsi_dev->dev;
struct fsi_i2c_ctrl *i2c;
struct fsi_i2c_port *port;
struct device_node *np;
list_add(&port->list, &i2c->ports);
}
- dev_set_drvdata(dev, i2c);
+ fsi_set_drvdata(fsi_dev, i2c);
return 0;
}
-static int fsi_i2c_remove(struct device *dev)
+static void fsi_i2c_remove(struct fsi_device *fsi_dev)
{
- struct fsi_i2c_ctrl *i2c = dev_get_drvdata(dev);
+ struct fsi_i2c_ctrl *i2c = fsi_get_drvdata(fsi_dev);
struct fsi_i2c_port *port, *tmp;
list_for_each_entry_safe(port, tmp, &i2c->ports, list) {
i2c_del_adapter(&port->adapter);
kfree(port);
}
-
- return 0;
}
static const struct fsi_device_id fsi_i2c_ids[] = {
static struct fsi_driver fsi_i2c_driver = {
.id_table = fsi_i2c_ids,
+ .probe = fsi_i2c_probe,
+ .remove = fsi_i2c_remove,
.drv = {
.name = "i2c-fsi",
- .probe = fsi_i2c_probe,
- .remove = fsi_i2c_remove,
},
};