Re: Current git has USB keyboard and mouse unusable

From: Dmitry Torokhov
Date: Sun Oct 22 2017 - 15:00:19 EST


On Sun, Oct 22, 2017 at 08:04:49PM +0200, Damien Wyart wrote:
> >>> - is evdev driver in your kernel compiled as a module?
>
> >> Yes, it is.
>
> > OK, so this must be module loading issue that I missed. Just to
> > confirm, if you "modprobe evdev" it all starts to work?
>
> Yes, I confirm loading the module by hand makes everything work ok.
>
> Thanks for your replies!

OK, I think the below should fix that. Please let me know!

--
Dmitry


Input: do not use property bits when generating module alias

From: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

The commit 8724ecb07229 ("Input: allow matching device IDs on property
bits") started using property bits when generating module aliases for input
handlers, but did not adjust the generation of MODALIAS attribute on inpude
device uevents, breaking automatic module loading. Given that no handler
currently uses property bits in their module tables, let's revert this part
of the commit for now.

Reported-by: Damien Wyart <damien.wyart@xxxxxxxxx>
Fixes: 8724ecb07229 ("Input: allow matching device IDs on property bits")
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
---
scripts/mod/devicetable-offsets.c | 1 -
scripts/mod/file2alias.c | 6 +-----
2 files changed, 1 insertion(+), 6 deletions(-)

diff --git a/scripts/mod/devicetable-offsets.c b/scripts/mod/devicetable-offsets.c
index 812657ab5aa3..e4d90e50f6fe 100644
--- a/scripts/mod/devicetable-offsets.c
+++ b/scripts/mod/devicetable-offsets.c
@@ -105,7 +105,6 @@ int main(void)
DEVID_FIELD(input_device_id, sndbit);
DEVID_FIELD(input_device_id, ffbit);
DEVID_FIELD(input_device_id, swbit);
- DEVID_FIELD(input_device_id, propbit);

DEVID(eisa_device_id);
DEVID_FIELD(eisa_device_id, sig);
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
index bc25898f6df0..29d6699d5a06 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -761,7 +761,7 @@ static void do_input(char *alias,
sprintf(alias + strlen(alias), "%X,*", i);
}

-/* input:b0v0p0e0-eXkXrXaXmXlXsXfXwXprX where X is comma-separated %02X. */
+/* input:b0v0p0e0-eXkXrXaXmXlXsXfXwX where X is comma-separated %02X. */
static int do_input_entry(const char *filename, void *symval,
char *alias)
{
@@ -779,7 +779,6 @@ static int do_input_entry(const char *filename, void *symval,
DEF_FIELD_ADDR(symval, input_device_id, sndbit);
DEF_FIELD_ADDR(symval, input_device_id, ffbit);
DEF_FIELD_ADDR(symval, input_device_id, swbit);
- DEF_FIELD_ADDR(symval, input_device_id, propbit);

sprintf(alias, "input:");

@@ -817,9 +816,6 @@ static int do_input_entry(const char *filename, void *symval,
sprintf(alias + strlen(alias), "w*");
if (flags & INPUT_DEVICE_ID_MATCH_SWBIT)
do_input(alias, *swbit, 0, INPUT_DEVICE_ID_SW_MAX);
- sprintf(alias + strlen(alias), "pr*");
- if (flags & INPUT_DEVICE_ID_MATCH_PROPBIT)
- do_input(alias, *propbit, 0, INPUT_DEVICE_ID_PROP_MAX);
return 1;
}
ADD_TO_DEVTABLE("input", input_device_id, do_input_entry);