Hi Nathan,

> Index: linux-2.6.13-rc6+gregkh/drivers/hwmon/atxp1.c
> ===================================================================
> --- linux-2.6.13-rc6+gregkh.orig/drivers/hwmon/atxp1.c
> +++ linux-2.6.13-rc6+gregkh/drivers/hwmon/atxp1.c
> @@ -44,7 +44,6 @@ static unsigned short normal_i2c[] = { 0
>  
>  I2C_CLIENT_INSMOD_1(atxp1);
>  
> -static int atxp1_attach_adapter(struct i2c_adapter * adapter);
>  static int atxp1_detach_client(struct i2c_client * client);
>  static struct atxp1_data * atxp1_update_device(struct device *dev);
>  static int atxp1_detect(struct i2c_adapter *adapter, int address, int
>  kind);
> @@ -53,7 +52,8 @@ static struct i2c_driver atxp1_driver = 
>       .owner          = THIS_MODULE,
>       .name           = "atxp1",
>       .flags          = I2C_DF_NOTIFY,
> -     .attach_adapter = atxp1_attach_adapter,
> +     .address_data   = &addr_data,
> +     .detect_client  = atxp1_detect,
>       .detach_client  = atxp1_detach_client,
>  };
>  
> @@ -251,11 +251,6 @@ static ssize_t atxp1_storegpio2(struct d
>  static DEVICE_ATTR(gpio2, S_IRUGO | S_IWUSR, atxp1_showgpio2,
>  atxp1_storegpio2);
>  
>  
> -static int atxp1_attach_adapter(struct i2c_adapter *adapter)
> -{
> -     return i2c_probe(adapter, &addr_data, &atxp1_detect);
> -};
> -
>  static int atxp1_detect(struct i2c_adapter *adapter, int address, int
>  kind) {
>       struct i2c_client * new_client;
> Index: linux-2.6.13-rc6+gregkh/drivers/hwmon/ds1621.c
> ===================================================================
> --- linux-2.6.13-rc6+gregkh.orig/drivers/hwmon/ds1621.c
> +++ linux-2.6.13-rc6+gregkh/drivers/hwmon/ds1621.c
> @@ -80,7 +80,6 @@ struct ds1621_data {
>       u8 conf;                        /* Register encoding, combined */
>  };
>  
> -static int ds1621_attach_adapter(struct i2c_adapter *adapter);
>  static int ds1621_detect(struct i2c_adapter *adapter, int address,
>                        int kind);
>  static void ds1621_init_client(struct i2c_client *client);
> @@ -93,7 +92,8 @@ static struct i2c_driver ds1621_driver =
>       .name           = "ds1621",
>       .id             = I2C_DRIVERID_DS1621,
>       .flags          = I2C_DF_NOTIFY,
> -     .attach_adapter = ds1621_attach_adapter,
> +     .address_data   = &addr_data,
> +     .detect_client  = ds1621_detect,
>       .detach_client  = ds1621_detach_client,
>  };
>  
> @@ -178,12 +178,6 @@ static DEVICE_ATTR(temp1_min, S_IWUSR | 
>  static DEVICE_ATTR(temp1_max, S_IWUSR | S_IRUGO, show_temp_max,
>  set_temp_max);
>  
>  
> -static int ds1621_attach_adapter(struct i2c_adapter *adapter)
> -{
> -     return i2c_probe(adapter, &addr_data, ds1621_detect);
> -}
> -
> -/* This function is called by i2c_probe */
>  int ds1621_detect(struct i2c_adapter *adapter, int address,
>                    int kind)
>  {

I noticed that these two drivers do not properly define their .class to
I2C_CLASS_HWMON. I understand that doing so doesn't belong to this
patch, but having an additional patch to apply on top it fixing the
problem would be great. Can you do that? Or I will, it doesn't really
matter (the patch should be really straightforward now.)

Thanks,
-- 
Jean Delvare
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to