You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
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()
...
This commit is contained in:
@@ -174,6 +174,9 @@ int main(void)
|
||||
DEVID_FIELD(x86_cpu_id, model);
|
||||
DEVID_FIELD(x86_cpu_id, vendor);
|
||||
|
||||
DEVID(cpu_feature);
|
||||
DEVID_FIELD(cpu_feature, feature);
|
||||
|
||||
DEVID(mei_cl_device_id);
|
||||
DEVID_FIELD(mei_cl_device_id, name);
|
||||
|
||||
|
||||
@@ -1110,7 +1110,7 @@ static int do_amba_entry(const char *filename,
|
||||
}
|
||||
ADD_TO_DEVTABLE("amba", amba_id, do_amba_entry);
|
||||
|
||||
/* LOOKS like x86cpu:vendor:VVVV:family:FFFF:model:MMMM:feature:*,FEAT,*
|
||||
/* LOOKS like cpu:type:x86,venVVVVfamFFFFmodMMMM:feature:*,FEAT,*
|
||||
* All fields are numbers. It would be nicer to use strings for vendor
|
||||
* and feature, but getting those out of the build system here is too
|
||||
* complicated.
|
||||
@@ -1124,10 +1124,10 @@ static int do_x86cpu_entry(const char *filename, void *symval,
|
||||
DEF_FIELD(symval, x86_cpu_id, model);
|
||||
DEF_FIELD(symval, x86_cpu_id, vendor);
|
||||
|
||||
strcpy(alias, "x86cpu:");
|
||||
ADD(alias, "vendor:", vendor != X86_VENDOR_ANY, vendor);
|
||||
ADD(alias, ":family:", family != X86_FAMILY_ANY, family);
|
||||
ADD(alias, ":model:", model != X86_MODEL_ANY, model);
|
||||
strcpy(alias, "cpu:type:x86,");
|
||||
ADD(alias, "ven", vendor != X86_VENDOR_ANY, vendor);
|
||||
ADD(alias, "fam", family != X86_FAMILY_ANY, family);
|
||||
ADD(alias, "mod", model != X86_MODEL_ANY, model);
|
||||
strcat(alias, ":feature:*");
|
||||
if (feature != X86_FEATURE_ANY)
|
||||
sprintf(alias + strlen(alias), "%04X*", feature);
|
||||
@@ -1135,6 +1135,16 @@ static int do_x86cpu_entry(const char *filename, void *symval,
|
||||
}
|
||||
ADD_TO_DEVTABLE("x86cpu", x86_cpu_id, do_x86cpu_entry);
|
||||
|
||||
/* LOOKS like cpu:type:*:feature:*FEAT* */
|
||||
static int do_cpu_entry(const char *filename, void *symval, char *alias)
|
||||
{
|
||||
DEF_FIELD(symval, cpu_feature, feature);
|
||||
|
||||
sprintf(alias, "cpu:type:*:feature:*%04X*", feature);
|
||||
return 1;
|
||||
}
|
||||
ADD_TO_DEVTABLE("cpu", cpu_feature, do_cpu_entry);
|
||||
|
||||
/* Looks like: mei:S */
|
||||
static int do_mei_entry(const char *filename, void *symval,
|
||||
char *alias)
|
||||
|
||||
Reference in New Issue
Block a user