diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-03 14:37:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-03 14:37:15 -0400 |
commit | 542a086ac72fb193cbc1b996963a572269e57743 (patch) | |
tree | b137c08037cca4ffc8a156a891a01113b3b8edce /arch | |
parent | 1d1fdd95df681f0c065d90ffaafa215a0e8825e2 (diff) | |
parent | 1eeeef153c02f5856ec109fa532eb5f31c39f85c (diff) |
Merge tag 'driver-core-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
Pull driver core patches from Greg KH:
"Here's the big driver core pull request for 3.12-rc1.
Lots of tiny changes here fixing up the way sysfs attributes are
created, to try to make drivers simpler, and fix a whole class race
conditions with creations of device attributes after the device was
announced to userspace.
All the various pieces are acked by the different subsystem
maintainers"
* tag 'driver-core-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (119 commits)
firmware loader: fix pending_fw_head list corruption
drivers/base/memory.c: introduce help macro to_memory_block
dynamic debug: line queries failing due to uninitialized local variable
sysfs: sysfs_create_groups returns a value.
debugfs: provide debugfs_create_x64() when disabled
rbd: convert bus code to use bus_groups
firmware: dcdbas: use binary attribute groups
sysfs: add sysfs_create/remove_groups for when SYSFS is not enabled
driver core: add #include <linux/sysfs.h> to core files.
HID: convert bus code to use dev_groups
Input: serio: convert bus code to use drv_groups
Input: gameport: convert bus code to use drv_groups
driver core: firmware: use __ATTR_RW()
driver core: core: use DEVICE_ATTR_RO
driver core: bus: use DRIVER_ATTR_WO()
driver core: create write-only attribute macros for devices and drivers
sysfs: create __ATTR_WO()
driver-core: platform: convert bus code to use dev_groups
workqueue: convert bus code to use dev_groups
MEI: convert bus code to use dev_groups
...
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/Kconfig | 3 | ||||
-rw-r--r-- | arch/ia64/Kconfig | 6 | ||||
-rw-r--r-- | arch/mips/Kconfig | 6 | ||||
-rw-r--r-- | arch/mips/kernel/vpe.c | 17 | ||||
-rw-r--r-- | arch/powerpc/Kconfig | 6 | ||||
-rw-r--r-- | arch/sh/Kconfig | 6 | ||||
-rw-r--r-- | arch/tile/include/asm/topology.h | 3 | ||||
-rw-r--r-- | arch/x86/Kconfig | 6 | ||||
-rw-r--r-- | arch/x86/include/asm/topology.h | 3 |
9 files changed, 26 insertions, 30 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 43594d5116ef..cd5c1c97b043 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -2064,8 +2064,7 @@ config KEXEC | |||
2064 | 2064 | ||
2065 | It is an ongoing process to be certain the hardware in a machine | 2065 | It is an ongoing process to be certain the hardware in a machine |
2066 | is properly shutdown, so do not be surprised if this code does not | 2066 | is properly shutdown, so do not be surprised if this code does not |
2067 | initially work for you. It may help to enable device hotplugging | 2067 | initially work for you. |
2068 | support. | ||
2069 | 2068 | ||
2070 | config ATAGS_PROC | 2069 | config ATAGS_PROC |
2071 | bool "Export atags in procfs" | 2070 | bool "Export atags in procfs" |
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 5a768ad8e893..b36370d3eab9 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -565,9 +565,9 @@ config KEXEC | |||
565 | 565 | ||
566 | It is an ongoing process to be certain the hardware in a machine | 566 | It is an ongoing process to be certain the hardware in a machine |
567 | is properly shutdown, so do not be surprised if this code does not | 567 | is properly shutdown, so do not be surprised if this code does not |
568 | initially work for you. It may help to enable device hotplugging | 568 | initially work for you. As of this writing the exact hardware |
569 | support. As of this writing the exact hardware interface is | 569 | interface is strongly in flux, so no good recommendation can be |
570 | strongly in flux, so no good recommendation can be made. | 570 | made. |
571 | 571 | ||
572 | config CRASH_DUMP | 572 | config CRASH_DUMP |
573 | bool "kernel crash dumps" | 573 | bool "kernel crash dumps" |
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index e12764c2a9d0..dccd7cec442d 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -2305,9 +2305,9 @@ config KEXEC | |||
2305 | 2305 | ||
2306 | It is an ongoing process to be certain the hardware in a machine | 2306 | It is an ongoing process to be certain the hardware in a machine |
2307 | is properly shutdown, so do not be surprised if this code does not | 2307 | is properly shutdown, so do not be surprised if this code does not |
2308 | initially work for you. It may help to enable device hotplugging | 2308 | initially work for you. As of this writing the exact hardware |
2309 | support. As of this writing the exact hardware interface is | 2309 | interface is strongly in flux, so no good recommendation can be |
2310 | strongly in flux, so no good recommendation can be made. | 2310 | made. |
2311 | 2311 | ||
2312 | config CRASH_DUMP | 2312 | config CRASH_DUMP |
2313 | bool "Kernel crash dumps" | 2313 | bool "Kernel crash dumps" |
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c index 1765bab000a0..faf84c5f2629 100644 --- a/arch/mips/kernel/vpe.c +++ b/arch/mips/kernel/vpe.c | |||
@@ -1335,8 +1335,9 @@ static ssize_t store_kill(struct device *dev, struct device_attribute *attr, | |||
1335 | 1335 | ||
1336 | return len; | 1336 | return len; |
1337 | } | 1337 | } |
1338 | static DEVICE_ATTR(kill, S_IWUSR, NULL, store_kill); | ||
1338 | 1339 | ||
1339 | static ssize_t show_ntcs(struct device *cd, struct device_attribute *attr, | 1340 | static ssize_t ntcs_show(struct device *cd, struct device_attribute *attr, |
1340 | char *buf) | 1341 | char *buf) |
1341 | { | 1342 | { |
1342 | struct vpe *vpe = get_vpe(tclimit); | 1343 | struct vpe *vpe = get_vpe(tclimit); |
@@ -1344,7 +1345,7 @@ static ssize_t show_ntcs(struct device *cd, struct device_attribute *attr, | |||
1344 | return sprintf(buf, "%d\n", vpe->ntcs); | 1345 | return sprintf(buf, "%d\n", vpe->ntcs); |
1345 | } | 1346 | } |
1346 | 1347 | ||
1347 | static ssize_t store_ntcs(struct device *dev, struct device_attribute *attr, | 1348 | static ssize_t ntcs_store(struct device *dev, struct device_attribute *attr, |
1348 | const char *buf, size_t len) | 1349 | const char *buf, size_t len) |
1349 | { | 1350 | { |
1350 | struct vpe *vpe = get_vpe(tclimit); | 1351 | struct vpe *vpe = get_vpe(tclimit); |
@@ -1365,12 +1366,14 @@ static ssize_t store_ntcs(struct device *dev, struct device_attribute *attr, | |||
1365 | out_einval: | 1366 | out_einval: |
1366 | return -EINVAL; | 1367 | return -EINVAL; |
1367 | } | 1368 | } |
1369 | static DEVICE_ATTR_RW(ntcs); | ||
1368 | 1370 | ||
1369 | static struct device_attribute vpe_class_attributes[] = { | 1371 | static struct attribute vpe_attrs[] = { |
1370 | __ATTR(kill, S_IWUSR, NULL, store_kill), | 1372 | &dev_attr_kill.attr, |
1371 | __ATTR(ntcs, S_IRUGO | S_IWUSR, show_ntcs, store_ntcs), | 1373 | &dev_attr_ntcs.attr, |
1372 | {} | 1374 | NULL, |
1373 | }; | 1375 | }; |
1376 | ATTRIBUTE_GROUPS(vpe); | ||
1374 | 1377 | ||
1375 | static void vpe_device_release(struct device *cd) | 1378 | static void vpe_device_release(struct device *cd) |
1376 | { | 1379 | { |
@@ -1381,7 +1384,7 @@ struct class vpe_class = { | |||
1381 | .name = "vpe", | 1384 | .name = "vpe", |
1382 | .owner = THIS_MODULE, | 1385 | .owner = THIS_MODULE, |
1383 | .dev_release = vpe_device_release, | 1386 | .dev_release = vpe_device_release, |
1384 | .dev_attrs = vpe_class_attributes, | 1387 | .dev_groups = vpe_groups, |
1385 | }; | 1388 | }; |
1386 | 1389 | ||
1387 | struct device vpe_device; | 1390 | struct device vpe_device; |
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 9cf59816d3e9..5aecda05e0da 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -369,9 +369,9 @@ config KEXEC | |||
369 | 369 | ||
370 | It is an ongoing process to be certain the hardware in a machine | 370 | It is an ongoing process to be certain the hardware in a machine |
371 | is properly shutdown, so do not be surprised if this code does not | 371 | is properly shutdown, so do not be surprised if this code does not |
372 | initially work for you. It may help to enable device hotplugging | 372 | initially work for you. As of this writing the exact hardware |
373 | support. As of this writing the exact hardware interface is | 373 | interface is strongly in flux, so no good recommendation can be |
374 | strongly in flux, so no good recommendation can be made. | 374 | made. |
375 | 375 | ||
376 | config CRASH_DUMP | 376 | config CRASH_DUMP |
377 | bool "Build a kdump crash kernel" | 377 | bool "Build a kdump crash kernel" |
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 1020dd85431a..1018ed3a3ca5 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -643,9 +643,9 @@ config KEXEC | |||
643 | 643 | ||
644 | It is an ongoing process to be certain the hardware in a machine | 644 | It is an ongoing process to be certain the hardware in a machine |
645 | is properly shutdown, so do not be surprised if this code does not | 645 | is properly shutdown, so do not be surprised if this code does not |
646 | initially work for you. It may help to enable device hotplugging | 646 | initially work for you. As of this writing the exact hardware |
647 | support. As of this writing the exact hardware interface is | 647 | interface is strongly in flux, so no good recommendation can be |
648 | strongly in flux, so no good recommendation can be made. | 648 | made. |
649 | 649 | ||
650 | config CRASH_DUMP | 650 | config CRASH_DUMP |
651 | bool "kernel crash dumps (EXPERIMENTAL)" | 651 | bool "kernel crash dumps (EXPERIMENTAL)" |
diff --git a/arch/tile/include/asm/topology.h b/arch/tile/include/asm/topology.h index d5e86c9f74fd..d15c0d8d550f 100644 --- a/arch/tile/include/asm/topology.h +++ b/arch/tile/include/asm/topology.h | |||
@@ -89,9 +89,6 @@ static inline const struct cpumask *cpumask_of_node(int node) | |||
89 | #define topology_core_id(cpu) (cpu) | 89 | #define topology_core_id(cpu) (cpu) |
90 | #define topology_core_cpumask(cpu) ((void)(cpu), cpu_online_mask) | 90 | #define topology_core_cpumask(cpu) ((void)(cpu), cpu_online_mask) |
91 | #define topology_thread_cpumask(cpu) cpumask_of(cpu) | 91 | #define topology_thread_cpumask(cpu) cpumask_of(cpu) |
92 | |||
93 | /* indicates that pointers to the topology struct cpumask maps are valid */ | ||
94 | #define arch_provides_topology_pointers yes | ||
95 | #endif | 92 | #endif |
96 | 93 | ||
97 | #endif /* _ASM_TILE_TOPOLOGY_H */ | 94 | #endif /* _ASM_TILE_TOPOLOGY_H */ |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 67e00740531c..27457379bbd5 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -1628,9 +1628,9 @@ config KEXEC | |||
1628 | 1628 | ||
1629 | It is an ongoing process to be certain the hardware in a machine | 1629 | It is an ongoing process to be certain the hardware in a machine |
1630 | is properly shutdown, so do not be surprised if this code does not | 1630 | is properly shutdown, so do not be surprised if this code does not |
1631 | initially work for you. It may help to enable device hotplugging | 1631 | initially work for you. As of this writing the exact hardware |
1632 | support. As of this writing the exact hardware interface is | 1632 | interface is strongly in flux, so no good recommendation can be |
1633 | strongly in flux, so no good recommendation can be made. | 1633 | made. |
1634 | 1634 | ||
1635 | config CRASH_DUMP | 1635 | config CRASH_DUMP |
1636 | bool "kernel crash dumps" | 1636 | bool "kernel crash dumps" |
diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h index 095b21507b6a..d35f24e231cd 100644 --- a/arch/x86/include/asm/topology.h +++ b/arch/x86/include/asm/topology.h | |||
@@ -124,9 +124,6 @@ extern const struct cpumask *cpu_coregroup_mask(int cpu); | |||
124 | #define topology_core_id(cpu) (cpu_data(cpu).cpu_core_id) | 124 | #define topology_core_id(cpu) (cpu_data(cpu).cpu_core_id) |
125 | #define topology_core_cpumask(cpu) (per_cpu(cpu_core_map, cpu)) | 125 | #define topology_core_cpumask(cpu) (per_cpu(cpu_core_map, cpu)) |
126 | #define topology_thread_cpumask(cpu) (per_cpu(cpu_sibling_map, cpu)) | 126 | #define topology_thread_cpumask(cpu) (per_cpu(cpu_sibling_map, cpu)) |
127 | |||
128 | /* indicates that pointers to the topology cpumask_t maps are valid */ | ||
129 | #define arch_provides_topology_pointers yes | ||
130 | #endif | 127 | #endif |
131 | 128 | ||
132 | static inline void arch_fix_phys_package_id(int num, u32 slot) | 129 | static inline void arch_fix_phys_package_id(int num, u32 slot) |