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

From: Andy Shevchenko

Date: Wed Apr 29 2026 - 15:31:59 EST


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);
}

...

> +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);

> +}

--
With Best Regards,
Andy Shevchenko