Re: [PATCH 2/4] RTC: Fix rtc driver ioctl specific shortcutting

John Stultz
2011-02-03T19:01:37Z

On Thu, 2011-02-03 at 09:43 +0100, Wolfram Sang wrote:
> On Wed, Feb 02, 2011 at 06:14:41PM -0800, John Stultz wrote:
> > Some RTC drivers enable functionality directly via their ioctl method
> > instead of using the generic ioctl handling code. With the recent
> > virtualization of the RTC layer, its now important that the generic
> > layer always be used.
> >
> > This patch moved the rtc driver ioctl method call to after the generic
> > ioctl processing is done. This allows hardware specific features or
> > ioctls to still function, while relying on the generic code for handling
> > everything else.
>
> I guess the documentation should be updated, too. Currently it says:
>
> Note that many of these ioctls need not actually be implemented by your
> driver. The common rtc-dev interface handles many of these nicely if your
> driver returns ENOIOCTLCMD. Some common examples:
> ...
>
> That situation has changed after your patch.

Thanks for pointing that out. Although the code and comments were not
consistent even before my rework:
ie:
* Drivers *SHOULD NOT* provide ioctl implementations
* for these requests. Instead, provide methods to
* support the following code, so that the RTC's main
* features are accessible without using ioctls.

But clearly that wasn't the case. :)

I've got a few additional cleanup patches I'll be posting to once I'm
feeling confident the posted fix resolves the issues Marcelo was having.

If anyone else is seeing problems with these fixes, please do let me
know.

thanks
-john