[Top] [All Lists]

Re: [RFC] generic MIPS RTC driver

To: Jun Sun <>
Subject: Re: [RFC] generic MIPS RTC driver
From: "Maciej W. Rozycki" <>
Date: Mon, 12 Nov 2001 19:55:37 +0100 (MET)
Cc: Geert Uytterhoeven <>, Linux/MIPS Development <>, Linux/m68k <>, Linux/PPC Development <>
In-reply-to: <>
Organization: Technical University of Gdansk
On Mon, 12 Nov 2001, Jun Sun wrote:

> The /dev/rtc interface is highly influenced by MC146818 chip, which not all
> RTC devices are alike.  The only fundamental thing in the driver is really the
> read and write time.

 You need only to keep the interface, which is:

static struct file_operations rtc_fops = {
        owner:          THIS_MODULE,
        llseek:         no_llseek,
        read:           rtc_read,
        poll:           rtc_poll,
        ioctl:          rtc_ioctl,
        open:           rtc_open,
        release:        rtc_release,
        fasync:         rtc_fasync,

Of these you probably must only implement open() and ioctl() -- you may
provide others as hardware permits -- see how these functions are
implemented in drivers/char/rtc.c.  The interface is pretty generic, IMHO. 

> If their abstraction is reasonable, perhaps they can all converge to a better,
> more generic rtc interface.

 Just implement the ioctls given hardware permits and return -EINVAL for
others.  Again, they are pretty generic: get/set the time, alarm, epoch,
disable/enable various interrupts, etc. -- see include/linux/rtc.h.  You
may propose additional ioctls if they would be useful for particular

+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+        e-mail:, PGP key available        +

<Prev in Thread] Current Thread [Next in Thread>