aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-07-02 14:44:19 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-02 14:44:19 -0400
commitfc76a258d41eea7953bb763397c3d1e589d3bb98 (patch)
treeef8c4b828f3011adf9fc9ef976b9d07c35628e81 /include
parentfe3c22bd5cadd8e36977b218b27fbea821381ec8 (diff)
parentbfd63cd24df69120585c22e09fda78723772ee2a (diff)
Merge tag 'driver-core-3.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
Pull driver core updates from Greg KH: "Here's the big driver core merge for 3.11-rc1 Lots of little things, and larger firmware subsystem updates, all described in the shortlog. Nice thing here is that we finally get rid of CONFIG_HOTPLUG, after 10+ years, thanks to Stephen Rohtwell (it had been always on for a number of kernel releases, now it's just removed)" * tag 'driver-core-3.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (27 commits) driver core: device.h: fix doc compilation warnings firmware loader: fix another compile warning with PM_SLEEP unset build some drivers only when compile-testing firmware loader: fix compile warning with PM_SLEEP set kobject: sanitize argument for format string sysfs_notify is only possible on file attributes firmware loader: simplify holding module for request_firmware firmware loader: don't export cache_firmware and uncache_firmware drivers/base: Use attribute groups to create sysfs memory files firmware loader: fix compile warning firmware loader: fix build failure with !CONFIG_FW_LOADER_USER_HELPER Documentation: Updated broken link in HOWTO Finally eradicate CONFIG_HOTPLUG driver core: firmware loader: kill FW_ACTION_NOHOTPLUG requests before suspend driver core: firmware loader: don't cache FW_ACTION_NOHOTPLUG firmware Documentation: Tidy up some drivers/base/core.c kerneldoc content. platform_device: use a macro instead of platform_driver_register firmware: move EXPORT_SYMBOL annotations firmware: Avoid deadlock of usermodehelper lock at shutdown dell_rbu: Select CONFIG_FW_LOADER_USER_HELPER explicitly ...
Diffstat (limited to 'include')
-rw-r--r--include/asm-generic/vmlinux.lds.h20
-rw-r--r--include/linux/debugfs.h2
-rw-r--r--include/linux/device.h3
-rw-r--r--include/linux/firmware.h11
-rw-r--r--include/linux/platform_device.h8
5 files changed, 12 insertions, 32 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index eb58d2d7d971..4f2737208c42 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -68,14 +68,6 @@
68 * are handled as text/data or they can be discarded (which 68 * are handled as text/data or they can be discarded (which
69 * often happens at runtime) 69 * often happens at runtime)
70 */ 70 */
71#ifdef CONFIG_HOTPLUG
72#define DEV_KEEP(sec) *(.dev##sec)
73#define DEV_DISCARD(sec)
74#else
75#define DEV_KEEP(sec)
76#define DEV_DISCARD(sec) *(.dev##sec)
77#endif
78
79#ifdef CONFIG_HOTPLUG_CPU 71#ifdef CONFIG_HOTPLUG_CPU
80#define CPU_KEEP(sec) *(.cpu##sec) 72#define CPU_KEEP(sec) *(.cpu##sec)
81#define CPU_DISCARD(sec) 73#define CPU_DISCARD(sec)
@@ -182,8 +174,6 @@
182 *(.data) \ 174 *(.data) \
183 *(.ref.data) \ 175 *(.ref.data) \
184 *(.data..shared_aligned) /* percpu related */ \ 176 *(.data..shared_aligned) /* percpu related */ \
185 DEV_KEEP(init.data) \
186 DEV_KEEP(exit.data) \
187 CPU_KEEP(init.data) \ 177 CPU_KEEP(init.data) \
188 CPU_KEEP(exit.data) \ 178 CPU_KEEP(exit.data) \
189 MEM_KEEP(init.data) \ 179 MEM_KEEP(init.data) \
@@ -372,8 +362,6 @@
372 /* __*init sections */ \ 362 /* __*init sections */ \
373 __init_rodata : AT(ADDR(__init_rodata) - LOAD_OFFSET) { \ 363 __init_rodata : AT(ADDR(__init_rodata) - LOAD_OFFSET) { \
374 *(.ref.rodata) \ 364 *(.ref.rodata) \
375 DEV_KEEP(init.rodata) \
376 DEV_KEEP(exit.rodata) \
377 CPU_KEEP(init.rodata) \ 365 CPU_KEEP(init.rodata) \
378 CPU_KEEP(exit.rodata) \ 366 CPU_KEEP(exit.rodata) \
379 MEM_KEEP(init.rodata) \ 367 MEM_KEEP(init.rodata) \
@@ -416,8 +404,6 @@
416 *(.text.hot) \ 404 *(.text.hot) \
417 *(.text) \ 405 *(.text) \
418 *(.ref.text) \ 406 *(.ref.text) \
419 DEV_KEEP(init.text) \
420 DEV_KEEP(exit.text) \
421 CPU_KEEP(init.text) \ 407 CPU_KEEP(init.text) \
422 CPU_KEEP(exit.text) \ 408 CPU_KEEP(exit.text) \
423 MEM_KEEP(init.text) \ 409 MEM_KEEP(init.text) \
@@ -503,7 +489,6 @@
503/* init and exit section handling */ 489/* init and exit section handling */
504#define INIT_DATA \ 490#define INIT_DATA \
505 *(.init.data) \ 491 *(.init.data) \
506 DEV_DISCARD(init.data) \
507 CPU_DISCARD(init.data) \ 492 CPU_DISCARD(init.data) \
508 MEM_DISCARD(init.data) \ 493 MEM_DISCARD(init.data) \
509 KERNEL_CTORS() \ 494 KERNEL_CTORS() \
@@ -511,7 +496,6 @@
511 *(.init.rodata) \ 496 *(.init.rodata) \
512 FTRACE_EVENTS() \ 497 FTRACE_EVENTS() \
513 TRACE_SYSCALLS() \ 498 TRACE_SYSCALLS() \
514 DEV_DISCARD(init.rodata) \
515 CPU_DISCARD(init.rodata) \ 499 CPU_DISCARD(init.rodata) \
516 MEM_DISCARD(init.rodata) \ 500 MEM_DISCARD(init.rodata) \
517 CLK_OF_TABLES() \ 501 CLK_OF_TABLES() \
@@ -521,14 +505,11 @@
521 505
522#define INIT_TEXT \ 506#define INIT_TEXT \
523 *(.init.text) \ 507 *(.init.text) \
524 DEV_DISCARD(init.text) \
525 CPU_DISCARD(init.text) \ 508 CPU_DISCARD(init.text) \
526 MEM_DISCARD(init.text) 509 MEM_DISCARD(init.text)
527 510
528#define EXIT_DATA \ 511#define EXIT_DATA \
529 *(.exit.data) \ 512 *(.exit.data) \
530 DEV_DISCARD(exit.data) \
531 DEV_DISCARD(exit.rodata) \
532 CPU_DISCARD(exit.data) \ 513 CPU_DISCARD(exit.data) \
533 CPU_DISCARD(exit.rodata) \ 514 CPU_DISCARD(exit.rodata) \
534 MEM_DISCARD(exit.data) \ 515 MEM_DISCARD(exit.data) \
@@ -536,7 +517,6 @@
536 517
537#define EXIT_TEXT \ 518#define EXIT_TEXT \
538 *(.exit.text) \ 519 *(.exit.text) \
539 DEV_DISCARD(exit.text) \
540 CPU_DISCARD(exit.text) \ 520 CPU_DISCARD(exit.text) \
541 MEM_DISCARD(exit.text) 521 MEM_DISCARD(exit.text)
542 522
diff --git a/include/linux/debugfs.h b/include/linux/debugfs.h
index 63f2465807d4..d68b4ea7343c 100644
--- a/include/linux/debugfs.h
+++ b/include/linux/debugfs.h
@@ -79,6 +79,8 @@ struct dentry *debugfs_create_x64(const char *name, umode_t mode,
79 struct dentry *parent, u64 *value); 79 struct dentry *parent, u64 *value);
80struct dentry *debugfs_create_size_t(const char *name, umode_t mode, 80struct dentry *debugfs_create_size_t(const char *name, umode_t mode,
81 struct dentry *parent, size_t *value); 81 struct dentry *parent, size_t *value);
82struct dentry *debugfs_create_atomic_t(const char *name, umode_t mode,
83 struct dentry *parent, atomic_t *value);
82struct dentry *debugfs_create_bool(const char *name, umode_t mode, 84struct dentry *debugfs_create_bool(const char *name, umode_t mode,
83 struct dentry *parent, u32 *value); 85 struct dentry *parent, u32 *value);
84 86
diff --git a/include/linux/device.h b/include/linux/device.h
index c0a126125325..9d4835a8f8b8 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -80,6 +80,7 @@ extern void bus_remove_file(struct bus_type *, struct bus_attribute *);
80 * bus-specific setup 80 * bus-specific setup
81 * @p: The private data of the driver core, only the driver core can 81 * @p: The private data of the driver core, only the driver core can
82 * touch this. 82 * touch this.
83 * @lock_key: Lock class key for use by the lock validator
83 * 84 *
84 * A bus is a channel between the processor and one or more devices. For the 85 * A bus is a channel between the processor and one or more devices. For the
85 * purposes of the device model, all devices are connected via a bus, even if 86 * purposes of the device model, all devices are connected via a bus, even if
@@ -635,6 +636,7 @@ struct acpi_dev_node {
635 * segment limitations. 636 * segment limitations.
636 * @dma_pools: Dma pools (if dma'ble device). 637 * @dma_pools: Dma pools (if dma'ble device).
637 * @dma_mem: Internal for coherent mem override. 638 * @dma_mem: Internal for coherent mem override.
639 * @cma_area: Contiguous memory area for dma allocations
638 * @archdata: For arch-specific additions. 640 * @archdata: For arch-specific additions.
639 * @of_node: Associated device tree node. 641 * @of_node: Associated device tree node.
640 * @acpi_node: Associated ACPI device node. 642 * @acpi_node: Associated ACPI device node.
@@ -648,6 +650,7 @@ struct acpi_dev_node {
648 * @release: Callback to free the device after all references have 650 * @release: Callback to free the device after all references have
649 * gone away. This should be set by the allocator of the 651 * gone away. This should be set by the allocator of the
650 * device (i.e. the bus driver that discovered the device). 652 * device (i.e. the bus driver that discovered the device).
653 * @iommu_group: IOMMU group the device belongs to.
651 * 654 *
652 * At the lowest level, every device in a Linux system is represented by an 655 * At the lowest level, every device in a Linux system is represented by an
653 * instance of struct device. The device structure contains the information 656 * instance of struct device. The device structure contains the information
diff --git a/include/linux/firmware.h b/include/linux/firmware.h
index e4279fedb93a..e154c1005cd1 100644
--- a/include/linux/firmware.h
+++ b/include/linux/firmware.h
@@ -47,8 +47,6 @@ int request_firmware_nowait(
47 void (*cont)(const struct firmware *fw, void *context)); 47 void (*cont)(const struct firmware *fw, void *context));
48 48
49void release_firmware(const struct firmware *fw); 49void release_firmware(const struct firmware *fw);
50int cache_firmware(const char *name);
51int uncache_firmware(const char *name);
52#else 50#else
53static inline int request_firmware(const struct firmware **fw, 51static inline int request_firmware(const struct firmware **fw,
54 const char *name, 52 const char *name,
@@ -68,15 +66,6 @@ static inline void release_firmware(const struct firmware *fw)
68{ 66{
69} 67}
70 68
71static inline int cache_firmware(const char *name)
72{
73 return -ENOENT;
74}
75
76static inline int uncache_firmware(const char *name)
77{
78 return -EINVAL;
79}
80#endif 69#endif
81 70
82#endif 71#endif
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index 9abf1db6aea6..cd46ee58b9dc 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -180,7 +180,13 @@ struct platform_driver {
180 const struct platform_device_id *id_table; 180 const struct platform_device_id *id_table;
181}; 181};
182 182
183extern int platform_driver_register(struct platform_driver *); 183/*
184 * use a macro to avoid include chaining to get THIS_MODULE
185 */
186#define platform_driver_register(drv) \
187 __platform_driver_register(drv, THIS_MODULE)
188extern int __platform_driver_register(struct platform_driver *,
189 struct module *);
184extern void platform_driver_unregister(struct platform_driver *); 190extern void platform_driver_unregister(struct platform_driver *);
185 191
186/* non-hotpluggable platform devices may use this so that probe() and 192/* non-hotpluggable platform devices may use this so that probe() and