Re: [PATCH] iio: Simplify IIO provider access locking mechanism

Lars-Peter Clausen
2015-01-09T16:17:03Z

On 01/09/2015 05:14 PM, Ivan T. Ivanov wrote:
>
> On Fri, 2015-01-09 at 16:54 +0100, Lars-Peter Clausen wrote:
>> On 01/09/2015 04:50 PM, Ivan T. Ivanov wrote:
>>> On Fri, 2015-01-09 at 16:41 +0100, Lars-Peter Clausen wrote:
>>>> On 01/09/2015 04:38 PM, Ivan T. Ivanov wrote:
>>>>> Instead of checking whether provider module is still
>>>>> loaded on every access to device just lock module to
>>>>> memory when client get reference to provider device.
>>>>>
>>>>
>>>> This has nothing to do with the module, it's about the device. In the Linux
>>>> device driver model as device can be unbound at any time and the IIO
>>>> framework needs to handle this.
>>>>
>>>
>>> Hm. Probably i am missing something here, but is this
>>> still true if we have reference to device structure?
>>
>> Yes, that only prevents the memory of device from being freed. But the
>> device can still be unbound from the driver.
>>
>> Think of e.g. a USB device that is pulled from the USB connector. Nothing
>> you can do in software about having the device disappear.
>>
>
> Agree, but I think that the patch is still valid. Module
> have to be pinned in memory as long as there are device
> driver users.

No, the idea of the Linux driver model is that you can remove the module of
a driver at any time, which will unbind the device from the driver. Once you
reinsert the module the device will be re-bound to the driver.

- Lars