[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110208160736.GA13717@ericsson.com>
Date: Tue, 8 Feb 2011 08:07:36 -0800
From: Guenter Roeck <guenter.roeck@...csson.com>
To: "Eibach, Dirk" <Eibach@...ys.de>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"khali@...ux-fr.org" <khali@...ux-fr.org>,
"lm-sensors@...sensors.org" <lm-sensors@...sensors.org>
Subject: Re: [PATCH] hwmon: Consider LM64 temperature offset
On Tue, Feb 08, 2011 at 10:54:52AM -0500, 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
> 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?
>
static int lm63_probe(struct i2c_client *new_client,
const struct i2c_device_id *id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
{
struct lm63_data *data;
^^^^^^^^^^^^^^^^^^^^^^
...
/* Set the device type */
data->kind = id->driver_data;
with
struct lm63_data {
...
int kind; // instead of is_lm64
...
};
id is from
static const struct i2c_device_id lm63_id[] = {
{ "lm63", lm63 },
{ "lm64", lm64 },
{ }
};
id->driver_data is thus either lm63 or lm64, depending on the chip type
detected in lm63_detect().
Thanks,
Guenter
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists