Re: /dev/rtc not suspending/resuming properly

From: Brad Campbell
Date: Tue Jul 11 2006 - 03:55:58 EST


Pavel Machek wrote:

I've had a pretty good look at drivers/char/rtc.c and I can't see anywhere it would actually suspend/resume in the code, and investigation shows it does not appear to re-init the hardware on resume.

Well, you probably need to write suspend/resume support for it...

So it would seem..

I know absolutely nothing about the driver model (let alone C or kernel voodo in general) and have been investigating Documentation/driver-model. Would I be close if I were to suggest this needs to be a platform_driver? I'll certainly have a crack at it if I'm on the right track.

I've been having a look at some of the other drivers that use platform_driver however I'm a bit stumped at how I go about iterating through the various sparc buses using the platform_driver resource allocation functions.

#ifdef __sparc__
struct linux_ebus *ebus;
struct linux_ebus_device *edev;
#ifdef __sparc_v9__
struct sparc_isa_bridge *isa_br;
struct sparc_isa_device *isa_dev;
#endif
#endif

Or, do I just dodgy it up as the rtc is a legacy device, and leave the probe/allocation code alone and just add the pm stuff?

Brad
--
"Human beings, who are almost unique in having the ability
to learn from the experience of others, are also remarkable
for their apparent disinclination to do so." -- Douglas Adams
-
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/