[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201104211311.25988.arnd@arndb.de>
Date: Thu, 21 Apr 2011 13:11:25 +0200
From: Arnd Bergmann <arnd@...db.de>
To: Guenter Roeck <guenter.roeck@...csson.com>,
"Hans J. Koch" <hjk@...sjkoch.de>
Cc: "Greg Kroah-Hartman" <gregkh@...e.de>,
Andrew Morton <akpm@...ux-foundation.org>,
Jonathan Cameron <kernel@...23.retrosnub.co.uk>,
Randy Dunlap <rdunlap@...otime.net>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"linux-i2c@...r.kernel.org" <linux-i2c@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2] misc: Driver for Silicon Labs Si570 and compatibles
On Wednesday 20 April 2011, Guenter Roeck wrote:
> On Wed, Apr 20, 2011 at 12:44:30PM -0400, Arnd Bergmann wrote:
> > On Tuesday 19 April 2011, Guenter Roeck wrote:
> > > This driver adds support for Si570, Si571, Si598, and Si599
> > > programmable XO/VCXO.
> > >
> > > Signed-off-by: Guenter Roeck <guenter.roeck@...csson.com>
> >
> > This needs some more explanation of what the hardware is there for,
> > and why it's unlike everything else that we support in Linux.
> >
> This is a generic configurable clock device. I'll be happy to add
> some text such as "The device can be used for any application requiring
> a static or a dynamically configurable clock, such as serdes clocks".
> Not sure if that would add much value, though.
>
> Regarding "unlike everything else", not sure if that is really correct.
> The DDS chips Jonathan mentioned do get pretty close, and there are
> other drivers providing support for clock chips, though typically more
> dedicated. ics932s401 in misc is one example, and then there are all
> the tuner chips in media/common/tuners/.
Isn't that what you'd normally call a 'struct clk' then?
> > If that is true, it should probably not have a user-visible
> > interface, but only an interface that can be used by other
> > kernel drivers.
> >
> Depends. In our case, turns out the devices consuming the clock
> have user mode drivers. Lots of history there, but the chip vendors
> provide those user mode drivers, and the teams responsible for
> integrating the drivers decided to not rewrite it to kernel mode drivers.
> Also, for special purposes such as margining, it is necessary to control
> the clock from userspace. So, for our use case, I need the user-visible
> interface. I _don't_ need the kernel interface, at least not right now,
> which is why I did not add it.
>
> Browsing through the web, it seems the chip is somewhat popular with
> Amateur Radio. No idea if it would ever be controlled for such a purpose
> from Linux, but if so, it would also require a user configurable frequency.
>
> If there is a better place for such a driver than misc, please let me know.
When you say user mode driver, do you mean as in drivers/uio? (taking Hans
on Cc for these)
Those already have generic support for memory and interrupt resources,
maybe we can just add a common way to associate a uio device with a struct clk
and provide a sysfs or ioctl interface to set a clock for a given device.
Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists