[lm-sensors] [PATCH 1/3] hwmon/dme1737: cleanups
Jean Delvare
khali at linux-fr.org
Tue Aug 28 15:40:46 CEST 2007
Hi Juerg,
On Sun, 26 Aug 2007 20:23:27 -0700, Juerg Haefliger wrote:
> This patch cleans up and prepares the dme1737 driver for support of the sch311x
> chips. (Almost) no functional changes.
>
> - Replaced whitespaces with tabs.
> - Removed empty lines.
> - Added _i2c_ to names of functions that are strictly I2C related.
> - Added 4 new functions: dme1737_create_files, dme1737_remove_files,
> dme1737_sio_enter, and dme1737_sio_exit.
> - Added error messages in case client attach/detach fails.
>
> Signed-off-by: Juerg Haefliger <juergh at gmail.com>
>
> Jean: I'd really appreciate it if you take a look at the patches.
Sorry, I just noticed this request. Next time please include it in the
patch 0/n instead, so that I'm more likely to read it.
Overall I'm fine with this patch, with the suggestions below:
> --- linux-2.6.orig/drivers/hwmon/dme1737.c 2007-08-23 22:23:50.000000000 -0700
> +++ linux-2.6/drivers/hwmon/dme1737.c 2007-08-26 20:08:01.000000000 -0700
> @@ -493,8 +493,8 @@
>
> static struct dme1737_data *dme1737_update_device(struct device *dev)
> {
> - struct i2c_client *client = to_i2c_client(dev);
> - struct dme1737_data *data = i2c_get_clientdata(client);
> + struct dme1737_data *data = dev_get_drvdata(dev);
> + struct i2c_client *client = &data->client;
> int ix;
> u8 lsb[5];
>
> @@ -674,7 +674,7 @@
> break;
> default:
> res = 0;
> - dev_dbg(dev, "Unknown attr fetch (%d)\n", fn);
> + dev_dbg(dev, "Unknown function %d.\n", fn);
> }
>
> return sprintf(buf, "%d\n", res);
I would back out this family of changes. This is only a debug message
and it will never show up anyway so why bother changing it? And your
patch is quite big so making it a bit smaller can't hurt. But it's up
to you.
> (...)
> -static int dme1737_detect(struct i2c_adapter *adapter, int address,
> - int kind)
> +static int dme1737_i2c_detect(struct i2c_adapter *adapter, int address,
> + int kind)
> {
> u8 company, verstep = 0;
> struct i2c_client *client;
> struct dme1737_data *data;
> - int ix, err = 0;
> + struct device *dev;
> + int err = 0;
> const char *name;
>
> if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
> @@ -1886,6 +1982,7 @@
> }
>
> if (!(data = kzalloc(sizeof(struct dme1737_data), GFP_KERNEL))) {
> + dev_err(&adapter->dev, "Failed to allocate memory.\n");
i2c-core will already emit an error message in this unlikely case, so I
don't think it's worth adding something here.
> err = -ENOMEM;
> goto exit;
> }
> @@ -1894,7 +1991,8 @@
> i2c_set_clientdata(client, data);
> client->addr = address;
> client->adapter = adapter;
> - client->driver = &dme1737_driver;
> + client->driver = &dme1737_i2c_driver;
> + dev = &client->dev;
>
> /* A negative kind means that the driver was loaded with no force
> * parameter (default), so we must identify the chip. */
> @@ -1919,95 +2017,37 @@
>
> /* Tell the I2C layer a new client has arrived */
> if ((err = i2c_attach_client(client))) {
> + dev_err(&adapter->dev, "Failed to attach client.\n");
> goto exit_kfree;
> }
i2c_attach_client logs a message in case of error already, so this is
redundant too.
> (...)
> -static int dme1737_detach_client(struct i2c_client *client)
> +static int dme1737_i2c_detach_client(struct i2c_client *client)
> {
> struct dme1737_data *data = i2c_get_clientdata(client);
> - int ix, err;
> + int err;
>
> hwmon_device_unregister(data->class_dev);
> -
> - for (ix = 0; ix < ARRAY_SIZE(dme1737_fan_group); ix++) {
> - if (data->has_fan & (1 << ix)) {
> - sysfs_remove_group(&client->dev.kobj,
> - &dme1737_fan_group[ix]);
> - }
> - }
> - for (ix = 0; ix < ARRAY_SIZE(dme1737_pwm_group); ix++) {
> - if (data->has_pwm & (1 << ix)) {
> - sysfs_remove_group(&client->dev.kobj,
> - &dme1737_pwm_group[ix]);
> - }
> - }
> - sysfs_remove_group(&client->dev.kobj, &dme1737_group);
> + dme1737_remove_files(&client->dev);
>
> if ((err = i2c_detach_client(client))) {
> + dev_err(&client->dev, "Failed to detach client.\n");
> return err;
> }
>
Again, i2c_detach_client already logs a message if it fails. I did
remove these redundant messages from all drivers some times ago, so
please don't add them back!
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7bef559455fc71f66f8573cc1aafe1dd33966c1c
--
Jean Delvare
More information about the lm-sensors
mailing list