Re: [PATCH v2] misc: Driver for Silicon Labs Si570 and compatibles

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 21, 2011 at 01:11:25PM +0200, Arnd Bergmann wrote:
> 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@xxxxxxxxxxxx>
> > > 
> > > 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)

No UIO driver like that ever reached me.

> 
> 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.

I don't think the UIO framework is the right place for such a thing. If it's
just this one driver that needs modification of a clock from userspace, then
a sysfs attribute could be added to that driver. If there are several drivers
that need this, then the clock framework should be extended.

Thanks,
Hans


> 
> 	Arnd
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux