提交 ec62e1c8 编写于 作者: D Dmitry Torokhov

Input: i8042 - use platfrom_create_bundle() helper

Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
上级 ce67eef6
......@@ -1386,6 +1386,8 @@ static int __init i8042_probe(struct platform_device *dev)
{
int error;
i8042_platform_device = dev;
error = i8042_controller_selftest();
if (error)
return error;
......@@ -1421,6 +1423,7 @@ static int __init i8042_probe(struct platform_device *dev)
i8042_free_aux_ports(); /* in case KBD failed but AUX not */
i8042_free_irqs();
i8042_controller_reset();
i8042_platform_device = NULL;
return error;
}
......@@ -1430,6 +1433,7 @@ static int __devexit i8042_remove(struct platform_device *dev)
i8042_unregister_ports();
i8042_free_irqs();
i8042_controller_reset();
i8042_platform_device = NULL;
return 0;
}
......@@ -1448,6 +1452,7 @@ static struct platform_driver i8042_driver = {
static int __init i8042_init(void)
{
struct platform_device *pdev;
int err;
dbg_init();
......@@ -1460,31 +1465,18 @@ static int __init i8042_init(void)
if (err)
goto err_platform_exit;
i8042_platform_device = platform_device_alloc("i8042", -1);
if (!i8042_platform_device) {
err = -ENOMEM;
pdev = platform_create_bundle(&i8042_driver, i8042_probe, NULL, 0, NULL, 0);
if (IS_ERR(pdev)) {
err = PTR_ERR(pdev);
goto err_platform_exit;
}
err = platform_device_add(i8042_platform_device);
if (err)
goto err_free_device;
err = platform_driver_probe(&i8042_driver, i8042_probe);
if (err)
goto err_del_device;
panic_blink = i8042_panic_blink;
return 0;
err_del_device:
platform_device_del(i8042_platform_device);
err_free_device:
platform_device_put(i8042_platform_device);
err_platform_exit:
i8042_platform_exit();
return err;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册