summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2017-10-09 21:01:14 +0200
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2017-10-20 01:54:49 +0200
commit8724ecb072293f109a6f5dc93be8a98bf61fe14f (patch)
treef63e205ecb0af4420d175b29832992db8fcfc1d3 /scripts
parentInput: factor out and export input_device_id matching code (diff)
downloadlinux-8724ecb072293f109a6f5dc93be8a98bf61fe14f.tar.xz
linux-8724ecb072293f109a6f5dc93be8a98bf61fe14f.zip
Input: allow matching device IDs on property bits
Let's allow matching input devices on their property bits, both in-kernel and when generating module aliases. Tested-by: Roderick Colenbrander <roderick.colenbrander@sony.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/mod/devicetable-offsets.c1
-rw-r--r--scripts/mod/file2alias.c6
2 files changed, 6 insertions, 1 deletions
diff --git a/scripts/mod/devicetable-offsets.c b/scripts/mod/devicetable-offsets.c
index e4d90e50f6fe..812657ab5aa3 100644
--- a/scripts/mod/devicetable-offsets.c
+++ b/scripts/mod/devicetable-offsets.c
@@ -105,6 +105,7 @@ 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 29d6699d5a06..bc25898f6df0 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-eXkXrXaXmXlXsXfXwX where X is comma-separated %02X. */
+/* input:b0v0p0e0-eXkXrXaXmXlXsXfXwXprX where X is comma-separated %02X. */
static int do_input_entry(const char *filename, void *symval,
char *alias)
{
@@ -779,6 +779,7 @@ 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:");
@@ -816,6 +817,9 @@ 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);