#define LSM303AGR_MAGN_DEV_NAME                "lsm303agr_magn"
 #define LIS2MDL_MAGN_DEV_NAME          "lis2mdl"
 #define LSM9DS1_MAGN_DEV_NAME          "lsm9ds1_magn"
+#define IIS2MDC_MAGN_DEV_NAME          "iis2mdc"
 
 const struct st_sensor_settings *st_magn_get_settings(const char *name);
 int st_magn_common_probe(struct iio_dev *indio_dev);
 
                .sensors_supported = {
                        [0] = LSM303AGR_MAGN_DEV_NAME,
                        [1] = LIS2MDL_MAGN_DEV_NAME,
+                       [2] = IIS2MDC_MAGN_DEV_NAME,
                },
                .ch = (struct iio_chan_spec *)st_magn_3_16bit_channels,
                .odr = {
 
                .compatible = "st,lsm9ds1-magn",
                .data = LSM9DS1_MAGN_DEV_NAME,
        },
+       {
+               .compatible = "st,iis2mdc",
+               .data = IIS2MDC_MAGN_DEV_NAME,
+       },
        {},
 };
 MODULE_DEVICE_TABLE(of, st_magn_of_match);
        { LSM303AGR_MAGN_DEV_NAME },
        { LIS2MDL_MAGN_DEV_NAME },
        { LSM9DS1_MAGN_DEV_NAME },
+       { IIS2MDC_MAGN_DEV_NAME },
        {},
 };
 MODULE_DEVICE_TABLE(i2c, st_magn_id_table);
 
                .compatible = "st,lsm9ds1-magn",
                .data = LSM9DS1_MAGN_DEV_NAME,
        },
+       {
+               .compatible = "st,iis2mdc",
+               .data = IIS2MDC_MAGN_DEV_NAME,
+       },
        {}
 };
 MODULE_DEVICE_TABLE(of, st_magn_of_match);
        { LSM303AGR_MAGN_DEV_NAME },
        { LIS2MDL_MAGN_DEV_NAME },
        { LSM9DS1_MAGN_DEV_NAME },
+       { IIS2MDC_MAGN_DEV_NAME },
        {},
 };
 MODULE_DEVICE_TABLE(spi, st_magn_id_table);