From: "Hans J. Koch" <hjk@hansjkoch.de>
To: Michal Simek <monstr@monstr.eu>
Cc: "Hans J. Koch" <hjk@hansjkoch.de>,
Wolfram Sang <w.sang@pengutronix.de>,
devicetree-discuss@lists.ozlabs.org, grant.likely@secretlab.ca,
john.williams@petalogix.com, linux-kernel@vger.kernel.org,
hjk@linutronix.de, gregkh@suse.de
Subject: Re: [PATCH] uio/pdrv_genirq: Add OF support
Date: Thu, 31 Mar 2011 21:23:02 +0200 [thread overview]
Message-ID: <20110331192302.GD2734@local> (raw)
In-Reply-To: <4D94C09B.4070506@monstr.eu>
On Thu, Mar 31, 2011 at 07:57:47PM +0200, Michal Simek wrote:
> Hans J. Koch wrote:
> >On Thu, Mar 31, 2011 at 03:28:41PM +0200, Michal Simek wrote:
> >>>>+ uioinfo->name = pdev->dev.of_node->name;
> >>>>+ /* Use version for storing full IP name for identification */
> >>>>+ uioinfo->version = pdev->dev.of_node->full_name;
> >>>I don't think this is apropriate, but will leave that to Hans.
> >>I was thinking what to add and I choose full_name because I can read
> >>this value and identify which UIO is this device.
> >>I know that there should be version but there is no version string in DTS.
> >
> >The purpose of uio_info->version is to give the userspace part of the driver
> >additional information. Kernel part and userspace part might be developed
> >independently, and there should be a chance for the userspace part to find
> >out if a certain feature is already supported by the kernel part without
> >having to do dirty kernel version checks.
> >
> >So, uio_info->version is an information about the driver, not the hardware.
> >
> >Example: You write a UIO driver for a chip you use in a project. You don't
> >need all the functionality of that chip. One year later you need additional
> >chip functionality, and it turns out that you have to do certain
> >initializations in the kernel part. Your new userspace will need the new
> >kernel driver, but there are lots of older kernels around in your customers
> >devices. In that case, your userspace part can simply check the version
> >string in sysfs and require at least your new version.
>
> I understand reasons but this information is not in device tree and
> it must be setup.
> Grant suggested compatible string but it is not the best option too.
In uio_pdrv_genirq, uio_info->version is hardcoded in platform data. Hardware
initialization can also take place in the same platform specific file, which
is common practice on archs like ARM. Therefore, a driver specific versioning
can make sense for UIO, even if the driver code itself doesn't change.
If you have no equivalent for that in device tree, you should create a new
generic driver (uio_of_genirq?) that simply doesn't support this kind of
versioning.
Seems like sometimes it's not enough to just describe hardware...
Thanks,
Hans
next prev parent reply other threads:[~2011-03-31 19:23 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-31 12:29 UIO OF support Michal Simek
[not found] ` <1301574600-4861-1-git-send-email-monstr-pSz03upnqPeHXe+LvDLADg@public.gmane.org>
2011-03-31 12:30 ` [PATCH] uio/pdrv_genirq: Add " Michal Simek
[not found] ` <1301574600-4861-2-git-send-email-monstr-pSz03upnqPeHXe+LvDLADg@public.gmane.org>
2011-03-31 12:49 ` Wolfram Sang
[not found] ` <20110331124925.GA2202-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2011-03-31 13:10 ` John Williams
[not found] ` <AANLkTi=sG6oVNifwLLi8jjKQXjR6kXZx43NxtFfoPumy-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-03-31 13:23 ` Wolfram Sang
[not found] ` <20110331132328.GB2202-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2011-03-31 13:37 ` Michal Simek
2011-03-31 13:47 ` John Williams
[not found] ` <AANLkTikCEYK5K3sQ1rgVK6qMvizQYUn=xsiSPedNRn9A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-03-31 16:25 ` Grant Likely
2011-03-31 13:11 ` John Williams
[not found] ` <AANLkTinJrG=s3Xuvf_=bNtYF-z8u+YXvd217UKKz24ik-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-03-31 13:25 ` Arnd Bergmann
2011-03-31 13:51 ` Michal Simek
2011-03-31 16:34 ` Grant Likely
2011-03-31 13:28 ` Michal Simek
2011-03-31 17:03 ` Hans J. Koch
2011-03-31 17:57 ` Michal Simek
2011-03-31 19:23 ` Hans J. Koch [this message]
2011-03-31 19:48 ` Grant Likely
2011-03-31 20:30 ` Hans J. Koch
2011-04-02 10:35 ` Wolfram Sang
[not found] ` <20110402103550.GA21760-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2011-04-04 17:04 ` Hans J. Koch
2011-04-04 17:31 ` Wolfram Sang
[not found] ` <20110404173149.GB12200-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2011-04-04 18:24 ` Hans J. Koch
2011-04-05 6:25 ` Michal Simek
[not found] ` <4D9AB5E8.3080401-pSz03upnqPeHXe+LvDLADg@public.gmane.org>
2011-04-05 11:50 ` Hans J. Koch
2011-03-31 16:43 ` Grant Likely
[not found] ` <20110331164348.GI26709-e0URQFbLeQY2iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2011-03-31 17:54 ` Michal Simek
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=20110331192302.GD2734@local \
--to=hjk@hansjkoch.de \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=gregkh@suse.de \
--cc=hjk@linutronix.de \
--cc=john.williams@petalogix.com \
--cc=linux-kernel@vger.kernel.org \
--cc=monstr@monstr.eu \
--cc=w.sang@pengutronix.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).