struct sys_device * sysdev; 
int sysdev_suspend(pm_message_t state){	struct sysdev_class * cls;	pr_debug("Suspending System Devices\n");	list_for_each_entry_reverse(cls, &system_subsys.kset.list,				    kset.kobj.entry) {		struct sys_device * sysdev;		pr_debug("Suspending type '%s':\n",			 kobject_name(&cls->kset.kobj));		list_for_each_entry(sysdev, &cls->kset.list, kobj.entry) {			struct sysdev_driver * drv;			pr_debug(" %s\n", kobject_name(&sysdev->kobj));			/* Call global drivers first. */			list_for_each_entry(drv, &sysdev_drivers, entry) {				if (drv->suspend)					drv->suspend(sysdev, state);			}			/* Call auxillary drivers next. */			list_for_each_entry(drv, &cls->drivers, entry) {				if (drv->suspend)					drv->suspend(sysdev, state);			}			/* Now call the generic one */			if (cls->suspend)				cls->suspend(sysdev, state);		}	}	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ceaeade1f94c0a1c0163906ceeaede6493a9715e/sys.c/clean/drivers/base/sys.c