diff options
Diffstat (limited to 'driver/mag_lis2mdl.h')
-rw-r--r-- | driver/mag_lis2mdl.h | 15 |
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 |