Ð Thu, 23 Dec 2010 16:35:49 -0800 Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> ÐÐÑÐÑ: > On Mon, 20 Dec 2010 14:54:56 +0300 > Alexander Gordeev <lasaine@xxxxxxxxxxxxx> wrote: > > > + expire_time = ktime_to_timespec(timer->_expires); > > It's bad to play around with internal fields, especially when an > accessor API was provided to access those fields. > > And lo, hrtimers got changed in linux-next: > > drivers/pps/generators/pps_gen_parport.c: In function 'hrtimer_event': > drivers/pps/generators/pps_gen_parport.c:92: error: 'struct hrtimer' > has no member named '_expires' > > The documentation in hrtimer.h is of course complete crap and > Documentation/timers/hrtimers.txt appears to be bitrot, but with a > little sleuthing and guesswork, it seems that what you want here is Ah, cool, thanks for the fix! > --- > a/drivers/pps/generators/pps_gen_parport.c~pps-add-parallel-port-pps-signal-generator-fix > +++ a/drivers/pps/generators/pps_gen_parport.c @@ -82,7 +82,7 @@ > static enum hrtimer_restart hrtimer_even > /* first of all we get the time stamp... */ > getnstimeofday(&ts1); > - expire_time = ktime_to_timespec(timer->_expires); > + expire_time = > ktime_to_timespec(hrtimer_get_softexpires(timer)); dev = > container_of(timer, struct pps_generator_pp, timer); lim = > NSEC_PER_SEC - send_delay - dev->port_write_time; > _ > -- Alexander
Attachment:
signature.asc
Description: PGP signature