Re: [PATCH] iio: magnetometer: st_magn: fix default DRDY pin selection for LIS2MDL
From: Andy Shevchenko
Date: Thu Apr 02 2026 - 09:28:06 EST
On Thu, Apr 02, 2026 at 05:06:51PM +0530, Advait Dhamorikar wrote:
> The device tree binding for st,lis2mdl does not support
> st,drdy-int-pin property. However, when no platform data is provided
> and the property is absent, the driver falls back to default_magn_pdata
> which hardcodes drdy_int_pin = 2. This causes
Trailing white space. Please, drop.
> `st_sensors_set_drdy_int_pin` to fail with -EINVAL because the LIS2MDL
> sensor settings have no INT2 DRDY mask defined.
>
> Fix this by checking the sensor's INT2 DRDY mask availability at
> probe time and selecting the appropriate default pin. Sensors that
> do not support INT2 DRDY will default to INT1, while all others
> retain the existing default of INT2.
This looks like it requires a Fixes tag.
...
> - if (!pdata)
> - pdata = (struct st_sensors_platform_data *)&default_magn_pdata;
> + if (!pdata) {
> + if (!mdata->sensor_settings->drdy_irq.int2.mask)
> + pdata = (struct st_sensors_platform_data *)&alt_magn_pdata;
> + else
> + pdata = (struct st_sensors_platform_data *)&default_magn_pdata;
No need to use negative conditional when you have full if-else branches.
> + }
--
With Best Regards,
Andy Shevchenko