struct class {
  const char *name;
  struct module *owner;

  struct subsystem subsys;
  struct list_head children;
  struct list_head interfaces;
  struct semaphore sem;

  struct class_attribute *class_attrs;
  struct class_device_attribute *class_dev_attrs;

  int (*hotplug)(struct class_device *dev, char **envp,
                 int num_envp, char *buffer, int buffer_size);
  void (*release)(struct class_device *dev);
  void (*class_release)(struct class *class);
};