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. Alan Stern - 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