[SERIAL] serial8250: convert to the new platform device interface

Do not use platform_device_register_simple() as it is going away.
Also set up driver's owner to create link driver->module in sysfs.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

authored by Dmitry Torokhov and committed by Russell King 7493a314 d600b97c

+20 -10
+20 -10
drivers/serial/8250.c
··· 2454 2454 .resume = serial8250_resume, 2455 2455 .driver = { 2456 2456 .name = "serial8250", 2457 + .owner = THIS_MODULE, 2457 2458 }, 2458 2459 }; 2459 2460 ··· 2595 2594 if (ret) 2596 2595 goto out; 2597 2596 2598 - serial8250_isa_devs = platform_device_register_simple("serial8250", 2599 - PLAT8250_DEV_LEGACY, NULL, 0); 2600 - if (IS_ERR(serial8250_isa_devs)) { 2601 - ret = PTR_ERR(serial8250_isa_devs); 2602 - goto unreg; 2597 + ret = platform_driver_register(&serial8250_isa_driver); 2598 + if (ret) 2599 + goto unreg_uart_drv; 2600 + 2601 + serial8250_isa_devs = platform_device_alloc("serial8250", 2602 + PLAT8250_DEV_LEGACY); 2603 + if (!serial8250_isa_devs) { 2604 + ret = -ENOMEM; 2605 + goto unreg_plat_drv; 2603 2606 } 2607 + 2608 + ret = platform_device_add(serial8250_isa_devs); 2609 + if (ret) 2610 + goto put_dev; 2604 2611 2605 2612 serial8250_register_ports(&serial8250_reg, &serial8250_isa_devs->dev); 2606 2613 2607 - ret = platform_driver_register(&serial8250_isa_driver); 2608 - if (ret == 0) 2609 - goto out; 2614 + goto out; 2610 2615 2611 - platform_device_unregister(serial8250_isa_devs); 2612 - unreg: 2616 + put_dev: 2617 + platform_device_put(serial8250_isa_devs); 2618 + unreg_plat_drv: 2619 + platform_driver_unregister(&serial8250_isa_driver); 2620 + unreg_uart_drv: 2613 2621 uart_unregister_driver(&serial8250_reg); 2614 2622 out: 2615 2623 return ret;