Re: [PATCH v2 2/4] iio: hid-sensors: introduce device managed API

From: Sanjay Chitroda

Date: Thu Apr 30 2026 - 15:30:56 EST




On 30 April 2026 1:01:27 am IST, Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> wrote:
>On Wed, Apr 29, 2026 at 11:29:16PM +0530, Sanjay Chitroda wrote:
>
>> hid_sensor_setup_trigger() is common API used for the HID IIO drivers,
>> prepare devm API devm_hid_sensor_setup_trigger() to acquire resource
>> during setup and release using device managed framework during drivers
>> fail, unbind or remove path.
>>
>> Register action with devm_add_action_or_reset() to release resource with
>> devres framework.
>
>...
>
>> +static void hid_sensor_remove_trigger_action(void *ptr)
>> +{
>> + struct hid_sensor_common *attrb = ptr;
>> +
>> + hid_sensor_remove_trigger(attrb);
>> +}
>
>Casting is not needed here.
>
>static void hid_sensor_remove_trigger_action(void *attrb)
>{
> hid_sensor_remove_trigger(attrb);
>}
>

True, the cast isn’t required. I kept the typed variable for clarity and type checking on devm_add.. API which pass void * callback and remove trigger API which has struct hid_sensor_common.

Happy to simplify if preferred.

>...
>
>> +int devm_hid_sensor_setup_trigger(struct device *dev, struct iio_dev *indio_dev,
>> + const char *name, struct hid_sensor_common *attrb)
>> +{
>> + int ret;
>> +
>> + ret = hid_sensor_setup_trigger(indio_dev, name, attrb);
>> + if (ret)
>> + return ret;
>
>> + ret = devm_add_action_or_reset(dev, hid_sensor_remove_trigger_action, attrb);
>> + if (ret)
>> + return ret;
>> +
>> + return 0;
>
> return devm_add_action_or_reset(dev, hid_sensor_remove_trigger_action, attrb);
>

Agree, will update in next series.
Thanks,
Sanjay Chitroda

>> +}
>