On Mon, Nov 12, 2001 at 10:56:44AM -0800, Jun Sun wrote:
> Jun Sun wrote:
> > Pete Popov wrote:
> > >
> > > On Mon, 2001-11-12 at 05:29, Maciej W. Rozycki wrote:
> > > > On Mon, 12 Nov 2001, Geert Uytterhoeven wrote:
> > > >
> > > > > > Unless you use a non-MC146818 RTC, which you need to write a
> > > > > > separate
> > > > > > driver for anyway.
> > > > >
> > > > > Yep, so that's why both m68k and PPC have common routines to
> > > > > read/write the
> > > > > RTC, with a /dev/rtc-compatible abstraction on top of it.
> > > >
> > > > OK, then you need an RTC chipset-specific driver and not a CPU
> > > > architecture-specific one. Otherwise we'll end with a zillion of
> > > > similar
> > > > RTC drivers like we already have for LANCE and SCC chips.
> > >
> > > I agree. We don't have arch specific network drivers so why have arch
> > > specific rtc drivers.
> > >
> > Because we can have a free RTC driver working once you get kernel working.
> Actually there is a longer answer with a little bit of the background info.
> Kernel needs to know about the real calendar time when it boots up. And
> optionally it may write to RTC (based on the assumption that kernel timer is
> more accurate than RTC clock). So it already has abstraction, one form or
> another, to do RTC read/write.
> Based on these abstractons you can provide a hardware-independent RTC driver,
> with RTC read/write operations.
> Before CONFIG_NEW_TIME_C is introduced, each MIPS board has its own time
> service routine, which means, even if RTC driver wants to utilize the
> abstraction, it will be only for that board only.
> After CONFIG_NEW_TIME_C is introduced, that RTC abstract becomes MIPS-common.
> Therefore, we can afford a MIPS-common generic RTC driver.
No. This sounds _exactly_ like the PPC driver. What we need to do, and
what I intend to do in 2.5 is make this a bit more generic so thatr any
arch can fill out some infos and say we read like this, we write like
that and that's that.
> If that abstraction ever becomes Linux-common code, then the generic RTC
> driver will essentially be a Linux-common, device-indpendent driver.
Yeap. I wanna do this in 2.5.
> For most MIPS machine, we need /dev/rtc to merely set time and read time. The
> generic driver should suffice. Otherwire, you can wirte a complete one for a
> specific board or a specific chip.
The 'rtc' driver in drivers/char does read, write, some ioctls and a
/proc bit. We can make this a bit more 'generic'
Tom Rini (TR1265)