From: David Brownell <david-b@pacbell.net>
To: David Miller <davem@davemloft.net>
Cc: James.Bottomley@hansenpartnership.com,
torvalds@linux-foundation.org, akpm@linux-foundation.org,
linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org,
alessandro.zummo@towertech.it
Subject: Re: [PATCH] fix RTC_CLASS regression with PARISC
Date: Mon, 8 Sep 2008 21:14:00 -0700 [thread overview]
Message-ID: <200809082114.01347.david-b@pacbell.net> (raw)
In-Reply-To: <20080908.205128.192725776.davem@davemloft.net>
On Monday 08 September 2008, David Miller wrote:
> > > > > struct rtc_device *rtc = rtc_class_open("rtc0");
> >
> > One more point: that should probably use CONFIG_RTC_HCTOSYS_DEVICE
> > instead of hard-wiring to "rtc0". Yeah, I'm sure your SPARCs have
> > lots of RTCs to choose from -- not! -- but I'd like to see you end
> > up with code that many folk can reuse/recycle/pirate. ;)
>
> Can you be more specific? Oh, you want me to use the string defined
> by that config option. Ok :-)
>
> But as far as I can tell this will only be set of RTC_HCTOSYS and
> users currently are allowed to not set that.
>
> If this code goes somewhere generic you would need to ifdef test on
> that, depending upon where you'd want to put it and how it would
> be provided generically.
OK.
> > > > I'd be tempted to cache that ... notice how you never
> > > > close it, too. That will goof lots of refcounts...
> > >
> > > Well if I cache it then we'll hold it forever and that's not
> > > so nice right?
> >
> > Why wouldn't it be, so long as it's eventually closed
> > to prevent leakage? Other code can rtc_class_open() too;
> > unlike a userspace open("/dev/rtc0", ...) this isn't an
> > exclusive operation.
>
> When would be "eventually closed" if I open it here and remember
> the pointer in a static local variable, and don't close it?
>
> I guess you need to be more specific about what you mean by
> caching :)
I'll translate that as "-ENOPATCH". :)
It'd suffice to fire a timer every 15 minutes or so, and
close it if the NTP logic hasn't refreshed the clock since
last time. You're right that the simplest scheme is to just
open/close on each call. The extra work is so infrequent it
may not be measurable.
> > If you're concerned about stuff like "rmmod my-i2c-rtc-driver"
> > losing (or "rmmod my-i2c-rtc-driver's-i2c-adapter") ... what's
> > supposed to happen is that you start getting an -ENODEV return
> > from your rtc_set_mmss() call, and then you close and null your
> > cached handle to free up its memory.
>
> I see... god that's ugly. If you want to do this in the generic
> RTC layer helper routines,
... when they get created ...
> that's fine, but I don't feel like
> adding all sorts of stuff like that to the sparc specific routine
> at the moment.
>
> I'm trying to do things that are practical and that I can check
> into sparc-next-2.6 right now.
OK by me.
next prev parent reply other threads:[~2008-09-09 4:15 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-08 15:53 [PATCH] fix RTC_CLASS regression with PARISC James Bottomley
2008-09-08 18:19 ` David Brownell
2008-09-08 18:39 ` James Bottomley
2008-09-08 19:13 ` David Brownell
2008-09-08 20:28 ` James Bottomley
2008-09-08 21:29 ` David Brownell
2008-09-08 21:35 ` David Miller
2008-09-08 23:00 ` James Bottomley
2008-09-08 23:04 ` David Miller
2008-09-08 23:23 ` James Bottomley
2008-09-08 23:32 ` David Brownell
2008-09-08 23:43 ` David Miller
2008-09-08 23:29 ` David Brownell
2008-09-08 23:44 ` David Miller
2008-09-09 0:55 ` David Brownell
2008-09-09 2:52 ` David Miller
2008-09-09 3:17 ` David Brownell
2008-09-09 3:51 ` David Miller
2008-09-09 4:14 ` David Brownell [this message]
2008-09-10 21:04 ` Andrew Morton
2008-09-10 21:09 ` Randy.Dunlap
2008-09-10 21:19 ` David Brownell
2008-09-10 21:20 ` David Miller
2008-09-10 21:36 ` David Brownell
2008-09-10 21:40 ` David Miller
2008-09-09 1:22 ` Paul Mackerras
2008-09-08 21:37 ` James Bottomley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200809082114.01347.david-b@pacbell.net \
--to=david-b@pacbell.net \
--cc=James.Bottomley@hansenpartnership.com \
--cc=akpm@linux-foundation.org \
--cc=alessandro.zummo@towertech.it \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox