diff options
Diffstat (limited to 'meta/recipes-core/udev/udev-124/udevtrigger_add_devname_filtering.patch')
-rw-r--r-- | meta/recipes-core/udev/udev-124/udevtrigger_add_devname_filtering.patch | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/meta/recipes-core/udev/udev-124/udevtrigger_add_devname_filtering.patch b/meta/recipes-core/udev/udev-124/udevtrigger_add_devname_filtering.patch deleted file mode 100644 index 5182542461..0000000000 --- a/meta/recipes-core/udev/udev-124/udevtrigger_add_devname_filtering.patch +++ /dev/null | |||
@@ -1,99 +0,0 @@ | |||
1 | diff -pru udev-124.orig/udevtrigger.c udev-124/udevtrigger.c | ||
2 | --- udev-124.orig/udevtrigger.c 2008-06-12 06:24:30.000000000 +0100 | ||
3 | +++ udev-124/udevtrigger.c 2008-07-07 15:10:09.000000000 +0100 | ||
4 | @@ -42,6 +42,8 @@ static int dry_run; | ||
5 | LIST_HEAD(device_list); | ||
6 | LIST_HEAD(filter_subsystem_match_list); | ||
7 | LIST_HEAD(filter_subsystem_nomatch_list); | ||
8 | +LIST_HEAD(filter_kernel_match_list); | ||
9 | +LIST_HEAD(filter_kernel_nomatch_list); | ||
10 | LIST_HEAD(filter_attr_match_list); | ||
11 | LIST_HEAD(filter_attr_nomatch_list); | ||
12 | static int sock = -1; | ||
13 | @@ -331,6 +333,26 @@ static int attr_match(const char *path, | ||
14 | return 0; | ||
15 | } | ||
16 | |||
17 | +static int kernel_filtered(const char *kernel) | ||
18 | +{ | ||
19 | + struct name_entry *loop_name; | ||
20 | + | ||
21 | + /* skip devices matching the prohibited kernel device names */ | ||
22 | + list_for_each_entry(loop_name, &filter_kernel_nomatch_list, node) | ||
23 | + if (fnmatch(loop_name->name, kernel, 0) == 0) | ||
24 | + return 1; | ||
25 | + | ||
26 | + /* skip devices not matching the listed kernel device names */ | ||
27 | + if (!list_empty(&filter_kernel_match_list)) { | ||
28 | + list_for_each_entry(loop_name, &filter_kernel_match_list, node) | ||
29 | + if (fnmatch(loop_name->name, kernel, 0) == 0) | ||
30 | + return 0; | ||
31 | + return 1; | ||
32 | + } | ||
33 | + | ||
34 | + return 0; | ||
35 | +} | ||
36 | + | ||
37 | static int attr_filtered(const char *path) | ||
38 | { | ||
39 | struct name_entry *loop_name; | ||
40 | @@ -409,6 +431,9 @@ static void scan_subsystem(const char *s | ||
41 | if (dent2->d_name[0] == '.') | ||
42 | continue; | ||
43 | |||
44 | + if (kernel_filtered(dent2->d_name)) | ||
45 | + continue; | ||
46 | + | ||
47 | strlcpy(dirname2, dirname, sizeof(dirname2)); | ||
48 | strlcat(dirname2, "/", sizeof(dirname2)); | ||
49 | strlcat(dirname2, dent2->d_name, sizeof(dirname2)); | ||
50 | @@ -465,6 +490,9 @@ static void scan_block(void) | ||
51 | if (!strcmp(dent2->d_name,"device")) | ||
52 | continue; | ||
53 | |||
54 | + if (kernel_filtered(dent2->d_name)) | ||
55 | + continue; | ||
56 | + | ||
57 | strlcpy(dirname2, dirname, sizeof(dirname2)); | ||
58 | strlcat(dirname2, "/", sizeof(dirname2)); | ||
59 | strlcat(dirname2, dent2->d_name, sizeof(dirname2)); | ||
60 | @@ -576,6 +604,8 @@ int udevtrigger(int argc, char *argv[], | ||
61 | { "subsystem-nomatch", 1, NULL, 'S' }, | ||
62 | { "attr-match", 1, NULL, 'a' }, | ||
63 | { "attr-nomatch", 1, NULL, 'A' }, | ||
64 | + { "kernel-match", 1, NULL, 'k' }, | ||
65 | + { "kernel-nomatch", 1, NULL, 'K' }, | ||
66 | { "env", 1, NULL, 'e' }, | ||
67 | {} | ||
68 | }; | ||
69 | @@ -622,6 +652,12 @@ int udevtrigger(int argc, char *argv[], | ||
70 | case 'A': | ||
71 | name_list_add(&filter_attr_nomatch_list, optarg, 0); | ||
72 | break; | ||
73 | + case 'k': | ||
74 | + name_list_add(&filter_kernel_match_list, optarg, 0); | ||
75 | + break; | ||
76 | + case 'K': | ||
77 | + name_list_add(&filter_kernel_nomatch_list, optarg, 0); | ||
78 | + break; | ||
79 | case 'h': | ||
80 | printf("Usage: udevadm trigger OPTIONS\n" | ||
81 | " --verbose print the list of devices while running\n" | ||
82 | @@ -632,6 +668,8 @@ int udevtrigger(int argc, char *argv[], | ||
83 | " --env=<KEY>=<value> pass an additional key (works only with --socket=)\n" | ||
84 | " --subsystem-match=<subsystem> trigger devices from a matching subystem\n" | ||
85 | " --subsystem-nomatch=<subsystem> exclude devices from a matching subystem\n" | ||
86 | + " --kernel-match=<subsystem> trigger devices from a matching kernel device name\n" | ||
87 | + " --kernel-nomatch=<subsystem> exclude devices from a matching kernel device name\n" | ||
88 | " --attr-match=<file[=<value>]> trigger devices with a matching sysfs\n" | ||
89 | " attribute\n" | ||
90 | " --attr-nomatch=<file[=<value>]> exclude devices with a matching sysfs\n" | ||
91 | @@ -701,6 +739,8 @@ int udevtrigger(int argc, char *argv[], | ||
92 | exit: | ||
93 | name_list_cleanup(&filter_subsystem_match_list); | ||
94 | name_list_cleanup(&filter_subsystem_nomatch_list); | ||
95 | + name_list_cleanup(&filter_kernel_match_list); | ||
96 | + name_list_cleanup(&filter_kernel_nomatch_list); | ||
97 | name_list_cleanup(&filter_attr_match_list); | ||
98 | name_list_cleanup(&filter_attr_nomatch_list); | ||
99 | |||