[LinuxPPS] time_pps_kcbind return EOPNOTSUPP

Vitezslav Samel vitezslav at samel.cz
Fri May 28 08:15:50 CEST 2010


On Thu, May 27, 2010 at 04:29:19PM +0200, Udo van den Heuvel 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?

  Try this patch (IMHO should go into mailine kernel - Rodolfo?):

--- pps_kernel.h.orig	2009-09-10 09:23:54.000000000 +0200
+++ pps_kernel.h	2010-05-28 08:13:36.000000000 +0200
@@ -18,6 +18,9 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
+#ifndef _LINUX_PPS_KERNEL_H
+#define _LINUX_PPS_KERNEL_H
+
 #include <linux/pps.h>
 
 #include <linux/cdev.h>
@@ -87,3 +90,5 @@
 extern int pps_register_cdev(struct pps_device *pps);
 extern void pps_unregister_cdev(struct pps_device *pps);
 extern void pps_event(int source, struct pps_ktime *ts, int event, void *data);
+
+#endif  /* _LINUX_PPS_KERNEL_H */


	Cheers,
		Vita



More information about the LinuxPPS mailing list