On Wed, 2010-08-25 at 10:50 +0200, Jan Kiszka wrote:
> Philippe Gerum wrote:
> > On Fri, 2010-07-02 at 13:50 +0200, Wolfgang Mauerer wrote:
> > 
> > <snip>
> > 
> >> diff --git a/include/linux/ipipe_tickdev.h b/include/linux/ipipe_tickdev.h
> >> index 4a1cb1b..86f13e0 100644
> >> --- a/include/linux/ipipe_tickdev.h
> >> +++ b/include/linux/ipipe_tickdev.h
> >> @@ -25,6 +25,7 @@
> >>  #if defined(CONFIG_IPIPE) && defined(CONFIG_GENERIC_CLOCKEVENTS)
> > 
> > Since we should have CONFIG_HAVE_IPIPE_HOSTRT by now, let's use it.
> 
> Don't get yet how this fits here.

arch-dep would define CONFIG_HAVE_IPIPE_HOSTRT [if IPIPE]

> >>  
> >>  #include <linux/clockchips.h>
> >> +#include <linux/clocksource.h>
> >>  
> >>  struct tick_device;
> >>  
> >> @@ -44,6 +45,30 @@ struct ipipe_tick_device {
> >>    int real_shift;
> >>  };
> >>  
> >> +/*
> >> + * NOTE: When modifying this structure, make sure to keep the Xenomai
> >> + * definition include/nucleus/vdso.h in synch.
> >> + */
> >> +struct ipipe_hostrt_data {
> >> +  short live;
> >> +  seqcount_t seqcount;
> >> +  time_t wall_time_sec;
> >> +  u32 wall_time_nsec;
> >> +  struct timespec wall_to_monotonic;
> >> +  cycle_t cycle_last;
> >> +  cycle_t mask;
> >> +  u32 mult;
> >> +  u32 shift;
> >> +};
> >> +
> >> +#ifdef CONFIG_IPIPE_HOSTRT
> >> +void ipipe_set_hostrt_data(struct ipipe_hostrt_data *exchg);
> >> +void update_ipipe_hostrt(struct timespec *wall_time, struct clocksource 
> >> *clock);
> > 
> > Naming consistency -> ipipe_update_hostrt()
> > 
> > We should probably mark this as an internal interface as well, e.g.
> > __ipipe_update_hostrt.
> 
> Will fix.
> 
> > 
> >> +#else /* !CONFIG_IPIPE_HOSTRT */
> >> +static inline void ipipe_set_hostrt_data(struct ipipe_hostrt_data *exchg) 
> >> { };
> >> +static inline void update_ipipe_hostrt(struct timespec *wall_time, struct 
> >> clocksource *clock) {};
> >> +#endif
> >> +
> > 
> > <snip>
> > 
> >> diff --git a/kernel/ipipe/core.c b/kernel/ipipe/core.c
> >> index 63deaf9..9b21db9 100644
> >> --- a/kernel/ipipe/core.c
> >> +++ b/kernel/ipipe/core.c
> >> @@ -48,6 +48,49 @@ static unsigned long __ipipe_domain_slot_map;
> >>  
> >>  struct ipipe_domain ipipe_root;
> >>  
> >> +#ifdef CONFIG_IPIPE_HOSTRT
> > 
> > Same remark as previously regarding the use of CONFIG_HAVE_IPIPE_HOSTRT
> > in noarch code. In case the arch-dep code does support the feature, we
> > want the noarch section to always compile the generic bits. There is no
> > incentive for overcomplicated and error prone feature selection, only
> > for saving a few hundred bytes, most - if not all - people will want
> > anyway.
> 
> We are following kernel-style here: arch selects HAVE_*, generic code
> enables some feature depending on HAVE_* and further dependencies (here:
> CONFIG_IPIPE).
> 
> Jan
> 

-- 
Philippe.



_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main

Reply via email to