[LinuxPPS] time_pps_kcbind return EOPNOTSUPP

Alexander Gordeev lasaine at lvk.cs.msu.su
Fri May 28 22:45:59 CEST 2010


Hi,

В Fri, 28 May 2010 08:15:50 +0200
Vitezslav Samel <vitezslav at samel.cz> пишет:

> 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 */

Please CC this list too when sending your patch to Andrew Morton as
Rodolfo asked you.

-- 
  Alexander
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
Url : http://ml.enneenne.com/pipermail/linuxpps/attachments/20100529/95136c88/attachment.pgp 


More information about the LinuxPPS mailing list