... static struct pm_ops my_pm = { prepare: my_prepare, complete: my_complete, suspend: my_suspend, resume: my_resume, freeze: my_freeze, thaw: my_thaw, poweroff: my_poweroff, restore: my_restore, }; ... static int __init my_module_init(void) { printk("my_module_init\n"); if ((major = register_chrdev(0, "testdev", &fops))) { test_class = class_create(THIS_MODULE, "testclass"); if (IS_ERR(test_class)) { printk("no udev support\n"); unregister_chrdev(major, "testdev"); return -EIO; } test_class->pm = &my_pm; device_create(test_class, NULL, MKDEV(major, 0), NULL, "lulu"); return 0; } printk("loading failed\n"); return -EIO; }