All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexey Dobriyan <adobriyan@gmail.com>
To: Tilman Schmidt <tilman@imap.cc>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org, isdn@linux-pingi.de,
	mac@melware.de
Subject: Re: [PATCH] proc_fops: convert drivers/isdn/ to seq_file
Date: Mon, 30 Nov 2009 23:17:09 +0300	[thread overview]
Message-ID: <20091130201709.GA4507@x200.malnet.ru> (raw)
In-Reply-To: <4B1314F8.10500@imap.cc>

On Mon, Nov 30, 2009 at 01:42:32AM +0100, Tilman Schmidt wrote:
> Am 25.11.2009 05:59 schrieb Alexey Dobriyan:
> > --- a/drivers/isdn/gigaset/capi.c
> > +++ b/drivers/isdn/gigaset/capi.c
> > @@ -2106,35 +2106,22 @@ static char *gigaset_procinfo(struct capi_ctr *ctr)
> >  	return ctr->name;	/* ToDo: more? */
> >  }
> >  
> > -/**
> > - * gigaset_ctr_read_proc() - build controller proc file entry
> > - * @page:	buffer of PAGE_SIZE bytes for receiving the entry.
> > - * @start:	unused.
> > - * @off:	unused.
> > - * @count:	unused.
> > - * @eof:	unused.
> > - * @ctr:	controller descriptor structure.
> > - *
> > - * Return value: length of generated entry
> > - */
> > -static int gigaset_ctr_read_proc(char *page, char **start, off_t off,
> > -			  int count, int *eof, struct capi_ctr *ctr)
> > +static int gigaset_proc_show(struct seq_file *m, void *v)
> 
> I would prefer that, instead of throwing the kerneldoc comment away,
> you adapted it to the new function. Specifically, I would like to
> know what the second argument "void *v" is for.

Sorry, no.
I personally find the corellation between kernel-docness and useleness
to be highly positive.

Comment is removed because after removal of parameters "description",
nothing is left.

> >  {
> > +	struct capi_ctr *ctr = m->private;
> 
> See below.
> 
> > +static int gigaset_proc_open(struct inode *inode, struct file *file)
> > +{
> > +	return single_open(file, gigaset_proc_show, PDE(inode)->data);
> 
> I'd like to understand how that works.
> 
> According to Documentation/filesystems/seq_file.txt, the value of
> the last argument will be passed to the proc_show function in the
> private field of the seq_file structure. Your gigaset_proc_show()
> function assumes that this will be the capi_ctr pointer for the
> device.
> 
> So what is PDE(inode)->data and where does it get set to the
> capi_ctr pointer for the device?

When you create proc entry, you set ->data for proc entry,
it's accessible as PDE(inode)->data.
Now you need to pass it doen to actual hook.
It got stashed eventually into struct seq_file::private (see single_open())

  reply	other threads:[~2009-11-30 20:17 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-23  1:56 [PATCH] proc_fops: convert drivers/isdn/ to seq_file Alexey Dobriyan
2009-11-25  0:25 ` Andrew Morton
2009-11-25  4:59   ` Alexey Dobriyan
2009-11-30  0:42     ` Tilman Schmidt
2009-11-30 20:17       ` Alexey Dobriyan [this message]
2009-12-02  9:01         ` Tilman Schmidt
2009-11-28 12:26 ` Tilman Schmidt
  -- strict thread matches above, loose matches on Subject: below --
2010-01-14 10:27 Karsten Keil
2010-01-14 11:11 ` David Miller

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=20091130201709.GA4507@x200.malnet.ru \
    --to=adobriyan@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=isdn@linux-pingi.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mac@melware.de \
    --cc=tilman@imap.cc \
    /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.