mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 18:41:00 +07:00
char: lp: introduce list to save port number
When we are registering lp in LP_PARPORT_AUTO mode, we are not keeping any record of the parallel port number to which lp is connecting. Add an array to save the port number to it. Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
2e79c18749
commit
0edf39d2c7
@ -141,6 +141,7 @@
|
|||||||
|
|
||||||
static DEFINE_MUTEX(lp_mutex);
|
static DEFINE_MUTEX(lp_mutex);
|
||||||
static struct lp_struct lp_table[LP_NO];
|
static struct lp_struct lp_table[LP_NO];
|
||||||
|
static int port_num[LP_NO];
|
||||||
|
|
||||||
static unsigned int lp_count = 0;
|
static unsigned int lp_count = 0;
|
||||||
static struct class *lp_class;
|
static struct class *lp_class;
|
||||||
@ -938,6 +939,7 @@ static int lp_register(int nr, struct parport *port)
|
|||||||
CONSOLE_LP, port->name);
|
CONSOLE_LP, port->name);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
port_num[nr] = port->number;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1013,6 +1015,7 @@ static int __init lp_init(void)
|
|||||||
init_waitqueue_head(&lp_table[i].dataq);
|
init_waitqueue_head(&lp_table[i].dataq);
|
||||||
mutex_init(&lp_table[i].port_mutex);
|
mutex_init(&lp_table[i].port_mutex);
|
||||||
lp_table[i].timeout = 10 * HZ;
|
lp_table[i].timeout = 10 * HZ;
|
||||||
|
port_num[i] = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (register_chrdev(LP_MAJOR, "lp", &lp_fops)) {
|
if (register_chrdev(LP_MAJOR, "lp", &lp_fops)) {
|
||||||
@ -1091,6 +1094,7 @@ static void lp_cleanup_module(void)
|
|||||||
for (offset = 0; offset < LP_NO; offset++) {
|
for (offset = 0; offset < LP_NO; offset++) {
|
||||||
if (lp_table[offset].dev == NULL)
|
if (lp_table[offset].dev == NULL)
|
||||||
continue;
|
continue;
|
||||||
|
port_num[offset] = -1;
|
||||||
parport_unregister_device(lp_table[offset].dev);
|
parport_unregister_device(lp_table[offset].dev);
|
||||||
device_destroy(lp_class, MKDEV(LP_MAJOR, offset));
|
device_destroy(lp_class, MKDEV(LP_MAJOR, offset));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user