psmouse-base.c (c774326a219536ab615d68a22875673f6f608b62) psmouse-base.c (8eb92e5c91338eb19f86ffb2232258337ebf905b)
1/*
2 * PS/2 mouse driver
3 *
4 * Copyright (c) 1999-2002 Vojtech Pavlik
5 * Copyright (c) 2003-2004 Dmitry Torokhov
6 */
7
8/*

--- 1985 unchanged lines hidden (view full) ---

1994static int __init psmouse_init(void)
1995{
1996 int err;
1997
1998 lifebook_module_init();
1999 synaptics_module_init();
2000 hgpk_module_init();
2001
1/*
2 * PS/2 mouse driver
3 *
4 * Copyright (c) 1999-2002 Vojtech Pavlik
5 * Copyright (c) 2003-2004 Dmitry Torokhov
6 */
7
8/*

--- 1985 unchanged lines hidden (view full) ---

1994static int __init psmouse_init(void)
1995{
1996 int err;
1997
1998 lifebook_module_init();
1999 synaptics_module_init();
2000 hgpk_module_init();
2001
2002 err = psmouse_smbus_module_init();
2003 if (err)
2004 return err;
2005
2002 kpsmoused_wq = alloc_ordered_workqueue("kpsmoused", 0);
2003 if (!kpsmoused_wq) {
2004 pr_err("failed to create kpsmoused workqueue\n");
2006 kpsmoused_wq = alloc_ordered_workqueue("kpsmoused", 0);
2007 if (!kpsmoused_wq) {
2008 pr_err("failed to create kpsmoused workqueue\n");
2005 return -ENOMEM;
2009 err = -ENOMEM;
2010 goto err_smbus_exit;
2006 }
2007
2008 err = serio_register_driver(&psmouse_drv);
2009 if (err)
2011 }
2012
2013 err = serio_register_driver(&psmouse_drv);
2014 if (err)
2010 destroy_workqueue(kpsmoused_wq);
2015 goto err_destroy_wq;
2011
2016
2017 return 0;
2018
2019err_destroy_wq:
2020 destroy_workqueue(kpsmoused_wq);
2021err_smbus_exit:
2022 psmouse_smbus_module_exit();
2012 return err;
2013}
2014
2015static void __exit psmouse_exit(void)
2016{
2017 serio_unregister_driver(&psmouse_drv);
2018 destroy_workqueue(kpsmoused_wq);
2023 return err;
2024}
2025
2026static void __exit psmouse_exit(void)
2027{
2028 serio_unregister_driver(&psmouse_drv);
2029 destroy_workqueue(kpsmoused_wq);
2030 psmouse_smbus_module_exit();
2019}
2020
2021module_init(psmouse_init);
2022module_exit(psmouse_exit);
2031}
2032
2033module_init(psmouse_init);
2034module_exit(psmouse_exit);