diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-01 19:28:19 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-01 19:28:19 -0400 |
| commit | 158e0d3621683ee0cdfeeba56f0e5ddd97ae984f (patch) | |
| tree | cc59e84001f0a496a681242a875ecad6463aa50e /scripts/mod | |
| parent | 675c354a95d5375153b8bb80a0448cab916c7991 (diff) | |
| parent | 72099304eeb316c4b00df3ae83efe4375729bd78 (diff) | |
Merge tag 'driver-core-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
Pull driver core and sysfs updates from Greg KH:
"Here's the big driver core / sysfs update for 3.15-rc1.
Lots of kernfs updates to make it useful for other subsystems, and a
few other tiny driver core patches.
All have been in linux-next for a while"
* tag 'driver-core-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (42 commits)
Revert "sysfs, driver-core: remove unused {sysfs|device}_schedule_callback_owner()"
kernfs: cache atomic_write_len in kernfs_open_file
numa: fix NULL pointer access and memory leak in unregister_one_node()
Revert "driver core: synchronize device shutdown"
kernfs: fix off by one error.
kernfs: remove duplicate dir.c at the top dir
x86: align x86 arch with generic CPU modalias handling
cpu: add generic support for CPU feature based module autoloading
sysfs: create bin_attributes under the requested group
driver core: unexport static function create_syslog_header
firmware: use power efficient workqueue for unloading and aborting fw load
firmware: give a protection when map page failed
firmware: google memconsole driver fixes
firmware: fix google/gsmi duplicate efivars_sysfs_init()
drivers/base: delete non-required instances of include <linux/init.h>
kernfs: fix kernfs_node_from_dentry()
ACPI / platform: drop redundant ACPI_HANDLE check
kernfs: fix hash calculation in kernfs_rename_ns()
kernfs: add CONFIG_KERNFS
sysfs, kobject: add sysfs wrapper for kernfs_enable_ns()
...
Diffstat (limited to 'scripts/mod')
| -rw-r--r-- | scripts/mod/devicetable-offsets.c | 3 | ||||
| -rw-r--r-- | scripts/mod/file2alias.c | 20 |
2 files changed, 18 insertions, 5 deletions
diff --git a/scripts/mod/devicetable-offsets.c b/scripts/mod/devicetable-offsets.c index bb5d115ca671..f282516acc7b 100644 --- a/scripts/mod/devicetable-offsets.c +++ b/scripts/mod/devicetable-offsets.c | |||
| @@ -174,6 +174,9 @@ int main(void) | |||
| 174 | DEVID_FIELD(x86_cpu_id, model); | 174 | DEVID_FIELD(x86_cpu_id, model); |
| 175 | DEVID_FIELD(x86_cpu_id, vendor); | 175 | DEVID_FIELD(x86_cpu_id, vendor); |
| 176 | 176 | ||
| 177 | DEVID(cpu_feature); | ||
| 178 | DEVID_FIELD(cpu_feature, feature); | ||
| 179 | |||
| 177 | DEVID(mei_cl_device_id); | 180 | DEVID(mei_cl_device_id); |
| 178 | DEVID_FIELD(mei_cl_device_id, name); | 181 | DEVID_FIELD(mei_cl_device_id, name); |
| 179 | 182 | ||
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index 25e5cb0aaef6..25f6f5970552 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c | |||
| @@ -1110,7 +1110,7 @@ static int do_amba_entry(const char *filename, | |||
| 1110 | } | 1110 | } |
| 1111 | ADD_TO_DEVTABLE("amba", amba_id, do_amba_entry); | 1111 | ADD_TO_DEVTABLE("amba", amba_id, do_amba_entry); |
| 1112 | 1112 | ||
| 1113 | /* LOOKS like x86cpu:vendor:VVVV:family:FFFF:model:MMMM:feature:*,FEAT,* | 1113 | /* LOOKS like cpu:type:x86,venVVVVfamFFFFmodMMMM:feature:*,FEAT,* |
| 1114 | * All fields are numbers. It would be nicer to use strings for vendor | 1114 | * All fields are numbers. It would be nicer to use strings for vendor |
| 1115 | * and feature, but getting those out of the build system here is too | 1115 | * and feature, but getting those out of the build system here is too |
| 1116 | * complicated. | 1116 | * complicated. |
| @@ -1124,10 +1124,10 @@ static int do_x86cpu_entry(const char *filename, void *symval, | |||
| 1124 | DEF_FIELD(symval, x86_cpu_id, model); | 1124 | DEF_FIELD(symval, x86_cpu_id, model); |
| 1125 | DEF_FIELD(symval, x86_cpu_id, vendor); | 1125 | DEF_FIELD(symval, x86_cpu_id, vendor); |
| 1126 | 1126 | ||
| 1127 | strcpy(alias, "x86cpu:"); | 1127 | strcpy(alias, "cpu:type:x86,"); |
| 1128 | ADD(alias, "vendor:", vendor != X86_VENDOR_ANY, vendor); | 1128 | ADD(alias, "ven", vendor != X86_VENDOR_ANY, vendor); |
| 1129 | ADD(alias, ":family:", family != X86_FAMILY_ANY, family); | 1129 | ADD(alias, "fam", family != X86_FAMILY_ANY, family); |
| 1130 | ADD(alias, ":model:", model != X86_MODEL_ANY, model); | 1130 | ADD(alias, "mod", model != X86_MODEL_ANY, model); |
| 1131 | strcat(alias, ":feature:*"); | 1131 | strcat(alias, ":feature:*"); |
| 1132 | if (feature != X86_FEATURE_ANY) | 1132 | if (feature != X86_FEATURE_ANY) |
| 1133 | sprintf(alias + strlen(alias), "%04X*", feature); | 1133 | sprintf(alias + strlen(alias), "%04X*", feature); |
| @@ -1135,6 +1135,16 @@ static int do_x86cpu_entry(const char *filename, void *symval, | |||
| 1135 | } | 1135 | } |
| 1136 | ADD_TO_DEVTABLE("x86cpu", x86_cpu_id, do_x86cpu_entry); | 1136 | ADD_TO_DEVTABLE("x86cpu", x86_cpu_id, do_x86cpu_entry); |
| 1137 | 1137 | ||
| 1138 | /* LOOKS like cpu:type:*:feature:*FEAT* */ | ||
| 1139 | static int do_cpu_entry(const char *filename, void *symval, char *alias) | ||
| 1140 | { | ||
| 1141 | DEF_FIELD(symval, cpu_feature, feature); | ||
| 1142 | |||
| 1143 | sprintf(alias, "cpu:type:*:feature:*%04X*", feature); | ||
| 1144 | return 1; | ||
| 1145 | } | ||
| 1146 | ADD_TO_DEVTABLE("cpu", cpu_feature, do_cpu_entry); | ||
| 1147 | |||
| 1138 | /* Looks like: mei:S */ | 1148 | /* Looks like: mei:S */ |
| 1139 | static int do_mei_entry(const char *filename, void *symval, | 1149 | static int do_mei_entry(const char *filename, void *symval, |
| 1140 | char *alias) | 1150 | char *alias) |
