Satyam Sharma <satyam <at> infradead.org> writes:
> On Mon, 30 Jul 2007, Rodolfo Giometti wrote:
>
> > On Mon, Jul 30, 2007 at 10:33:35AM +0530, Satyam Sharma wrote:
> > Currently the RFC says to you that you should open the serial port:
> >
> > fd = open("/dev/ttyS0", ...);
>
> No, it does *NOT*. All it says is:
>
> The time_pps_create() is used to convert an already-open UNIX file
> descriptor, for an appropriate special file, into a PPS handle.
>
> See? What I said is precisely the implementation the RFC envisages
> (and the only sane way to implement it too).
If we were totally rigurous about representing each device as a device node,
your solution would be fine. But we don't.
The clocksource model (/sys/devices/system/clocksource) is a better way to
go. One sysfs file is used to enumerate the possible sources and another is
used to read or set the current source. No new system calls; no new ioctls.
-ch
ch (at) murgatroid (dot) com
ch (at) hpl (dot) hp (dot) com
Hi,
On Wed, 1 Aug 2007, Christopher Hoover wrote:
> Satyam Sharma <satyam <at> infradead.org> writes:
> > On Mon, 30 Jul 2007, Rodolfo Giometti wrote:
> >
> > > On Mon, Jul 30, 2007 at 10:33:35AM +0530, Satyam Sharma wrote:
> > > Currently the RFC says to you that you should open the serial port:
> > >
> > > fd = open("/dev/ttyS0", ...);
> >
> > No, it does *NOT*. All it says is:
> >
> > The time_pps_create() is used to convert an already-open UNIX file
> > descriptor, for an appropriate special file, into a PPS handle.
> >
> > See? What I said is precisely the implementation the RFC envisages
> > (and the only sane way to implement it too).
>
> If we were totally rigurous about representing each device as a device node,
> your solution would be fine. But we don't.
Of course.
> The clocksource model (/sys/devices/system/clocksource) is a better way to
> go. One sysfs file is used to enumerate the possible sources and another is
> used to read or set the current source. No new system calls; no new ioctls.
Oh, not introducing any syscalls _at all_ would be fine, too. But the
RFC does /require/ an implementation to have them. I was only mentioning
the kind of implementation the RFC had in mind. But there are other ways
to achieve the same end goal, and yes, probably it's better to avoid
introducing syscalls in the first place and think of other mechanisms.
[ It's not that we're talking of IPsec or IPv6 or something here --
so RFC-compliance isn't overly important. But the final result
needs to be good, secure and well-designed, still. ]
Satyam