sfc: Update board info for hardware monitor on SFN4111T-R5 and later
authorBen Hutchings <bhutchings@solarflare.com>
Thu, 29 Jan 2009 17:51:48 +0000 (17:51 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 30 Jan 2009 22:06:31 +0000 (14:06 -0800)
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/sfc/sfe4001.c

index c7c95db2af6da76968a552240dfce214ce63c86f..853057e87fb2a6db279e0fea2bc19d81b76436a1 100644 (file)
@@ -375,17 +375,25 @@ static void sfn4111t_fini(struct efx_nic *efx)
        i2c_unregister_device(efx->board_info.hwmon_client);
 }
 
-static struct i2c_board_info sfn4111t_hwmon_info = {
+static struct i2c_board_info sfn4111t_a0_hwmon_info = {
        I2C_BOARD_INFO("max6647", 0x4e),
        .irq            = -1,
 };
 
+static struct i2c_board_info sfn4111t_r5_hwmon_info = {
+       I2C_BOARD_INFO("max6646", 0x4d),
+       .irq            = -1,
+};
+
 int sfn4111t_init(struct efx_nic *efx)
 {
        int rc;
 
        efx->board_info.hwmon_client =
-               i2c_new_device(&efx->i2c_adap, &sfn4111t_hwmon_info);
+               i2c_new_device(&efx->i2c_adap,
+                              (efx->board_info.minor < 5) ?
+                              &sfn4111t_a0_hwmon_info :
+                              &sfn4111t_r5_hwmon_info);
        if (!efx->board_info.hwmon_client)
                return -EIO;