struct lp_struct lp_table[LP_NO];
static unsigned int lp_count = 0;
+static struct class_simple *lp_class;
#ifdef CONFIG_LP_CONSOLE
static struct parport *console_registered; // initially NULL
if (reset)
lp_reset(nr);
+ class_simple_device_add(lp_class, MKDEV(LP_MAJOR, nr), NULL,
+ "lp%d", nr);
devfs_mk_cdev(MKDEV(LP_MAJOR, nr), S_IFCHR | S_IRUGO | S_IWUGO,
"printers/%d", nr);
}
devfs_mk_dir("printers");
+ lp_class = class_simple_create(THIS_MODULE, "printer");
if (parport_register_driver (&lp_driver)) {
printk (KERN_ERR "lp: unable to register with parport\n");
continue;
parport_unregister_device(lp_table[offset].dev);
devfs_remove("printers/%d", offset);
+ class_simple_device_remove(MKDEV(LP_MAJOR, offset));
}
devfs_remove("printers");
+ class_simple_destroy(lp_class);
}
__setup("lp=", lp_setup);