diff options
Diffstat (limited to 'drivers/serial/sunhv.c')
-rw-r--r-- | drivers/serial/sunhv.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/serial/sunhv.c b/drivers/serial/sunhv.c index 8ff900b09811..be0fe152891b 100644 --- a/drivers/serial/sunhv.c +++ b/drivers/serial/sunhv.c | |||
@@ -562,16 +562,10 @@ static int __devinit hv_probe(struct of_device *op, const struct of_device_id *m | |||
562 | 562 | ||
563 | port->dev = &op->dev; | 563 | port->dev = &op->dev; |
564 | 564 | ||
565 | sunhv_reg.minor = sunserial_current_minor; | 565 | err = sunserial_register_minors(&sunhv_reg, 1); |
566 | sunhv_reg.nr = 1; | ||
567 | |||
568 | err = uart_register_driver(&sunhv_reg); | ||
569 | if (err) | 566 | if (err) |
570 | goto out_free_con_read_page; | 567 | goto out_free_con_read_page; |
571 | 568 | ||
572 | sunhv_reg.tty_driver->name_base = sunhv_reg.minor - 64; | ||
573 | sunserial_current_minor += 1; | ||
574 | |||
575 | sunserial_console_match(&sunhv_console, op->node, | 569 | sunserial_console_match(&sunhv_console, op->node, |
576 | &sunhv_reg, port->line); | 570 | &sunhv_reg, port->line); |
577 | 571 | ||
@@ -591,8 +585,7 @@ out_remove_port: | |||
591 | uart_remove_one_port(&sunhv_reg, port); | 585 | uart_remove_one_port(&sunhv_reg, port); |
592 | 586 | ||
593 | out_unregister_driver: | 587 | out_unregister_driver: |
594 | sunserial_current_minor -= 1; | 588 | sunserial_unregister_minors(&sunhv_reg, 1); |
595 | uart_unregister_driver(&sunhv_reg); | ||
596 | 589 | ||
597 | out_free_con_read_page: | 590 | out_free_con_read_page: |
598 | kfree(con_read_page); | 591 | kfree(con_read_page); |
@@ -614,8 +607,7 @@ static int __devexit hv_remove(struct of_device *dev) | |||
614 | 607 | ||
615 | uart_remove_one_port(&sunhv_reg, port); | 608 | uart_remove_one_port(&sunhv_reg, port); |
616 | 609 | ||
617 | sunserial_current_minor -= 1; | 610 | sunserial_unregister_minors(&sunhv_reg, 1); |
618 | uart_unregister_driver(&sunhv_reg); | ||
619 | 611 | ||
620 | kfree(port); | 612 | kfree(port); |
621 | sunhv_port = NULL; | 613 | sunhv_port = NULL; |