From 517b9727c42d767113aaa5d682b45204d5d08492 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 19 Jan 2004 00:39:52 -0800 Subject: [PATCH] [PATCH] LP: add sysfs class support for lp devices Add sysfs class support for lp devices. Based on a patch from Hanna Linder --- drivers/char/lp.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/char/lp.c b/drivers/char/lp.c index b98318a2a2bb6..83fdccefd0bdc 100644 --- a/drivers/char/lp.c +++ b/drivers/char/lp.c @@ -145,6 +145,7 @@ 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 @@ -795,6 +796,8 @@ static int lp_register(int nr, struct parport *port) 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); @@ -897,6 +900,7 @@ int __init lp_init (void) } 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"); @@ -958,8 +962,10 @@ static void lp_cleanup_module (void) 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); -- 2.53.0