[LinuxPPS] time_pps_kcbind return EOPNOTSUPP

Ben Gardiner bengardiner at nanometrics.ca
Thu May 27 16:38:48 CEST 2010


On Thu, May 27, 2010 at 10:29 AM, Udo van den Heuvel <udovdh at xs4all.nl> wrote:
> On 2010-05-27 16:15, Ben Gardiner wrote:
>> Note: I prepared this patch by doing the following:
>> 1) copy an existing clone of linux-2.6 and cd'ing into the working
>> copy (speeds up the fetch below)
>> 2) $git remote add ago-timesync git://github.com/ago/linux-2.6.git
>> 3) $git fetch ago-timesync
>> 4) $git branch --track ago-timesync ago-timesync/timesync
>> 5) $git checkout ago-timesync
>> 6) $git checkout -b ago-timesync-collapse
>> 7) $git rebase -i HEAD~8
>> 8) changing to pick to squash in all but the first commit and editing
>> the commit line to 'pps: all of ago's timesync commits'
>> 9) $git format-patch HEAD^..HEAD
>
> Thanks, patches fine.
> Compiles a bit worse:
>
>  CC      arch/x86/kernel/cpu/common.o
> In file included from include/linux/serial_core.h:195,
>                 from include/linux/serial_8250.h:14,
>                 from include/linux/kgdb.h:16,
>                 from arch/x86/kernel/cpu/common.c:11:
> include/linux/pps_kernel.h:32: error: redefinition of ‘struct
> pps_source_info’
> include/linux/pps_kernel.h:43: error: redefinition of ‘struct
> pps_event_time’
> include/linux/pps_kernel.h:49: error: redefinition of ‘struct pps_device’
> include/linux/pps_kernel.h:93: error: conflicting types for ‘pps_get_source’
> include/linux/pps_kernel.h:93: note: previous declaration of
> ‘pps_get_source’ was here
> include/linux/pps_kernel.h:94: error: conflicting types for ‘pps_put_source’
> include/linux/pps_kernel.h:94: note: previous declaration of
> ‘pps_put_source’ was here
> include/linux/pps_kernel.h:95: error: conflicting types for
> ‘pps_register_source’
> include/linux/pps_kernel.h:95: note: previous declaration of
> ‘pps_register_source’ was here
> include/linux/pps_kernel.h:98: error: conflicting types for
> ‘pps_register_cdev’
> include/linux/pps_kernel.h:98: note: previous declaration of
> ‘pps_register_cdev’ was here
> include/linux/pps_kernel.h:99: error: conflicting types for
> ‘pps_unregister_cdev’
> include/linux/pps_kernel.h:99: note: previous declaration of
> ‘pps_unregister_cdev’ was here
> include/linux/pps_kernel.h:100: error: conflicting types for ‘pps_event’
> include/linux/pps_kernel.h:100: note: previous declaration of
> ‘pps_event’ was here
> include/linux/pps_kernel.h:103: error: redefinition of
> ‘timespec_to_pps_ktime’
> include/linux/pps_kernel.h:103: note: previous definition of
> ‘timespec_to_pps_ktime’ was here
> include/linux/pps_kernel.h:110: error: conflicting types for ‘pps_get_ts’
> include/linux/pps_kernel.h:110: note: previous definition of
> ‘pps_get_ts’ was here
> In file included from include/linux/serial_8250.h:14,
>                 from include/linux/kgdb.h:16,
>                 from arch/x86/kernel/cpu/common.c:11:
> include/linux/serial_core.h: In function ‘uart_handle_dcd_change’:
> include/linux/serial_core.h:515: warning: passing argument 3 of
> ‘ld->ops->dcd_change’ from incompatible pointer type
> include/linux/serial_core.h:515: note: expected ‘struct pps_event_time
> *’ but argument is of type ‘struct pps_event_time *’
> make[3]: *** [arch/x86/kernel/cpu/common.o] Error 1
> make[2]: *** [arch/x86/kernel/cpu] Error 2
> make[1]: *** [arch/x86/kernel] Error 2
> make: *** [arch/x86] Error 2
>
> Any ideas?
>

Not really. All I can say is that the same error can be found in
Alex's timesync branch (with 'make mrproper ; make allnoconfig ;
make') and git-bisect places the blame on the first commit after
2.6.34:

750ac5cf6bf3cfdf09157cc57012d652c6339d03 is the first bad commit
commit 750ac5cf6bf3cfdf09157cc57012d652c6339d03
Author: Alexander Gordeev <lasaine at lvk.cs.msu.su>
Date:   Wed Feb 24 01:19:48 2010 +0300

    pps: unify timestamp gathering

    Add a helper function to gather timestamps. This way clients don't have
    to duplicate it.

    Signed-off-by: Alexander Gordeev <lasaine at lvk.cs.msu.su>

:040000 040000 20fd8a10e31235ef988fcc3d15b3a0976318a302
b12ee15a618be02bbcac505a706c8687bda9b18b M     drivers
:040000 040000 dd05f9fa921419be4a8b5935293c349f766b1448
a305e8c8748e61c79fad350feb6acd34f222fa89 M     include


-- 
Ben Gardiner
Nanometrics Inc.
+1 (613) 592-6776 x239
http://www.nanometrics.ca



More information about the LinuxPPS mailing list