>> ifs_class = class_create(THIS_MODULE, "intel_ifs"); > > Why do you need a class? Why not just use a misc device? Saves you > loads of boilerplate code that is sometimes tricky to get correct. It didn't feel like a "ton" of boiler plate. Just class_create()/class_destroy() for the class itself. And class_for_each_device(ifs_class, NULL, NULL, ifs_device_unregister); to clean up devices on exit (or error cleanup in init()). I thought I needed a class to make a directory for my per-test directories to live in: $ ls -l /sys/devices/virtual/intel_ifs total 0 drwxr-xr-x 3 root root 0 Apr 20 13:36 ifs0 drwxr-xr-x 3 root root 0 Apr 20 13:36 ifs1 Can I do that with a misc device? Or is it ok for them all to sit at the top level of /sys/devices/virtual? -Tony