struct sysdev_driver {
  struct list_head entry;
  int (*add)(struct sys_device *);
  int (*remove)(struct sys_device *);
  int (*shutdown)(struct sys_device *);
  int (*suspend)(struct sys_device *, pm_message_t state);
  int (*resume)(struct sys_device *);
};