Re: Module get needed for iio_channel_get and friends

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/15/2015 10:00 PM, Ezequiel Garcia wrote:
Jonathan, Lars:

I've noticed that iio_channel_{get, get_all} don't call try_module_get
on the module associated to the indio_dev.

This means that an IIO driver can be removed while having a consumer for
any of its channels.

The device can still be unbound from the driver, even if you pin the module. E.g. device hot-unplug.


If each channel can have a completely different indio_dev, this means we
need to increase the refcount of the module on each indio_dev, right?


I think we already handle this correctly. The device ref-count is incremented when a channel is requested. This means even when the device is unbound from the driver it will stay around until the channel is freed and the final reference is dropped. At the same time we set the info field of the IIO device to NULL when the driver is unbound from the driver and in iio_write_channel_raw() return -ENODEV when the info field is NULL.

- Lars
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux