From: "Hans J. Koch" <hjk@hansjkoch.de>
To: Earl Chew <echew@ixiacom.com>
Cc: linux-kernel@vger.kernel.org, "Hans J. Koch" <hjk@linutronix.de>,
Greg Kroah-Hartman <greg@kroah.com>
Subject: Re: RFC: UIO null parent for __uio_register_device and uio_device_name()
Date: Wed, 19 Jan 2011 15:56:20 +0100 [thread overview]
Message-ID: <20110119145619.GA17399@local> (raw)
In-Reply-To: <4D366104.1000400@ixiacom.com>
On Tue, Jan 18, 2011 at 07:56:52PM -0800, Earl Chew wrote:
> Hans,
Hi Earl,
>
> I had a two UIO changes queued up from earlier which I
> forgot to ask you about.
>
> Would you consider these changes for inclusion in the mainline ?
>
>
> o Allow a null parent during uio_register_device. We've had
> situations where there was no convenient parent. We could
> concoct a parent, but it seemed to make sense to allow
> for a null.
Hmm. I saw many UIO drivers over the years but we never had that
problem. In the probe() function of your UIO driver you get a
suitable device as parameter. Why don't you just use it?
>
> o Introduce uio_device_name() to allow callers to query for the
> name of the created uio device. Without this, there doesn't seem
> to be a straightforward way for a client to figure out the name of the
> device.
Yes, we intentionally defined struct uio_device in uio.c and not in
a header file to prevent driver authors from using it ;-)
>
> --- /tmp/uio.c.orig 2011-01-18 17:38:17.157452875 -0800
> +++ /tmp/uio.c 2011-01-18 19:46:48.367453578 -0800
> @@ -808,6 +808,18 @@
> }
>
> /**
> + * uio_device_name - obtain the name of the registered device
> + * @info: UIO device capabilities
> + *
> + * returns name of device.
> + */
> +const char *uio_device_name(struct uio_info *info)
> +{
> + return dev_name(info->uio_dev->dev);
No NULL checks? Note that info->uio_dev can be NULL if uio_register_device()
failed...
> +}
> +EXPORT_SYMBOL_GPL(uio_device_name);
The function above returns strings like "uio0", "uio1", and so on. What's
the value of that? To identify a certain driver or distinguish several
instances of it, the "name" member of struct uio_info should be used.
But maybe I just miss the point. What's your use case?
Thanks,
Hans
next prev parent reply other threads:[~2011-01-19 15:30 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-19 3:56 RFC: UIO null parent for __uio_register_device and uio_device_name() Earl Chew
2011-01-19 14:56 ` Hans J. Koch [this message]
2011-01-19 15:42 ` Earl Chew
2011-01-19 16:30 ` Greg KH
2011-01-19 17:07 ` Earl Chew
2011-01-19 17:11 ` Earl Chew
2011-01-19 17:24 ` Greg KH
2011-01-19 17:22 ` Greg KH
2011-01-19 20:52 ` Hans J. Koch
2011-01-19 22:06 ` Earl Chew
2011-01-19 22:41 ` Greg KH
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=20110119145619.GA17399@local \
--to=hjk@hansjkoch.de \
--cc=echew@ixiacom.com \
--cc=greg@kroah.com \
--cc=hjk@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
/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.