On Wed, 27 Jul 2005, Shaohua Li wrote: The patch looks Ok, except for this function. > diff -puN drivers/base/sys.c~sysdev drivers/base/sys.c > --- linux-2.6.13-rc3/drivers/base/sys.c~sysdev 2005-07-27 10:49:52.831538832 +0800 > +++ linux-2.6.13-rc3-root/drivers/base/sys.c 2005-07-27 17:22:57.447132280 +0800 > @@ -288,6 +288,25 @@ void sysdev_shutdown(void) > up(&sysdev_drivers_lock); > } > > +static void inline do_sysdev_resume(struct sysdev_class *cls, > + struct sys_device *dev, struct sysdev_driver *drv) > +{ * It does not need to be inlined. * Internal helpers are prefix'd with "__" instead of "do_", so this would be '__sysdev_resume()'. * drv is a temporary variable * cls can be ascertained from the sys_device So, the first few lines should be static void __sysdev_resume(struct sys_device * dev) { struct sysdev_class * cls = dev->cls; struct sysdev_driver * dev; ... Thanks, Pat