|
@@ -52,14 +52,6 @@ enum hmc5843_ids {
|
|
|
HMC5883L_ID,
|
|
|
};
|
|
|
|
|
|
-/*
|
|
|
- * Beware: identification of the HMC5883 is still "H43";
|
|
|
- * I2C address is also unchanged
|
|
|
- */
|
|
|
-#define HMC5843_ID_REG_LENGTH 0x03
|
|
|
-#define HMC5843_ID_STRING "H43"
|
|
|
-#define HMC5843_I2C_ADDRESS 0x1E
|
|
|
-
|
|
|
/*
|
|
|
* Range gain settings in (+-)Ga
|
|
|
* Beware: HMC5843 and HMC5883 have different recommended sensor field
|
|
@@ -185,10 +177,6 @@ static const char * const hmc5883_regval_to_sample_freq[] = {
|
|
|
"0.75", "1.5", "3", "7.5", "15", "30", "75",
|
|
|
};
|
|
|
|
|
|
-/* Addresses to scan: 0x1E */
|
|
|
-static const unsigned short normal_i2c[] = { HMC5843_I2C_ADDRESS,
|
|
|
- I2C_CLIENT_END };
|
|
|
-
|
|
|
/* Describe chip variants */
|
|
|
struct hmc5843_chip_info {
|
|
|
const struct iio_chan_spec *channels;
|
|
@@ -621,25 +609,6 @@ static const struct hmc5843_chip_info hmc5843_chip_info_tbl[] = {
|
|
|
},
|
|
|
};
|
|
|
|
|
|
-static int hmc5843_detect(struct i2c_client *client,
|
|
|
- struct i2c_board_info *info)
|
|
|
-{
|
|
|
- unsigned char id_str[HMC5843_ID_REG_LENGTH];
|
|
|
-
|
|
|
- if (client->addr != HMC5843_I2C_ADDRESS)
|
|
|
- return -ENODEV;
|
|
|
-
|
|
|
- if (i2c_smbus_read_i2c_block_data(client, HMC5843_ID_REG_A,
|
|
|
- HMC5843_ID_REG_LENGTH, id_str)
|
|
|
- != HMC5843_ID_REG_LENGTH)
|
|
|
- return -ENODEV;
|
|
|
-
|
|
|
- if (0 != strncmp(id_str, HMC5843_ID_STRING, HMC5843_ID_REG_LENGTH))
|
|
|
- return -ENODEV;
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
/* Called when we have found a new HMC58X3 */
|
|
|
static void hmc5843_init_client(struct i2c_client *client,
|
|
|
const struct i2c_device_id *id)
|
|
@@ -756,8 +725,6 @@ static struct i2c_driver hmc5843_driver = {
|
|
|
.id_table = hmc5843_id,
|
|
|
.probe = hmc5843_probe,
|
|
|
.remove = hmc5843_remove,
|
|
|
- .detect = hmc5843_detect,
|
|
|
- .address_list = normal_i2c,
|
|
|
};
|
|
|
module_i2c_driver(hmc5843_driver);
|
|
|
|