summaryrefslogtreecommitdiff
path: root/driver/mag_lis2mdl.h
diff options
context:
space:
mode:
Diffstat (limited to 'driver/mag_lis2mdl.h')
-rw-r--r--driver/mag_lis2mdl.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/driver/mag_lis2mdl.h b/driver/mag_lis2mdl.h
index 0a415ceebd..f87b4e1f91 100644
--- a/driver/mag_lis2mdl.h
+++ b/driver/mag_lis2mdl.h
@@ -59,21 +59,22 @@
struct lis2mdl_private_data {
/* lsm6dsm_data union requires cal be first element */
struct mag_cal_t cal;
+#ifndef CONFIG_LSM6DSM_SEC_I2C
struct stprivate_data data;
+#endif
#ifdef CONFIG_MAG_BMI160_LIS2MDL
intv3_t hn; /* last sample for offset compensation */
int hn_valid;
#endif
};
-#define LIS2MDL_GET_DATA(_s) \
- ((struct lis2mdl_private_data *)(_s->drv_data))
-
-#define LIS2MDL_ST_DATA(_s) \
- (&(LIS2MDL_GET_DATA(_s)->data))
+#ifndef CONFIG_LSM6DSM_SEC_I2C
+#define LIS2MDL_ST_DATA(g) (&((g).data))
-#if !defined(CONFIG_LSM6DSM_SEC_I2C) && defined(CONFIG_MAG_CALIBRATE)
-#define LIS2MDL_CAL(_s) (&LIS2MDL_GET_DATA(_s)->cal)
+#ifdef CONFIG_MAG_CALIBRATE
+#define LIS2MDL_CAL(_s) \
+ (&(DOWNCAST(s->drv_data, struct lis2mdl_private_data, data)->cal))
+#endif
#endif