Hi Dirk, On Tue, 8 Feb 2011 16:54:52 +0100, Eibach, Dirk wrote: > > Dear Guenter, > > > Chip id is already detected in lm63_detect. You don't need to > > detect it again. > > The more common approach would be something along the line of > > data->kind = id->driver_data; > > You would then use > > if (data->kind == lm64) > > throughout the code. In addition to that, you could define > > data->kind = id->driver_data; > > if (data->kind == lm64) > > data->offset = 16000; > > which would save you the repeated recalculation of offset > > as mentioned before. > > I don't understand, what structures "data" and "id" you are referring to data is struct lm63_data and id is const struct i2c_device_id which is passed as a second parameter to the probe function. > here and where the fields driver_data and kind come from. I remember to > have seen such in older kernels, but wasn't that replaced sometime ago? There were indeed some changes in this area in the past few years, but what Guenter says still applies to current kernels. Look at lm90_probe() in drivers/hwmon/lm90.c for an example (amongst may others.) -- Jean Delvare _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors