Message ID | 20221113033022.2639-1-linux@weissschuh.net |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp1534617wru; Sat, 12 Nov 2022 20:03:28 -0800 (PST) X-Google-Smtp-Source: AA0mqf5hOjSRRzUofym2TwXmBKJItR2rU/FRvxENF6OmSAjxqQwpuNLUjoNc1HDHdFOvrQpW6lnB X-Received: by 2002:a17:907:9a85:b0:7ad:b45c:dbca with SMTP id km5-20020a1709079a8500b007adb45cdbcamr6800247ejc.388.1668312207836; Sat, 12 Nov 2022 20:03:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668312207; cv=none; d=google.com; s=arc-20160816; b=L8rjVu+Xk8Ue+Bqbx2iB5jBBEyH70uYqkizca9XJBQU4+Lw8quD7zqNk5l2ikgZqyV 1cQGyENxG4ZLvH2wM4ipzLtdehhhFnN5GGn+2bJWYuhGG6musuKnjGeA0FO98Ukr92iB eYPvY+bCKr3674IOaaZNdb7KqkviyuS1G/Ou3si3g8Y175fEynyzSa8uDlRnRSamOM0w qvjl1FaeU3/8zSjRjGlcFGm4xB7S7J/m+m9bZJ40Xxf2SRuiwH9+pVqXRg1VeWwFrfAE lAwmfrkGXhco1+HMO4/npyLun4dUXtxgOYpl1SPAzMwLuPtzSFNCPEqMV71U43RcJmtv Da8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:dkim-signature:from; bh=IsZDhBAzGtnfSJhErRIZ9p76983WmikXsHOZP+0NC18=; b=LRb7ERK1ZLoFG2ad+pb814dMKRI2KW/VeMFOQeHRB8S4iPFlpcqoEhe1A7eqFhaEoL /Zu5QEsudWKtzEN2+22B9f6uE18kTc+aDeKOqfW63W1/gAdgHvSYFabRNTz4MR8zDNTB vfbgf6x+Qy/nioA1vm9JswCFnogzE6ClbUVeBKBh0pAfq0hr+RC9zLsZVchv6by1zmvg IbrFyfUCAg/+xjAfY4pfqkBRT55g8V1nQN/h3DCD8LJfXlV4WZvoa6POtR7q1l43VtVf za43K4MY+nf3ReVUSXUHPwS1RAJDIz9NBYBG6yaLL7xNMlbgh65ziBTG+C0F0WbgeOQ/ cZTQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@weissschuh.net header.s=mail header.b=b+WhP7YA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id js21-20020a17090797d500b0078ddff4b3absi6967198ejc.423.2022.11.12.20.02.52; Sat, 12 Nov 2022 20:03:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@weissschuh.net header.s=mail header.b=b+WhP7YA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235127AbiKMDal (ORCPT <rfc822;winker.wchi@gmail.com> + 99 others); Sat, 12 Nov 2022 22:30:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57392 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229584AbiKMDai (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Sat, 12 Nov 2022 22:30:38 -0500 Received: from todd.t-8ch.de (todd.t-8ch.de [IPv6:2a01:4f8:c010:41de::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B95E913DF7 for <linux-kernel@vger.kernel.org>; Sat, 12 Nov 2022 19:30:36 -0800 (PST) From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= <linux@weissschuh.net> DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=weissschuh.net; s=mail; t=1668310234; bh=2gTkiOcwRu1rvtsieSB6uYYfG6KwpnDzYJ7VI3RNyQA=; h=From:To:Cc:Subject:Date:From; b=b+WhP7YAnAS8pr7aHdB3Jd89kWdSvdLDW7JXO+7p6QDkJPFCKHIeablhfi6hZJVAk aUPJmiokBqqZEYesqNT2f2QNOEsfiRhZ0byPrg7N8FzHSxPzcBp0KmR5X8OuA1+k0/ qh3BCMAbMS2ky54HSMU/PAH9kuVRnT3Xx/bcUyf8= To: Benjamin Herrenschmidt <benh@kernel.crashing.org>, Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= <linux@weissschuh.net>, linux-input@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH] macintosh/mac_hid.c: don't load by default Date: Sun, 13 Nov 2022 04:30:22 +0100 Message-Id: <20221113033022.2639-1-linux@weissschuh.net> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Developer-Signature: v=1; a=ed25519-sha256; t=1668310220; l=1025; i=linux@weissschuh.net; s=20211113; h=from:subject; bh=2gTkiOcwRu1rvtsieSB6uYYfG6KwpnDzYJ7VI3RNyQA=; b=/j6qqxCFitLVms6T0bo554pD1PYuGU4fej2PB1Xt0KyhqBLYFyNUkX4SOqLu/KdIPnSZhFsqjkBg 3h1eojjyBbDRrxOrzFCCOvAKyxqK+6wbQJaNfxQj6LsvS1MZuqjR X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=9LP6KM4vD/8CwHW7nouRBhWLyQLcK1MkP6aTZbzUlj4= Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1749352141393349528?= X-GMAIL-MSGID: =?utf-8?q?1749352141393349528?= |
Series |
macintosh/mac_hid.c: don't load by default
|
|
Commit Message
Thomas Weißschuh
Nov. 13, 2022, 3:30 a.m. UTC
There should be no need to automatically load this driver on *all*
machines with a keyboard.
This driver is of very limited utility and has to be enabled by the user
explicitly anyway.
Furthermore its own header comment has deprecated it for 17 years.
Fixes: 99b089c3c38a ("Input: Mac button emulation - implement as an input filter")
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
drivers/macintosh/mac_hid.c | 2 --
1 file changed, 2 deletions(-)
base-commit: fef7fd48922d11b22620e19f9c9101647bfe943d
Comments
Hi Thomas, On Sun, Nov 13, 2022 at 04:30:22AM +0100, Thomas Weißschuh wrote: > There should be no need to automatically load this driver on *all* > machines with a keyboard. > > This driver is of very limited utility and has to be enabled by the user > explicitly anyway. > Furthermore its own header comment has deprecated it for 17 years. I think if someone does not need a driver they can either not enable it or blacklist it in /etc/modprobe.d/... There is no need to break module loading in the kernel. > > Fixes: 99b089c3c38a ("Input: Mac button emulation - implement as an input filter") > Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> > --- > drivers/macintosh/mac_hid.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/macintosh/mac_hid.c b/drivers/macintosh/mac_hid.c > index d8c4d5664145..d01d28890db4 100644 > --- a/drivers/macintosh/mac_hid.c > +++ b/drivers/macintosh/mac_hid.c > @@ -149,8 +149,6 @@ static const struct input_device_id mac_hid_emumouse_ids[] = { > { }, > }; > > -MODULE_DEVICE_TABLE(input, mac_hid_emumouse_ids); > - > static struct input_handler mac_hid_emumouse_handler = { > .filter = mac_hid_emumouse_filter, > .connect = mac_hid_emumouse_connect, > > base-commit: fef7fd48922d11b22620e19f9c9101647bfe943d > -- > 2.38.1 > Thanks.
Cc Franz who wrote the driver originally. (I hope I got the correct one) Hi Dmitry, On 2022-11-14 10:33-0800, Dmitry Torokhov wrote: > On Sun, Nov 13, 2022 at 04:30:22AM +0100, Thomas Weißschuh wrote: >> There should be no need to automatically load this driver on *all* >> machines with a keyboard. >> >> This driver is of very limited utility and has to be enabled by the user >> explicitly anyway. >> Furthermore its own header comment has deprecated it for 17 years. > > I think if someone does not need a driver they can either not enable it > or blacklist it in /etc/modprobe.d/... There is no need to break > module loading in the kernel. But nobody needs the driver as it is autoloaded in its current state. Without manual configuration after loading the driver does not provide any functionality. Furthermore the autoloading should load the driver for a specific hardware/resource that it can provide additional functionality for. Right now the driver loads automatically for any system that has an input device with a key and then just does nothing. It only wastes memory and confuses users why it is loaded. If somebody really needs this (fringe) driver it should be on them to load it it instead of everybody else having to disable it. Furthermore the file has the following comment since the beginning of the git history in 2005: Copyright (C) 2000 Franz Sirl This file will soon be removed in favor of an uinput userspace tool. >> Fixes: 99b089c3c38a ("Input: Mac button emulation - implement as an input filter") >> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> >> --- >> drivers/macintosh/mac_hid.c | 2 -- >> 1 file changed, 2 deletions(-) >> >> diff --git a/drivers/macintosh/mac_hid.c b/drivers/macintosh/mac_hid.c >> index d8c4d5664145..d01d28890db4 100644 >> --- a/drivers/macintosh/mac_hid.c >> +++ b/drivers/macintosh/mac_hid.c >> @@ -149,8 +149,6 @@ static const struct input_device_id mac_hid_emumouse_ids[] = { >> { }, >> }; >> >> -MODULE_DEVICE_TABLE(input, mac_hid_emumouse_ids); >> - >> static struct input_handler mac_hid_emumouse_handler = { >> .filter = mac_hid_emumouse_filter, >> .connect = mac_hid_emumouse_connect, >> >> base-commit: fef7fd48922d11b22620e19f9c9101647bfe943d >> -- >> 2.38.1
On Tue, Nov 15, 2022 at 12:54:41AM +0100, Thomas Weißschuh wrote: > Cc Franz who wrote the driver originally. > (I hope I got the correct one) > > Hi Dmitry, > > On 2022-11-14 10:33-0800, Dmitry Torokhov wrote: > > On Sun, Nov 13, 2022 at 04:30:22AM +0100, Thomas Weißschuh wrote: > >> There should be no need to automatically load this driver on *all* > >> machines with a keyboard. > >> > >> This driver is of very limited utility and has to be enabled by the user > >> explicitly anyway. > >> Furthermore its own header comment has deprecated it for 17 years. > > > > I think if someone does not need a driver they can either not enable it > > or blacklist it in /etc/modprobe.d/... There is no need to break > > module loading in the kernel. > > But nobody needs the driver as it is autoloaded in its current state. > Without manual configuration after loading the driver does not provide any > functionality. > > Furthermore the autoloading should load the driver for a specific > hardware/resource that it can provide additional functionality for. > Right now the driver loads automatically for any system that has an input > device with a key and then just does nothing. > > It only wastes memory and confuses users why it is loaded. > > If somebody really needs this (fringe) driver it should be on them to load it > it instead of everybody else having to disable it. The driver is not enabled by default, so somebody has to enable it in the first place. How did you end up with it? > > Furthermore the file has the following comment since the beginning of the git > history in 2005: > > Copyright (C) 2000 Franz Sirl > > This file will soon be removed in favor of an uinput userspace tool. OK, that is a separate topic, if there are no users we can remove the driver. Do we know if this tool ever came into existence? What I do not want is to break the autoload for one single driver because somebody enabled it without intending to use and now tries to implement a one-off. > > >> Fixes: 99b089c3c38a ("Input: Mac button emulation - implement as an input filter") > >> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> > >> --- > >> drivers/macintosh/mac_hid.c | 2 -- > >> 1 file changed, 2 deletions(-) > >> > >> diff --git a/drivers/macintosh/mac_hid.c b/drivers/macintosh/mac_hid.c > >> index d8c4d5664145..d01d28890db4 100644 > >> --- a/drivers/macintosh/mac_hid.c > >> +++ b/drivers/macintosh/mac_hid.c > >> @@ -149,8 +149,6 @@ static const struct input_device_id mac_hid_emumouse_ids[] = { > >> { }, > >> }; > >> > >> -MODULE_DEVICE_TABLE(input, mac_hid_emumouse_ids); > >> - > >> static struct input_handler mac_hid_emumouse_handler = { > >> .filter = mac_hid_emumouse_filter, > >> .connect = mac_hid_emumouse_connect, > >> > >> base-commit: fef7fd48922d11b22620e19f9c9101647bfe943d > >> -- > >> 2.38.1 Thanks.
On 2022-11-14 16:16-0800, Dmitry Torokhov wrote: > On Tue, Nov 15, 2022 at 12:54:41AM +0100, Thomas Weißschuh wrote: >> Cc Franz who wrote the driver originally. >> (I hope I got the correct one) >> >> Hi Dmitry, >> >> On 2022-11-14 10:33-0800, Dmitry Torokhov wrote: >>> On Sun, Nov 13, 2022 at 04:30:22AM +0100, Thomas Weißschuh wrote: >>>> There should be no need to automatically load this driver on *all* >>>> machines with a keyboard. >>>> >>>> This driver is of very limited utility and has to be enabled by the user >>>> explicitly anyway. >>>> Furthermore its own header comment has deprecated it for 17 years. >>> >>> I think if someone does not need a driver they can either not enable it >>> or blacklist it in /etc/modprobe.d/... There is no need to break >>> module loading in the kernel. >> >> But nobody needs the driver as it is autoloaded in its current state. >> Without manual configuration after loading the driver does not provide any >> functionality. >> >> Furthermore the autoloading should load the driver for a specific >> hardware/resource that it can provide additional functionality for. >> Right now the driver loads automatically for any system that has an input >> device with a key and then just does nothing. >> >> It only wastes memory and confuses users why it is loaded. >> >> If somebody really needs this (fringe) driver it should be on them to load it >> it instead of everybody else having to disable it. > > The driver is not enabled by default, so somebody has to enable it in > the first place. How did you end up with it? My distro kernel configured it to be enabled as module. So people who want to use it can do so. It would be nice if the rest of us wouldn't have to care about it. >> Furthermore the file has the following comment since the beginning of the git >> history in 2005: >> >> Copyright (C) 2000 Franz Sirl >> >> This file will soon be removed in favor of an uinput userspace tool. > > OK, that is a separate topic, if there are no users we can remove the > driver. Do we know if this tool ever came into existence? One interpretation of it is attached as "mac_hid_userspace.c". > What I do not want is to break the autoload for one single driver > because somebody enabled it without intending to use and now tries to > implement a one-off. Is an autoloaded driver that then does not (ever) automatically provide any functionality not broken by definition? It was enabled by the distro. Which seems correct, because maybe somebody will use it. Taken to an illogical extreme: If it is fine for modules to load automatically even if they are not useful, why not just always load all available modules? Maybe we can take the removal of the autoload as a first step of deprecation and finally removal of the module. To quote you: "I'd rather we did not promote from drivers/macintosh to other platforms, but rather removed it. The same functionality can be done from userspace." [0] >>>> Fixes: 99b089c3c38a ("Input: Mac button emulation - implement as an input filter") >>>> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> >>>> --- >>>> drivers/macintosh/mac_hid.c | 2 -- >>>> 1 file changed, 2 deletions(-) >>>> >>>> diff --git a/drivers/macintosh/mac_hid.c b/drivers/macintosh/mac_hid.c >>>> index d8c4d5664145..d01d28890db4 100644 >>>> --- a/drivers/macintosh/mac_hid.c >>>> +++ b/drivers/macintosh/mac_hid.c >>>> @@ -149,8 +149,6 @@ static const struct input_device_id mac_hid_emumouse_ids[] = { >>>> { }, >>>> }; >>>> >>>> -MODULE_DEVICE_TABLE(input, mac_hid_emumouse_ids); >>>> - >>>> static struct input_handler mac_hid_emumouse_handler = { >>>> .filter = mac_hid_emumouse_filter, >>>> .connect = mac_hid_emumouse_connect, >>>> >>>> base-commit: fef7fd48922d11b22620e19f9c9101647bfe943d >>>> -- >>>> 2.38.1 Thanks, Thomas [0] https://lore.kernel.org/all/20170510004327.GA32584@dtor-ws/ // SPDX-License-Identifier: GPL-2.0-only /* * Userspace replacement for mac_hid.c from Linux. * * Copyright (C) 2022 Thomas Weißschuh */ /* cc $(pkg-config --cflags libevdev) $(pkg-config --libs libevdev) mac_hid_userspace.c -o mac_hid_userspace */ #define _GNU_SOURCE #include <stdio.h> #include <fcntl.h> #include <assert.h> #include <stdlib.h> #include <libevdev/libevdev.h> #include <libevdev/libevdev-uinput.h> #include <linux/input-event-codes.h> static void update_name(struct libevdev *dev) { char *name; int rc = asprintf(&name, "%s (mac_hid)", libevdev_get_name(dev)); assert(rc > 0); libevdev_set_name(dev, name); free(name); } int main(int argc, char **argv) { int button2 = KEY_RIGHTCTRL; int button3 = KEY_RIGHTALT; if (argc != 2 && argc != 4) { fprintf(stderr, "usage: %s DEVICE [BUTTON2 BUTTON3]\n", argv[0]); return 1; } if (argc == 4) { char *endptr; button2 = strtol(argv[2], &endptr, 0); assert(!*endptr); button3 = strtol(argv[3], &endptr, 0); assert(!*endptr); } struct libevdev *dev; int fd = open(argv[1], O_RDONLY); assert(fd != -1); int rc = libevdev_new_from_fd(fd, &dev); assert(rc == 0); libevdev_enable_event_type(dev, EV_KEY); libevdev_enable_event_code(dev, EV_KEY, BTN_MIDDLE, NULL); libevdev_enable_event_code(dev, EV_KEY, BTN_RIGHT, NULL); update_name(dev); struct libevdev_uinput *uinput_dev; rc = libevdev_uinput_create_from_device( dev, LIBEVDEV_UINPUT_OPEN_MANAGED, &uinput_dev); assert(rc == 0); rc = libevdev_grab(dev, LIBEVDEV_GRAB); assert(rc == 0); while (1) { struct input_event ev; rc = libevdev_next_event(dev, LIBEVDEV_READ_FLAG_NORMAL, &ev); assert(rc == 0); if (ev.type == EV_KEY) { if (ev.code == button2) ev.code = BTN_MIDDLE; else if (ev.code == button3) ev.code = BTN_RIGHT; } rc = libevdev_uinput_write_event(uinput_dev, ev.type, ev.code, ev.value); assert(rc == 0); } libevdev_uinput_destroy(uinput_dev); libevdev_free(dev); }
On Tue, Nov 15, 2022 at 04:07:53AM +0100, Thomas Weißschuh wrote: > On 2022-11-14 16:16-0800, Dmitry Torokhov wrote: > > On Tue, Nov 15, 2022 at 12:54:41AM +0100, Thomas Weißschuh wrote: > >> Cc Franz who wrote the driver originally. > >> (I hope I got the correct one) > >> > >> Hi Dmitry, > >> > >> On 2022-11-14 10:33-0800, Dmitry Torokhov wrote: > >>> On Sun, Nov 13, 2022 at 04:30:22AM +0100, Thomas Weißschuh wrote: > >>>> There should be no need to automatically load this driver on *all* > >>>> machines with a keyboard. > >>>> > >>>> This driver is of very limited utility and has to be enabled by the user > >>>> explicitly anyway. > >>>> Furthermore its own header comment has deprecated it for 17 years. > >>> > >>> I think if someone does not need a driver they can either not enable it > >>> or blacklist it in /etc/modprobe.d/... There is no need to break > >>> module loading in the kernel. > >> > >> But nobody needs the driver as it is autoloaded in its current state. > >> Without manual configuration after loading the driver does not provide any > >> functionality. > >> > >> Furthermore the autoloading should load the driver for a specific > >> hardware/resource that it can provide additional functionality for. > >> Right now the driver loads automatically for any system that has an input > >> device with a key and then just does nothing. > >> > >> It only wastes memory and confuses users why it is loaded. > >> > >> If somebody really needs this (fringe) driver it should be on them to load it > >> it instead of everybody else having to disable it. > > > > The driver is not enabled by default, so somebody has to enable it in > > the first place. How did you end up with it? > > My distro kernel configured it to be enabled as module. Maybe you should talk to them? Which one is this? Not all distributions seem to enable it (Debian for example does not). > So people who want to use it can do so. It would be nice if the rest of us > wouldn't have to care about it. > > >> Furthermore the file has the following comment since the beginning of the git > >> history in 2005: > >> > >> Copyright (C) 2000 Franz Sirl > >> > >> This file will soon be removed in favor of an uinput userspace tool. > > > > OK, that is a separate topic, if there are no users we can remove the > > driver. Do we know if this tool ever came into existence? > > One interpretation of it is attached as "mac_hid_userspace.c". > > > What I do not want is to break the autoload for one single driver > > because somebody enabled it without intending to use and now tries to > > implement a one-off. > > Is an autoloaded driver that then does not (ever) automatically provide any > functionality not broken by definition? No because it does not result in any regression in behavior. > It was enabled by the distro. Which seems correct, because maybe somebody will > use it. > > Taken to an illogical extreme: If it is fine for modules to load automatically > even if they are not useful, why not just always load all available modules? Well, take for example a driver for a NIC. It is not really useful until you configure it by assigning an address to the interface, etc. Should we not automatically load drivers for NICs? > > > Maybe we can take the removal of the autoload as a first step of deprecation > and finally removal of the module. > To quote you: > > "I'd rather we did not promote from drivers/macintosh to other platforms, > but rather removed it. The same functionality can be done from > userspace." [0] I think if you talk to your distro and see if they stop enabling it and offer your userspace utility as a replacement if they indeed need the functionality would be the best way of deprecating the driver. Thanks.
diff --git a/drivers/macintosh/mac_hid.c b/drivers/macintosh/mac_hid.c index d8c4d5664145..d01d28890db4 100644 --- a/drivers/macintosh/mac_hid.c +++ b/drivers/macintosh/mac_hid.c @@ -149,8 +149,6 @@ static const struct input_device_id mac_hid_emumouse_ids[] = { { }, }; -MODULE_DEVICE_TABLE(input, mac_hid_emumouse_ids); - static struct input_handler mac_hid_emumouse_handler = { .filter = mac_hid_emumouse_filter, .connect = mac_hid_emumouse_connect,