Re: [PATCH] misc: always assign miscdevice to file->private_data in open()

From: Martin Kepplinger
Date: Thu Oct 09 2014 - 09:12:19 EST


Am 2014-10-08 15:43, schrieb Greg KH:
> On Wed, Oct 08, 2014 at 10:47:54AM +0200, Martin Kepplinger wrote:
>> As of now, a miscdevice driver has to provide an implementation of
>> the open() file operation if it wants to have misc_open() assign a
>> pointer to struct miscdevice to file->private_data for other file
>> operations to use (given the user calls open()).
>>
>> This leads to situations where a miscdevice driver that doesn't need
>> internal operations during open() has to implement open() that only
>> returns immediately, in order to use the data in private_data in other
>> fops.
>
> Yeah, that's messy, do we have any in-kernel misc drivers that do this?
>
>> This change provides consistent behaviour for miscdevice developers by
>> always providing the pointer in private_data. A driver's open() fop would,
>> of course, just overwrite it, when using private_data itself.
>>
>> Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx>
>> ---
>> This is really only a question: Do I understand this correctly, and,
>> could this change then hurt any existing driver?
>
> I don't know, take a look at the existing ones and see please.
>
>> As a driver developer it took me a while to figure out what happens here,
>> and in my situation it would have been nice to just have this feature as
>> part of the miscdevice API. Possibly documented somewhere?
>
> Patches always accepted for documentation :)

What would be a good place for this?
Documentation/driver-model/device.txt or
Documentation/filesystem/vfs.txt like so? I'm not sure.