On Tue, 21 Apr 2009 08:42:27 +0200, Michael Lawnick wrote: > For MPC adapter there is no class assigned as it is done in other > adapters. This way no new-style client will ever be instantiated. This statement is incorrect. How many times will I have to repeat myself? > With > this patch class assignment is read from device tree. > Necessary entry: > class = <1>; /* I2C_CLASS_HWMON (iic.h) */ Hard-coding the value of Linux-specific flags in the openfirmware device tree doesn't look too good to me. > > Based on 2.6.29 > > Signed-off-by: Michael Lawnick <ml.lawnick@xxxxxx> > Cc: Jean Delvare <khali@xxxxxxxxxxxx> > Cc: Sang, Wolfram <w.sang@xxxxxxxxxxxxxx> > --- > drivers/i2c/busses/i2c-mpc.c | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c > --- a/drivers/i2c/busses/i2c-mpc.c > +++ b/drivers/i2c/busses/i2c-mpc.c > @@ -318,6 +318,7 @@ static int __devinit fsl_i2c_probe(struct of_device > *op, const struct of_device_ > { > int result = 0; > struct mpc_i2c *i2c; > + int *of_val; > > i2c = kzalloc(sizeof(*i2c), GFP_KERNEL); > if (!i2c) > @@ -354,6 +355,10 @@ static int __devinit fsl_i2c_probe(struct of_device > *op, const struct of_device_ > dev_set_drvdata(&op->dev, i2c); > > i2c->adap = mpc_ops; > + of_val = of_get_property(op->node, "class", NULL); > + if(of_val) Incorrect coding style. Didn't you run scripts/checkpatch.pl on your patch before submitting it? > + i2c->adap.class = *of_val; > + > i2c_set_adapdata(&i2c->adap, i2c); > i2c->adap.dev.parent = &op->dev; > Anyway: Wolfram and Wolfgang have explained to you how to do it right and the above isn't that. Declaring the I2C devices in the device tree works for everybody else, it has to work for you as well, if you do it right. -- Jean Delvare -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html