Re: char: Add MFGPT driver for the CS5535/CS5536

From: Jordan Crouse
Date: Mon Nov 27 2006 - 15:02:01 EST


On 22/11/06 22:17 +0000, Alan wrote:
> > The attached driver provides a low-level interface to the block, and
> > allows for other kernel drivers to use the timers.
>
> Three comments
>
> 2. There is an RTC timer interface - could you use that interface
> for some of this so its compatible and consistent ?

Do you mean, use the RTC interface itself (i.e. - turn the mfgpt driver
into an RTC driver), or just emulate parts of the RTC interface in the
MFGPT driver. I would be fine with the second option - the first doesn't
really fit, since the only functionality the RTC and the MFGPT share is
the periodic interrupt feature (which is sub-optimal on RTC anyway).

If the "timer interrupt" feature feels tacked on, thats because it is.
The best use for the MFGPT block is to drive a duty cycle on the
output pin suitable for LEDs and such. Most Geode customers would use
it for that purpose. Running a close second on the usefulness scale is
the watchdog timer - its always nice to have that sort of functionality
available at the hardware level (and its a double bonus that the watchdog
can be set up to continue running while in suspend).

The interrupt/NMI functionality was added to the hardware for the BIOS to
use, and we added it to the kernel driver for a sense of completeness.
I personally can't fathom anybody using the timers, and I would gladly
remove them if nobody else can come up with a realistic usage model.

> 3. Ditto for a watchdog use - although that would be a separate
> driver using the kernel hooks anyway.

That was the plan - I do have a watchdog driver that I had when I first
wrote the MFGPT driver for a now defunct project. I should dust it off
and add it in.

Thanks,
Jordan

--
Jordan Crouse
Senior Linux Engineer
Advanced Micro Devices, Inc.
<www.amd.com/embeddedprocessors>


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/