On Tue, Jan 22, 2008 at 10:21:34AM -0500, Alan Stern wrote:
> On Tue, 22 Jan 2008, Oliver Neukum wrote:
> 
> > Am Montag, 21. Januar 2008 22:43:25 schrieb Sarah Sharp:
> > > +       dev->connect_time = jiffies;
> > > +       dev->active_duration = -jiffies;
> > >  #endif
> > >         if (root_hub)   /* Root hub always ok [and always wired] */
> > >                 dev->authorized = 1;
> > > diff --git a/include/linux/usb.h b/include/linux/usb.h
> > > index 5fc8ff7..b031455 100644
> > > --- a/include/linux/usb.h
> > > +++ b/include/linux/usb.h
> > > @@ -419,12 +419,15 @@ struct usb_device {
> > >         u32 quirks;                     /* quirks of the whole device */
> > >         atomic_t urbnum;                /* number of URBs submitted for 
> > > the whole device */
> > >  
> > > +       unsigned long active_duration;  /* total time device is not 
> > > suspended */
> > > +
> > 
> > Somehow assigning -jiffies to an unsigned variable doesn't appeal to me.
> 
> I agree.  In fact, reading through the patch I got the distinct
> impression that the value stored in active_duration was the negative of
> the value I would have used.  Thus, I would have called the field
> something like active_start_or_duration.  The idea is that while the
> device is active it stores an effective start time, and while the
> device is suspended it stores a duration.
> 
> If the device is active then the total active duration is calculated as
> 
>               jiffies - udev->active_start_or_duration
> 
> If the device is suspended then the total active duration
> is simply
> 
>               udev->active_start_or_duration
> 
> When suspending or resuming the device you set
> 
>       udev->active_start_or_duration = jiffies -
>                       udev->active_start_or_duration;
> 
> which converts between an effective start time and a duration.
> 
> This may not be quite as clean as your approach, but IMO it is more 
> easily understandable.

Yes, I believe that is a correct approach.  However, I still had to draw myself
a diagram and do some simple algebra to convince myself that it was correct.  So
I don't think your approach is easier to understand, we just think differently.
:)

Sarah
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to