Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
This commit is contained in:
@@ -440,7 +440,7 @@ static int __devinit cpm_i2c_setup(struct cpm_i2c *cpm)
|
||||
|
||||
init_waitqueue_head(&cpm->i2c_wait);
|
||||
|
||||
cpm->irq = of_irq_to_resource(ofdev->node, 0, NULL);
|
||||
cpm->irq = of_irq_to_resource(ofdev->dev.of_node, 0, NULL);
|
||||
if (!cpm->irq)
|
||||
return -EINVAL;
|
||||
|
||||
@@ -451,13 +451,13 @@ static int __devinit cpm_i2c_setup(struct cpm_i2c *cpm)
|
||||
return ret;
|
||||
|
||||
/* I2C parameter RAM */
|
||||
i2c_base = of_iomap(ofdev->node, 1);
|
||||
i2c_base = of_iomap(ofdev->dev.of_node, 1);
|
||||
if (i2c_base == NULL) {
|
||||
ret = -EINVAL;
|
||||
goto out_irq;
|
||||
}
|
||||
|
||||
if (of_device_is_compatible(ofdev->node, "fsl,cpm1-i2c")) {
|
||||
if (of_device_is_compatible(ofdev->dev.of_node, "fsl,cpm1-i2c")) {
|
||||
|
||||
/* Check for and use a microcode relocation patch. */
|
||||
cpm->i2c_ram = i2c_base;
|
||||
@@ -474,7 +474,7 @@ static int __devinit cpm_i2c_setup(struct cpm_i2c *cpm)
|
||||
|
||||
cpm->version = 1;
|
||||
|
||||
} else if (of_device_is_compatible(ofdev->node, "fsl,cpm2-i2c")) {
|
||||
} else if (of_device_is_compatible(ofdev->dev.of_node, "fsl,cpm2-i2c")) {
|
||||
cpm->i2c_addr = cpm_muram_alloc(sizeof(struct i2c_ram), 64);
|
||||
cpm->i2c_ram = cpm_muram_addr(cpm->i2c_addr);
|
||||
out_be16(i2c_base, cpm->i2c_addr);
|
||||
@@ -489,24 +489,24 @@ static int __devinit cpm_i2c_setup(struct cpm_i2c *cpm)
|
||||
}
|
||||
|
||||
/* I2C control/status registers */
|
||||
cpm->i2c_reg = of_iomap(ofdev->node, 0);
|
||||
cpm->i2c_reg = of_iomap(ofdev->dev.of_node, 0);
|
||||
if (cpm->i2c_reg == NULL) {
|
||||
ret = -EINVAL;
|
||||
goto out_ram;
|
||||
}
|
||||
|
||||
data = of_get_property(ofdev->node, "fsl,cpm-command", &len);
|
||||
data = of_get_property(ofdev->dev.of_node, "fsl,cpm-command", &len);
|
||||
if (!data || len != 4) {
|
||||
ret = -EINVAL;
|
||||
goto out_reg;
|
||||
}
|
||||
cpm->cp_command = *data;
|
||||
|
||||
data = of_get_property(ofdev->node, "linux,i2c-class", &len);
|
||||
data = of_get_property(ofdev->dev.of_node, "linux,i2c-class", &len);
|
||||
if (data && len == 4)
|
||||
cpm->adap.class = *data;
|
||||
|
||||
data = of_get_property(ofdev->node, "clock-frequency", &len);
|
||||
data = of_get_property(ofdev->dev.of_node, "clock-frequency", &len);
|
||||
if (data && len == 4)
|
||||
cpm->freq = *data;
|
||||
else
|
||||
@@ -661,7 +661,7 @@ static int __devinit cpm_i2c_probe(struct of_device *ofdev,
|
||||
|
||||
/* register new adapter to i2c module... */
|
||||
|
||||
data = of_get_property(ofdev->node, "linux,i2c-index", &len);
|
||||
data = of_get_property(ofdev->dev.of_node, "linux,i2c-index", &len);
|
||||
if (data && len == 4) {
|
||||
cpm->adap.nr = *data;
|
||||
result = i2c_add_numbered_adapter(&cpm->adap);
|
||||
@@ -679,7 +679,7 @@ static int __devinit cpm_i2c_probe(struct of_device *ofdev,
|
||||
/*
|
||||
* register OF I2C devices
|
||||
*/
|
||||
of_register_i2c_devices(&cpm->adap, ofdev->node);
|
||||
of_register_i2c_devices(&cpm->adap, ofdev->dev.of_node);
|
||||
|
||||
return 0;
|
||||
out_shut:
|
||||
@@ -718,13 +718,13 @@ static const struct of_device_id cpm_i2c_match[] = {
|
||||
MODULE_DEVICE_TABLE(of, cpm_i2c_match);
|
||||
|
||||
static struct of_platform_driver cpm_i2c_driver = {
|
||||
.match_table = cpm_i2c_match,
|
||||
.probe = cpm_i2c_probe,
|
||||
.remove = __devexit_p(cpm_i2c_remove),
|
||||
.driver = {
|
||||
.name = "fsl-i2c-cpm",
|
||||
.owner = THIS_MODULE,
|
||||
}
|
||||
.driver = {
|
||||
.name = "fsl-i2c-cpm",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = cpm_i2c_match,
|
||||
},
|
||||
};
|
||||
|
||||
static int __init cpm_i2c_init(void)
|
||||
|
@@ -664,7 +664,7 @@ static inline u8 iic_clckdiv(unsigned int opb)
|
||||
static int __devinit iic_request_irq(struct of_device *ofdev,
|
||||
struct ibm_iic_private *dev)
|
||||
{
|
||||
struct device_node *np = ofdev->node;
|
||||
struct device_node *np = ofdev->dev.of_node;
|
||||
int irq;
|
||||
|
||||
if (iic_force_poll)
|
||||
@@ -695,7 +695,7 @@ static int __devinit iic_request_irq(struct of_device *ofdev,
|
||||
static int __devinit iic_probe(struct of_device *ofdev,
|
||||
const struct of_device_id *match)
|
||||
{
|
||||
struct device_node *np = ofdev->node;
|
||||
struct device_node *np = ofdev->dev.of_node;
|
||||
struct ibm_iic_private *dev;
|
||||
struct i2c_adapter *adap;
|
||||
const u32 *freq;
|
||||
@@ -807,8 +807,11 @@ static const struct of_device_id ibm_iic_match[] = {
|
||||
};
|
||||
|
||||
static struct of_platform_driver ibm_iic_driver = {
|
||||
.name = "ibm-iic",
|
||||
.match_table = ibm_iic_match,
|
||||
.driver = {
|
||||
.name = "ibm-iic",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ibm_iic_match,
|
||||
},
|
||||
.probe = iic_probe,
|
||||
.remove = __devexit_p(iic_remove),
|
||||
};
|
||||
|
@@ -560,14 +560,14 @@ static int __devinit fsl_i2c_probe(struct of_device *op,
|
||||
|
||||
init_waitqueue_head(&i2c->queue);
|
||||
|
||||
i2c->base = of_iomap(op->node, 0);
|
||||
i2c->base = of_iomap(op->dev.of_node, 0);
|
||||
if (!i2c->base) {
|
||||
dev_err(i2c->dev, "failed to map controller\n");
|
||||
result = -ENOMEM;
|
||||
goto fail_map;
|
||||
}
|
||||
|
||||
i2c->irq = irq_of_parse_and_map(op->node, 0);
|
||||
i2c->irq = irq_of_parse_and_map(op->dev.of_node, 0);
|
||||
if (i2c->irq) { /* no i2c->irq implies polling */
|
||||
result = request_irq(i2c->irq, mpc_i2c_isr,
|
||||
IRQF_SHARED, "i2c-mpc", i2c);
|
||||
@@ -577,21 +577,22 @@ static int __devinit fsl_i2c_probe(struct of_device *op,
|
||||
}
|
||||
}
|
||||
|
||||
if (of_get_property(op->node, "fsl,preserve-clocking", NULL)) {
|
||||
if (of_get_property(op->dev.of_node, "fsl,preserve-clocking", NULL)) {
|
||||
clock = MPC_I2C_CLOCK_PRESERVE;
|
||||
} else {
|
||||
prop = of_get_property(op->node, "clock-frequency", &plen);
|
||||
prop = of_get_property(op->dev.of_node, "clock-frequency",
|
||||
&plen);
|
||||
if (prop && plen == sizeof(u32))
|
||||
clock = *prop;
|
||||
}
|
||||
|
||||
if (match->data) {
|
||||
struct mpc_i2c_data *data = match->data;
|
||||
data->setup(op->node, i2c, clock, data->prescaler);
|
||||
data->setup(op->dev.of_node, i2c, clock, data->prescaler);
|
||||
} else {
|
||||
/* Backwards compatibility */
|
||||
if (of_get_property(op->node, "dfsrr", NULL))
|
||||
mpc_i2c_setup_8xxx(op->node, i2c, clock, 0);
|
||||
if (of_get_property(op->dev.of_node, "dfsrr", NULL))
|
||||
mpc_i2c_setup_8xxx(op->dev.of_node, i2c, clock, 0);
|
||||
}
|
||||
|
||||
dev_set_drvdata(&op->dev, i2c);
|
||||
@@ -605,7 +606,7 @@ static int __devinit fsl_i2c_probe(struct of_device *op,
|
||||
dev_err(i2c->dev, "failed to add adapter\n");
|
||||
goto fail_add;
|
||||
}
|
||||
of_register_i2c_devices(&i2c->adap, op->node);
|
||||
of_register_i2c_devices(&i2c->adap, op->dev.of_node);
|
||||
|
||||
return result;
|
||||
|
||||
@@ -674,12 +675,12 @@ MODULE_DEVICE_TABLE(of, mpc_i2c_of_match);
|
||||
|
||||
/* Structure for a device driver */
|
||||
static struct of_platform_driver mpc_i2c_driver = {
|
||||
.match_table = mpc_i2c_of_match,
|
||||
.probe = fsl_i2c_probe,
|
||||
.remove = __devexit_p(fsl_i2c_remove),
|
||||
.driver = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = DRV_NAME,
|
||||
.driver = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = DRV_NAME,
|
||||
.of_match_table = mpc_i2c_of_match,
|
||||
},
|
||||
};
|
||||
|
||||
|
@@ -418,6 +418,9 @@ i2c_new_device(struct i2c_adapter *adap, struct i2c_board_info const *info)
|
||||
client->dev.parent = &client->adapter->dev;
|
||||
client->dev.bus = &i2c_bus_type;
|
||||
client->dev.type = &i2c_client_type;
|
||||
#ifdef CONFIG_OF
|
||||
client->dev.of_node = info->of_node;
|
||||
#endif
|
||||
|
||||
dev_set_name(&client->dev, "%d-%04x", i2c_adapter_id(adap),
|
||||
client->addr);
|
||||
|
Reference in New Issue
Block a user