All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Martin Kepplinger <martink@posteo.de>
Cc: arnd@arndb.de, akpm@linux-foundation.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] misc: always assign miscdevice to file->private_data in open()
Date: Wed, 8 Oct 2014 06:43:07 -0700	[thread overview]
Message-ID: <20141008134307.GA6099@kroah.com> (raw)
In-Reply-To: <1412758074-7882-1-git-send-email-martink@posteo.de>

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@posteo.de>
> ---
> 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 :)

> misc_open() is called in any case, on open(). As long as miscdevice drivers
> don't explicitly rely on private_data being NULL exactly IF they don't
> implement an open() fop (which I wouldn't imagine), this would make things
> even more convenient.

I agree, but it would be great if you can audit the existing misc
drivers to ensure we don't break anything with this change.  Can you do
that please?

thanks,

greg k-h

  reply	other threads:[~2014-10-08 13:44 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-08  8:47 [PATCH] misc: always assign miscdevice to file->private_data in open() Martin Kepplinger
2014-10-08 13:43 ` Greg KH [this message]
2014-10-09 13:10   ` Martin Kepplinger
2014-10-09 15:50     ` Greg KH
2014-10-09 16:37       ` [PATCH] char: documentation: more useful information about misc device Martin Kepplinger
2014-10-16 11:08       ` [PATCH] misc: always assign miscdevice to file->private_data in open() Martin Kepplinger
2014-10-18 23:12       ` Martin Kepplinger
2014-10-19  0:30         ` [PATCH 1/3] " Martin Kepplinger
2014-10-19  0:30           ` [PATCH 2/3] fbdev: pxa3xx-gcu: remove redundant implementation of open() Martin Kepplinger
2014-10-19  0:31           ` [PATCH 3/3] lguest: force file->private_data to be NULL on open() Martin Kepplinger
2014-10-20 13:41             ` Martin Kepplinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141008134307.GA6099@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=martink@posteo.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.