diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2012-03-16 15:15:48 -0400 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2012-03-16 15:15:48 -0400 |
| commit | ab2f75ce55ef6f903348026271e30796f016851f (patch) | |
| tree | 8e019d460e92ee6ac2b2ea54aa0b93770bf933ef /include/linux | |
| parent | f56b71f5d5a3944acdcb0e5e1739574d95ddf61a (diff) | |
| parent | da5a70f3519fd6f73ece3eea261a861c9a4d6bbd (diff) | |
Merge branch 'depends/driver-core' into ux500/dt
Conflicts:
drivers/base/cpu.c
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/connector.h | 1 | ||||
| -rw-r--r-- | include/linux/cpu.h | 7 | ||||
| -rw-r--r-- | include/linux/device.h | 10 | ||||
| -rw-r--r-- | include/linux/dynamic_debug.h | 19 | ||||
| -rw-r--r-- | include/linux/hyperv.h | 146 | ||||
| -rw-r--r-- | include/linux/mod_devicetable.h | 21 | ||||
| -rw-r--r-- | include/linux/netdevice.h | 8 | ||||
| -rw-r--r-- | include/linux/pci.h | 13 | ||||
| -rw-r--r-- | include/linux/printk.h | 8 | ||||
| -rw-r--r-- | include/linux/sys_soc.h | 37 |
10 files changed, 248 insertions, 22 deletions
diff --git a/include/linux/connector.h b/include/linux/connector.h index 3c9c54fd5690..76384074262d 100644 --- a/include/linux/connector.h +++ b/include/linux/connector.h | |||
| @@ -43,6 +43,7 @@ | |||
| 43 | #define CN_IDX_DRBD 0x8 | 43 | #define CN_IDX_DRBD 0x8 |
| 44 | #define CN_VAL_DRBD 0x1 | 44 | #define CN_VAL_DRBD 0x1 |
| 45 | #define CN_KVP_IDX 0x9 /* HyperV KVP */ | 45 | #define CN_KVP_IDX 0x9 /* HyperV KVP */ |
| 46 | #define CN_KVP_VAL 0x1 /* queries from the kernel */ | ||
| 46 | 47 | ||
| 47 | #define CN_NETLINK_USERS 10 /* Highest index + 1 */ | 48 | #define CN_NETLINK_USERS 10 /* Highest index + 1 */ |
| 48 | 49 | ||
diff --git a/include/linux/cpu.h b/include/linux/cpu.h index 1f6587590a1a..6e53b4823d7f 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h | |||
| @@ -44,6 +44,13 @@ extern ssize_t arch_cpu_release(const char *, size_t); | |||
| 44 | #endif | 44 | #endif |
| 45 | struct notifier_block; | 45 | struct notifier_block; |
| 46 | 46 | ||
| 47 | #ifdef CONFIG_ARCH_HAS_CPU_AUTOPROBE | ||
| 48 | extern int arch_cpu_uevent(struct device *dev, struct kobj_uevent_env *env); | ||
| 49 | extern ssize_t arch_print_cpu_modalias(struct device *dev, | ||
| 50 | struct device_attribute *attr, | ||
| 51 | char *bufptr); | ||
| 52 | #endif | ||
| 53 | |||
| 47 | /* | 54 | /* |
| 48 | * CPU notifier priorities. | 55 | * CPU notifier priorities. |
| 49 | */ | 56 | */ |
diff --git a/include/linux/device.h b/include/linux/device.h index b63fb393aa58..f62e21689fdd 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
| @@ -238,8 +238,6 @@ struct device_driver { | |||
| 238 | extern int __must_check driver_register(struct device_driver *drv); | 238 | extern int __must_check driver_register(struct device_driver *drv); |
| 239 | extern void driver_unregister(struct device_driver *drv); | 239 | extern void driver_unregister(struct device_driver *drv); |
| 240 | 240 | ||
| 241 | extern struct device_driver *get_driver(struct device_driver *drv); | ||
| 242 | extern void put_driver(struct device_driver *drv); | ||
| 243 | extern struct device_driver *driver_find(const char *name, | 241 | extern struct device_driver *driver_find(const char *name, |
| 244 | struct bus_type *bus); | 242 | struct bus_type *bus); |
| 245 | extern int driver_probe_done(void); | 243 | extern int driver_probe_done(void); |
| @@ -946,14 +944,14 @@ int _dev_info(const struct device *dev, const char *fmt, ...) | |||
| 946 | 944 | ||
| 947 | #define dev_info(dev, fmt, arg...) _dev_info(dev, fmt, ##arg) | 945 | #define dev_info(dev, fmt, arg...) _dev_info(dev, fmt, ##arg) |
| 948 | 946 | ||
| 949 | #if defined(DEBUG) | 947 | #if defined(CONFIG_DYNAMIC_DEBUG) |
| 950 | #define dev_dbg(dev, format, arg...) \ | ||
| 951 | dev_printk(KERN_DEBUG, dev, format, ##arg) | ||
| 952 | #elif defined(CONFIG_DYNAMIC_DEBUG) | ||
| 953 | #define dev_dbg(dev, format, ...) \ | 948 | #define dev_dbg(dev, format, ...) \ |
| 954 | do { \ | 949 | do { \ |
| 955 | dynamic_dev_dbg(dev, format, ##__VA_ARGS__); \ | 950 | dynamic_dev_dbg(dev, format, ##__VA_ARGS__); \ |
| 956 | } while (0) | 951 | } while (0) |
| 952 | #elif defined(DEBUG) | ||
| 953 | #define dev_dbg(dev, format, arg...) \ | ||
| 954 | dev_printk(KERN_DEBUG, dev, format, ##arg) | ||
| 957 | #else | 955 | #else |
| 958 | #define dev_dbg(dev, format, arg...) \ | 956 | #define dev_dbg(dev, format, arg...) \ |
| 959 | ({ \ | 957 | ({ \ |
diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index 0564e3c39882..7e3c53a900d8 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h | |||
| @@ -15,20 +15,24 @@ struct _ddebug { | |||
| 15 | const char *function; | 15 | const char *function; |
| 16 | const char *filename; | 16 | const char *filename; |
| 17 | const char *format; | 17 | const char *format; |
| 18 | unsigned int lineno:24; | 18 | unsigned int lineno:18; |
| 19 | /* | 19 | /* |
| 20 | * The flags field controls the behaviour at the callsite. | 20 | * The flags field controls the behaviour at the callsite. |
| 21 | * The bits here are changed dynamically when the user | 21 | * The bits here are changed dynamically when the user |
| 22 | * writes commands to <debugfs>/dynamic_debug/control | 22 | * writes commands to <debugfs>/dynamic_debug/control |
| 23 | */ | 23 | */ |
| 24 | #define _DPRINTK_FLAGS_PRINT (1<<0) /* printk() a message using the format */ | 24 | #define _DPRINTK_FLAGS_NONE 0 |
| 25 | #define _DPRINTK_FLAGS_PRINT (1<<0) /* printk() a message using the format */ | ||
| 25 | #define _DPRINTK_FLAGS_INCL_MODNAME (1<<1) | 26 | #define _DPRINTK_FLAGS_INCL_MODNAME (1<<1) |
| 26 | #define _DPRINTK_FLAGS_INCL_FUNCNAME (1<<2) | 27 | #define _DPRINTK_FLAGS_INCL_FUNCNAME (1<<2) |
| 27 | #define _DPRINTK_FLAGS_INCL_LINENO (1<<3) | 28 | #define _DPRINTK_FLAGS_INCL_LINENO (1<<3) |
| 28 | #define _DPRINTK_FLAGS_INCL_TID (1<<4) | 29 | #define _DPRINTK_FLAGS_INCL_TID (1<<4) |
| 30 | #if defined DEBUG | ||
| 31 | #define _DPRINTK_FLAGS_DEFAULT _DPRINTK_FLAGS_PRINT | ||
| 32 | #else | ||
| 29 | #define _DPRINTK_FLAGS_DEFAULT 0 | 33 | #define _DPRINTK_FLAGS_DEFAULT 0 |
| 34 | #endif | ||
| 30 | unsigned int flags:8; | 35 | unsigned int flags:8; |
| 31 | char enabled; | ||
| 32 | } __attribute__((aligned(8))); | 36 | } __attribute__((aligned(8))); |
| 33 | 37 | ||
| 34 | 38 | ||
| @@ -62,21 +66,20 @@ int __dynamic_netdev_dbg(struct _ddebug *descriptor, | |||
| 62 | .format = (fmt), \ | 66 | .format = (fmt), \ |
| 63 | .lineno = __LINE__, \ | 67 | .lineno = __LINE__, \ |
| 64 | .flags = _DPRINTK_FLAGS_DEFAULT, \ | 68 | .flags = _DPRINTK_FLAGS_DEFAULT, \ |
| 65 | .enabled = false, \ | ||
| 66 | } | 69 | } |
| 67 | 70 | ||
| 68 | #define dynamic_pr_debug(fmt, ...) \ | 71 | #define dynamic_pr_debug(fmt, ...) \ |
| 69 | do { \ | 72 | do { \ |
| 70 | DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ | 73 | DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ |
| 71 | if (unlikely(descriptor.enabled)) \ | 74 | if (unlikely(descriptor.flags & _DPRINTK_FLAGS_PRINT)) \ |
| 72 | __dynamic_pr_debug(&descriptor, pr_fmt(fmt), \ | 75 | __dynamic_pr_debug(&descriptor, pr_fmt(fmt), \ |
| 73 | ##__VA_ARGS__); \ | 76 | ##__VA_ARGS__); \ |
| 74 | } while (0) | 77 | } while (0) |
| 75 | 78 | ||
| 76 | #define dynamic_dev_dbg(dev, fmt, ...) \ | 79 | #define dynamic_dev_dbg(dev, fmt, ...) \ |
| 77 | do { \ | 80 | do { \ |
| 78 | DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ | 81 | DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ |
| 79 | if (unlikely(descriptor.enabled)) \ | 82 | if (unlikely(descriptor.flags & _DPRINTK_FLAGS_PRINT)) \ |
| 80 | __dynamic_dev_dbg(&descriptor, dev, fmt, \ | 83 | __dynamic_dev_dbg(&descriptor, dev, fmt, \ |
| 81 | ##__VA_ARGS__); \ | 84 | ##__VA_ARGS__); \ |
| 82 | } while (0) | 85 | } while (0) |
| @@ -84,7 +87,7 @@ do { \ | |||
| 84 | #define dynamic_netdev_dbg(dev, fmt, ...) \ | 87 | #define dynamic_netdev_dbg(dev, fmt, ...) \ |
| 85 | do { \ | 88 | do { \ |
| 86 | DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ | 89 | DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ |
| 87 | if (unlikely(descriptor.enabled)) \ | 90 | if (unlikely(descriptor.flags & _DPRINTK_FLAGS_PRINT)) \ |
| 88 | __dynamic_netdev_dbg(&descriptor, dev, fmt, \ | 91 | __dynamic_netdev_dbg(&descriptor, dev, fmt, \ |
| 89 | ##__VA_ARGS__); \ | 92 | ##__VA_ARGS__); \ |
| 90 | } while (0) | 93 | } while (0) |
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h index 0ae065a5fcb2..e57a6c6ee0e8 100644 --- a/include/linux/hyperv.h +++ b/include/linux/hyperv.h | |||
| @@ -25,6 +25,147 @@ | |||
| 25 | #ifndef _HYPERV_H | 25 | #ifndef _HYPERV_H |
| 26 | #define _HYPERV_H | 26 | #define _HYPERV_H |
| 27 | 27 | ||
| 28 | #include <linux/types.h> | ||
| 29 | |||
| 30 | /* | ||
| 31 | * An implementation of HyperV key value pair (KVP) functionality for Linux. | ||
| 32 | * | ||
| 33 | * | ||
| 34 | * Copyright (C) 2010, Novell, Inc. | ||
| 35 | * Author : K. Y. Srinivasan <ksrinivasan@novell.com> | ||
| 36 | * | ||
| 37 | */ | ||
| 38 | |||
| 39 | /* | ||
| 40 | * Maximum value size - used for both key names and value data, and includes | ||
| 41 | * any applicable NULL terminators. | ||
| 42 | * | ||
| 43 | * Note: This limit is somewhat arbitrary, but falls easily within what is | ||
| 44 | * supported for all native guests (back to Wi | ||
