Re: [PATCH 1/5] ptp: Added a brand new class driver for ptp clocks.
From: Ira W. Snyder <hidden>
Date: 2010-08-19 15:23:05
Also in:
linux-arm-kernel, linux-devicetree, linuxppc-dev, lkml
On Thu, Aug 19, 2010 at 02:29:49PM +0200, Arnd Bergmann wrote:
On Thursday 19 August 2010, Richard Cochran wrote:quoted
On Wed, Aug 18, 2010 at 05:02:03PM +0200, Arnd Bergmann wrote:quoted
You might want to use callbacks for these system calls that you can register to at module load time, like it is done for the existing syscalls.Can you point me to a specific example?The struct k_clock contains callback functions to clock source specific implementations of the syscalls and other functions. Adding a new clock source that is (potentially) implemented as a module means you have to define a new k_clock in that module that you register using register_posix_clock. If you need additional syscalls to be implemented by the same module, you can put more callback functions into struct k_clock that would then only be implemented by the new module.quoted
quoted
The simpler way (e.g. for testing) is using Kconfig dependencies, like config PTP bool "IEEE 1588 Precision Time Protocol" config PPS tristate "Pulse per Second" depends on PTP || !PTP The depends statement is a way of expressing that when PTP is enabled, PPS cannot be a module, while it may be a module if PTP is disabled.THis did not work for me. What I got was, in effect, two independent booleans.Hmm, right. I wonder what I was thinking of then. You can certainly do config PTP bool "IEEE 1588 Precision Time Protocol" depends on PPS != m but that will hide the PTP option if PPS is set to 'm', which is normally not what you want.
Arnd, Perhaps you were thinking of the vhost example (taken from drivers/vhost/Kconfig): config VHOST_NET tristate "Host kernel accelerator for virtio net (EXPERIMENTAL)" depends on NET && EVENTFD && (TUN || !TUN) && (MACVTAP || !MACVTAP) && EXPERIMENTAL They have a similar construct with both TUN and MACVTAP there. Perhaps the parens are a necessary part of the "X || !X" syntax? Just a random guess. Ira