diff options
Diffstat (limited to 'include')
60 files changed, 348 insertions, 141 deletions
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index bcfd808b1098..57ee0528aacb 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h | |||
@@ -118,6 +118,7 @@ struct acpi_device; | |||
118 | struct acpi_hotplug_profile { | 118 | struct acpi_hotplug_profile { |
119 | struct kobject kobj; | 119 | struct kobject kobj; |
120 | int (*scan_dependent)(struct acpi_device *adev); | 120 | int (*scan_dependent)(struct acpi_device *adev); |
121 | void (*notify_online)(struct acpi_device *adev); | ||
121 | bool enabled:1; | 122 | bool enabled:1; |
122 | bool demand_offline:1; | 123 | bool demand_offline:1; |
123 | }; | 124 | }; |
@@ -204,10 +205,9 @@ struct acpi_device_flags { | |||
204 | u32 match_driver:1; | 205 | u32 match_driver:1; |
205 | u32 initialized:1; | 206 | u32 initialized:1; |
206 | u32 visited:1; | 207 | u32 visited:1; |
207 | u32 no_hotplug:1; | ||
208 | u32 hotplug_notify:1; | 208 | u32 hotplug_notify:1; |
209 | u32 is_dock_station:1; | 209 | u32 is_dock_station:1; |
210 | u32 reserved:22; | 210 | u32 reserved:23; |
211 | }; | 211 | }; |
212 | 212 | ||
213 | /* File System */ | 213 | /* File System */ |
@@ -246,7 +246,6 @@ struct acpi_device_pnp { | |||
246 | acpi_device_name device_name; /* Driver-determined */ | 246 | acpi_device_name device_name; /* Driver-determined */ |
247 | acpi_device_class device_class; /* " */ | 247 | acpi_device_class device_class; /* " */ |
248 | union acpi_object *str_obj; /* unicode string for _STR method */ | 248 | union acpi_object *str_obj; /* unicode string for _STR method */ |
249 | unsigned long sun; /* _SUN */ | ||
250 | }; | 249 | }; |
251 | 250 | ||
252 | #define acpi_device_bid(d) ((d)->pnp.bus_id) | 251 | #define acpi_device_bid(d) ((d)->pnp.bus_id) |
@@ -412,7 +411,6 @@ void acpi_bus_private_data_handler(acpi_handle, void *); | |||
412 | int acpi_bus_get_private_data(acpi_handle, void **); | 411 | int acpi_bus_get_private_data(acpi_handle, void **); |
413 | int acpi_bus_attach_private_data(acpi_handle, void *); | 412 | int acpi_bus_attach_private_data(acpi_handle, void *); |
414 | void acpi_bus_detach_private_data(acpi_handle); | 413 | void acpi_bus_detach_private_data(acpi_handle); |
415 | void acpi_bus_no_hotplug(acpi_handle handle); | ||
416 | extern int acpi_notifier_call_chain(struct acpi_device *, u32, u32); | 414 | extern int acpi_notifier_call_chain(struct acpi_device *, u32, u32); |
417 | extern int register_acpi_notifier(struct notifier_block *); | 415 | extern int register_acpi_notifier(struct notifier_block *); |
418 | extern int unregister_acpi_notifier(struct notifier_block *); | 416 | extern int unregister_acpi_notifier(struct notifier_block *); |
diff --git a/include/crypto/drbg.h b/include/crypto/drbg.h index 831d786976c5..882675e7c055 100644 --- a/include/crypto/drbg.h +++ b/include/crypto/drbg.h | |||
@@ -162,12 +162,25 @@ static inline size_t drbg_max_request_bytes(struct drbg_state *drbg) | |||
162 | 162 | ||
163 | static inline size_t drbg_max_addtl(struct drbg_state *drbg) | 163 | static inline size_t drbg_max_addtl(struct drbg_state *drbg) |
164 | { | 164 | { |
165 | #if (__BITS_PER_LONG == 32) | ||
166 | /* | ||
167 | * SP800-90A allows smaller maximum numbers to be returned -- we | ||
168 | * return SIZE_MAX - 1 to allow the verification of the enforcement | ||
169 | * of this value in drbg_healthcheck_sanity. | ||
170 | */ | ||
171 | return (SIZE_MAX - 1); | ||
172 | #else | ||
165 | return (1UL<<(drbg->core->max_addtllen)); | 173 | return (1UL<<(drbg->core->max_addtllen)); |
174 | #endif | ||
166 | } | 175 | } |
167 | 176 | ||
168 | static inline size_t drbg_max_requests(struct drbg_state *drbg) | 177 | static inline size_t drbg_max_requests(struct drbg_state *drbg) |
169 | { | 178 | { |
179 | #if (__BITS_PER_LONG == 32) | ||
180 | return SIZE_MAX; | ||
181 | #else | ||
170 | return (1UL<<(drbg->core->max_req)); | 182 | return (1UL<<(drbg->core->max_req)); |
183 | #endif | ||
171 | } | 184 | } |
172 | 185 | ||
173 | /* | 186 | /* |
diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h index 6dfd64b3a604..e973540cd15b 100644 --- a/include/drm/drm_pciids.h +++ b/include/drm/drm_pciids.h | |||
@@ -17,6 +17,7 @@ | |||
17 | {0x1002, 0x1315, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | 17 | {0x1002, 0x1315, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ |
18 | {0x1002, 0x1316, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | 18 | {0x1002, 0x1316, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ |
19 | {0x1002, 0x1317, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | 19 | {0x1002, 0x1317, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ |
20 | {0x1002, 0x1318, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
20 | {0x1002, 0x131B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | 21 | {0x1002, 0x131B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ |
21 | {0x1002, 0x131C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | 22 | {0x1002, 0x131C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ |
22 | {0x1002, 0x131D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | 23 | {0x1002, 0x131D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ |
@@ -164,8 +165,11 @@ | |||
164 | {0x1002, 0x6601, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 165 | {0x1002, 0x6601, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
165 | {0x1002, 0x6602, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 166 | {0x1002, 0x6602, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
166 | {0x1002, 0x6603, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 167 | {0x1002, 0x6603, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
168 | {0x1002, 0x6604, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | ||
169 | {0x1002, 0x6605, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | ||
167 | {0x1002, 0x6606, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 170 | {0x1002, 0x6606, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
168 | {0x1002, 0x6607, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 171 | {0x1002, 0x6607, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
172 | {0x1002, 0x6608, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \ | ||
169 | {0x1002, 0x6610, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \ | 173 | {0x1002, 0x6610, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \ |
170 | {0x1002, 0x6611, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \ | 174 | {0x1002, 0x6611, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \ |
171 | {0x1002, 0x6613, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \ | 175 | {0x1002, 0x6613, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \ |
@@ -175,6 +179,8 @@ | |||
175 | {0x1002, 0x6631, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \ | 179 | {0x1002, 0x6631, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \ |
176 | {0x1002, 0x6640, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 180 | {0x1002, 0x6640, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
177 | {0x1002, 0x6641, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 181 | {0x1002, 0x6641, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
182 | {0x1002, 0x6646, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | ||
183 | {0x1002, 0x6647, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | ||
178 | {0x1002, 0x6649, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \ | 184 | {0x1002, 0x6649, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \ |
179 | {0x1002, 0x6650, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \ | 185 | {0x1002, 0x6650, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \ |
180 | {0x1002, 0x6651, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \ | 186 | {0x1002, 0x6651, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \ |
@@ -297,6 +303,7 @@ | |||
297 | {0x1002, 0x6829, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \ | 303 | {0x1002, 0x6829, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \ |
298 | {0x1002, 0x682A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 304 | {0x1002, 0x682A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
299 | {0x1002, 0x682B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 305 | {0x1002, 0x682B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
306 | {0x1002, 0x682C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \ | ||
300 | {0x1002, 0x682D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 307 | {0x1002, 0x682D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
301 | {0x1002, 0x682F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 308 | {0x1002, 0x682F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
302 | {0x1002, 0x6830, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 309 | {0x1002, 0x6830, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
diff --git a/include/linux/amba/bus.h b/include/linux/amba/bus.h index fdd7e1b61f60..c324f5700d1a 100644 --- a/include/linux/amba/bus.h +++ b/include/linux/amba/bus.h | |||
@@ -44,10 +44,15 @@ struct amba_driver { | |||
44 | const struct amba_id *id_table; | 44 | const struct amba_id *id_table; |
45 | }; | 45 | }; |
46 | 46 | ||
47 | /* | ||
48 | * Constants for the designer field of the Peripheral ID register. When bit 7 | ||
49 | * is set to '1', bits [6:0] should be the JEP106 manufacturer identity code. | ||
50 | */ | ||
47 | enum amba_vendor { | 51 | enum amba_vendor { |
48 | AMBA_VENDOR_ARM = 0x41, | 52 | AMBA_VENDOR_ARM = 0x41, |
49 | AMBA_VENDOR_ST = 0x80, | 53 | AMBA_VENDOR_ST = 0x80, |
50 | AMBA_VENDOR_QCOM = 0x51, | 54 | AMBA_VENDOR_QCOM = 0x51, |
55 | AMBA_VENDOR_LSI = 0xb6, | ||
51 | }; | 56 | }; |
52 | 57 | ||
53 | extern struct bus_type amba_bustype; | 58 | extern struct bus_type amba_bustype; |
diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index eb726b9c5762..a1e31f274fcd 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h | |||
@@ -127,10 +127,9 @@ enum { | |||
127 | BLK_MQ_RQ_QUEUE_ERROR = 2, /* end IO with error */ | 127 | BLK_MQ_RQ_QUEUE_ERROR = 2, /* end IO with error */ |
128 | 128 | ||
129 | BLK_MQ_F_SHOULD_MERGE = 1 << 0, | 129 | BLK_MQ_F_SHOULD_MERGE = 1 << 0, |
130 | BLK_MQ_F_SHOULD_SORT = 1 << 1, | 130 | BLK_MQ_F_TAG_SHARED = 1 << 1, |
131 | BLK_MQ_F_TAG_SHARED = 1 << 2, | 131 | BLK_MQ_F_SG_MERGE = 1 << 2, |
132 | BLK_MQ_F_SG_MERGE = 1 << 3, | 132 | BLK_MQ_F_SYSFS_UP = 1 << 3, |
133 | BLK_MQ_F_SYSFS_UP = 1 << 4, | ||
134 | 133 | ||
135 | BLK_MQ_S_STOPPED = 0, | 134 | BLK_MQ_S_STOPPED = 0, |
136 | BLK_MQ_S_TAG_ACTIVE = 1, | 135 | BLK_MQ_S_TAG_ACTIVE = 1, |
diff --git a/include/linux/brcmphy.h b/include/linux/brcmphy.h index 6f76277baf39..61219b9b3445 100644 --- a/include/linux/brcmphy.h +++ b/include/linux/brcmphy.h | |||
@@ -16,7 +16,6 @@ | |||
16 | #define PHY_ID_BCM7366 0x600d8490 | 16 | #define PHY_ID_BCM7366 0x600d8490 |
17 | #define PHY_ID_BCM7439 0x600d8480 | 17 | #define PHY_ID_BCM7439 0x600d8480 |
18 | #define PHY_ID_BCM7445 0x600d8510 | 18 | #define PHY_ID_BCM7445 0x600d8510 |
19 | #define PHY_ID_BCM7XXX_28 0x600d8400 | ||
20 | 19 | ||
21 | #define PHY_BCM_OUI_MASK 0xfffffc00 | 20 | #define PHY_BCM_OUI_MASK 0xfffffc00 |
22 | #define PHY_BCM_OUI_1 0x00206000 | 21 | #define PHY_BCM_OUI_1 0x00206000 |
diff --git a/include/linux/ccp.h b/include/linux/ccp.h index ebcc9d146219..7f437036baa4 100644 --- a/include/linux/ccp.h +++ b/include/linux/ccp.h | |||
@@ -27,6 +27,13 @@ struct ccp_cmd; | |||
27 | defined(CONFIG_CRYPTO_DEV_CCP_DD_MODULE) | 27 | defined(CONFIG_CRYPTO_DEV_CCP_DD_MODULE) |
28 | 28 | ||
29 | /** | 29 | /** |
30 | * ccp_present - check if a CCP device is present | ||
31 | * | ||
32 | * Returns zero if a CCP device is present, -ENODEV otherwise. | ||
33 | */ | ||
34 | int ccp_present(void); | ||
35 | |||
36 | /** | ||
30 | * ccp_enqueue_cmd - queue an operation for processing by the CCP | 37 | * ccp_enqueue_cmd - queue an operation for processing by the CCP |
31 | * | 38 | * |
32 | * @cmd: ccp_cmd struct to be processed | 39 | * @cmd: ccp_cmd struct to be processed |
@@ -53,6 +60,11 @@ int ccp_enqueue_cmd(struct ccp_cmd *cmd); | |||
53 | 60 | ||
54 | #else /* CONFIG_CRYPTO_DEV_CCP_DD is not enabled */ | 61 | #else /* CONFIG_CRYPTO_DEV_CCP_DD is not enabled */ |
55 | 62 | ||
63 | static inline int ccp_present(void) | ||
64 | { | ||
65 | return -ENODEV; | ||
66 | } | ||
67 | |||
56 | static inline int ccp_enqueue_cmd(struct ccp_cmd *cmd) | 68 | static inline int ccp_enqueue_cmd(struct ccp_cmd *cmd) |
57 | { | 69 | { |
58 | return -ENODEV; | 70 | return -ENODEV; |
diff --git a/include/linux/cpuset.h b/include/linux/cpuset.h index ade2390ffe92..6e39c9bb0dae 100644 --- a/include/linux/cpuset.h +++ b/include/linux/cpuset.h | |||
@@ -93,12 +93,12 @@ extern int cpuset_slab_spread_node(void); | |||
93 | 93 | ||
94 | static inline int cpuset_do_page_mem_spread(void) | 94 | static inline int cpuset_do_page_mem_spread(void) |
95 | { | 95 | { |
96 | return current->flags & PF_SPREAD_PAGE; | 96 | return task_spread_page(current); |
97 | } | 97 | } |
98 | 98 | ||
99 | static inline int cpuset_do_slab_mem_spread(void) | 99 | static inline int cpuset_do_slab_mem_spread(void) |
100 | { | 100 | { |
101 | return current->flags & PF_SPREAD_SLAB; | 101 | return task_spread_slab(current); |
102 | } | 102 | } |
103 | 103 | ||
104 | extern int current_cpuset_is_being_rebound(void); | 104 | extern int current_cpuset_is_being_rebound(void); |
diff --git a/include/linux/dcache.h b/include/linux/dcache.h index e4ae2ad48d07..75a227cc7ce2 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h | |||
@@ -55,6 +55,7 @@ struct qstr { | |||
55 | #define QSTR_INIT(n,l) { { { .len = l } }, .name = n } | 55 | #define QSTR_INIT(n,l) { { { .len = l } }, .name = n } |
56 | #define hashlen_hash(hashlen) ((u32) (hashlen)) | 56 | #define hashlen_hash(hashlen) ((u32) (hashlen)) |
57 | #define hashlen_len(hashlen) ((u32)((hashlen) >> 32)) | 57 | #define hashlen_len(hashlen) ((u32)((hashlen) >> 32)) |
58 | #define hashlen_create(hash,len) (((u64)(len)<<32)|(u32)(hash)) | ||
58 | 59 | ||
59 | struct dentry_stat_t { | 60 | struct dentry_stat_t { |
60 | long nr_dentry; | 61 | long nr_dentry; |
diff --git a/include/linux/f2fs_fs.h b/include/linux/f2fs_fs.h index 6ff0b0b42d47..08ed2b0a96e6 100644 --- a/include/linux/f2fs_fs.h +++ b/include/linux/f2fs_fs.h | |||
@@ -24,6 +24,9 @@ | |||
24 | #define NULL_ADDR ((block_t)0) /* used as block_t addresses */ | 24 | #define NULL_ADDR ((block_t)0) /* used as block_t addresses */ |
25 | #define NEW_ADDR ((block_t)-1) /* used as block_t addresses */ | 25 | #define NEW_ADDR ((block_t)-1) /* used as block_t addresses */ |
26 | 26 | ||
27 | /* 0, 1(node nid), 2(meta nid) are reserved node id */ | ||
28 | #define F2FS_RESERVED_NODE_NUM 3 | ||
29 | |||
27 | #define F2FS_ROOT_INO(sbi) (sbi->root_ino_num) | 30 | #define F2FS_ROOT_INO(sbi) (sbi->root_ino_num) |
28 | #define F2FS_NODE_INO(sbi) (sbi->node_ino_num) | 31 | #define F2FS_NODE_INO(sbi) (sbi->node_ino_num) |
29 | #define F2FS_META_INO(sbi) (sbi->meta_ino_num) | 32 | #define F2FS_META_INO(sbi) (sbi->meta_ino_num) |
@@ -87,6 +90,8 @@ struct f2fs_super_block { | |||
87 | #define CP_ORPHAN_PRESENT_FLAG 0x00000002 | 90 | #define CP_ORPHAN_PRESENT_FLAG 0x00000002 |
88 | #define CP_UMOUNT_FLAG 0x00000001 | 91 | #define CP_UMOUNT_FLAG 0x00000001 |
89 | 92 | ||
93 | #define F2FS_CP_PACKS 2 /* # of checkpoint packs */ | ||
94 | |||
90 | struct f2fs_checkpoint { | 95 | struct f2fs_checkpoint { |
91 | __le64 checkpoint_ver; /* checkpoint block version number */ | 96 | __le64 checkpoint_ver; /* checkpoint block version number */ |
92 | __le64 user_block_count; /* # of user blocks */ | 97 | __le64 user_block_count; /* # of user blocks */ |
@@ -123,6 +128,9 @@ struct f2fs_checkpoint { | |||
123 | */ | 128 | */ |
124 | #define F2FS_ORPHANS_PER_BLOCK 1020 | 129 | #define F2FS_ORPHANS_PER_BLOCK 1020 |
125 | 130 | ||
131 | #define GET_ORPHAN_BLOCKS(n) ((n + F2FS_ORPHANS_PER_BLOCK - 1) / \ | ||
132 | F2FS_ORPHANS_PER_BLOCK) | ||
133 | |||
126 | struct f2fs_orphan_block { | 134 | struct f2fs_orphan_block { |
127 | __le32 ino[F2FS_ORPHANS_PER_BLOCK]; /* inode numbers */ | 135 | __le32 ino[F2FS_ORPHANS_PER_BLOCK]; /* inode numbers */ |
128 | __le32 reserved; /* reserved */ | 136 | __le32 reserved; /* reserved */ |
@@ -144,6 +152,7 @@ struct f2fs_extent { | |||
144 | #define F2FS_NAME_LEN 255 | 152 | #define F2FS_NAME_LEN 255 |
145 | #define F2FS_INLINE_XATTR_ADDRS 50 /* 200 bytes for inline xattrs */ | 153 | #define F2FS_INLINE_XATTR_ADDRS 50 /* 200 bytes for inline xattrs */ |
146 | #define DEF_ADDRS_PER_INODE 923 /* Address Pointers in an Inode */ | 154 | #define DEF_ADDRS_PER_INODE 923 /* Address Pointers in an Inode */ |
155 | #define DEF_NIDS_PER_INODE 5 /* Node IDs in an Inode */ | ||
147 | #define ADDRS_PER_INODE(fi) addrs_per_inode(fi) | 156 | #define ADDRS_PER_INODE(fi) addrs_per_inode(fi) |
148 | #define ADDRS_PER_BLOCK 1018 /* Address Pointers in a Direct Block */ | 157 | #define ADDRS_PER_BLOCK 1018 /* Address Pointers in a Direct Block */ |
149 | #define NIDS_PER_BLOCK 1018 /* Node IDs in an Indirect Block */ | 158 | #define NIDS_PER_BLOCK 1018 /* Node IDs in an Indirect Block */ |
@@ -163,8 +172,9 @@ struct f2fs_extent { | |||
163 | #define MAX_INLINE_DATA (sizeof(__le32) * (DEF_ADDRS_PER_INODE - \ | 172 | #define MAX_INLINE_DATA (sizeof(__le32) * (DEF_ADDRS_PER_INODE - \ |
164 | F2FS_INLINE_XATTR_ADDRS - 1)) | 173 | F2FS_INLINE_XATTR_ADDRS - 1)) |
165 | 174 | ||
166 | #define INLINE_DATA_OFFSET (PAGE_CACHE_SIZE - sizeof(struct node_footer) \ | 175 | #define INLINE_DATA_OFFSET (PAGE_CACHE_SIZE - sizeof(struct node_footer) -\ |
167 | - sizeof(__le32) * (DEF_ADDRS_PER_INODE + 5 - 1)) | 176 | sizeof(__le32) * (DEF_ADDRS_PER_INODE + \ |
177 | DEF_NIDS_PER_INODE - 1)) | ||
168 | 178 | ||
169 | struct f2fs_inode { | 179 | struct f2fs_inode { |
170 | __le16 i_mode; /* file mode */ | 180 | __le16 i_mode; /* file mode */ |
@@ -194,7 +204,7 @@ struct f2fs_inode { | |||
194 | 204 | ||
195 | __le32 i_addr[DEF_ADDRS_PER_INODE]; /* Pointers to data blocks */ | 205 | __le32 i_addr[DEF_ADDRS_PER_INODE]; /* Pointers to data blocks */ |
196 | 206 | ||
197 | __le32 i_nid[5]; /* direct(2), indirect(2), | 207 | __le32 i_nid[DEF_NIDS_PER_INODE]; /* direct(2), indirect(2), |
198 | double_indirect(1) node id */ | 208 | double_indirect(1) node id */ |
199 | } __packed; | 209 | } __packed; |
200 | 210 | ||
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index 6bb5e3f2a3b4..f0b0edbf55a9 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h | |||
@@ -102,6 +102,15 @@ enum { | |||
102 | FTRACE_OPS_FL_DELETED = 1 << 8, | 102 | FTRACE_OPS_FL_DELETED = 1 << 8, |
103 | }; | 103 | }; |
104 | 104 | ||
105 | #ifdef CONFIG_DYNAMIC_FTRACE | ||
106 | /* The hash used to know what functions callbacks trace */ | ||
107 | struct ftrace_ops_hash { | ||
108 | struct ftrace_hash *notrace_hash; | ||
109 | struct ftrace_hash *filter_hash; | ||
110 | struct mutex regex_lock; | ||
111 | }; | ||
112 | #endif | ||
113 | |||
105 | /* | 114 | /* |
106 | * Note, ftrace_ops can be referenced outside of RCU protection. | 115 | * Note, ftrace_ops can be referenced outside of RCU protection. |
107 | * (Although, for perf, the control ops prevent that). If ftrace_ops is | 116 | * (Although, for perf, the control ops prevent that). If ftrace_ops is |
@@ -121,10 +130,9 @@ struct ftrace_ops { | |||
121 | int __percpu *disabled; | 130 | int __percpu *disabled; |
122 | #ifdef CONFIG_DYNAMIC_FTRACE | 131 | #ifdef CONFIG_DYNAMIC_FTRACE |
123 | int nr_trampolines; | 132 | int nr_trampolines; |
124 | struct ftrace_hash *notrace_hash; | 133 | struct ftrace_ops_hash local_hash; |
125 | struct ftrace_hash *filter_hash; | 134 | struct ftrace_ops_hash *func_hash; |
126 | struct ftrace_hash *tramp_hash; | 135 | struct ftrace_hash *tramp_hash; |
127 | struct mutex regex_lock; | ||
128 | unsigned long trampoline; | 136 | unsigned long trampoline; |
129 | #endif | 137 | #endif |
130 | }; | 138 | }; |
diff --git a/include/linux/gpio/consumer.h b/include/linux/gpio/consumer.h index b7ce0c64c6f3..12f146fa6604 100644 --- a/include/linux/gpio/consumer.h +++ b/include/linux/gpio/consumer.h | |||
@@ -16,8 +16,6 @@ struct device; | |||
16 | */ | 16 | */ |
17 | struct gpio_desc; | 17 | struct gpio_desc; |
18 | 18 | ||
19 | #ifdef CONFIG_GPIOLIB | ||
20 | |||
21 | #define GPIOD_FLAGS_BIT_DIR_SET BIT(0) | 19 | #define GPIOD_FLAGS_BIT_DIR_SET BIT(0) |
22 | #define GPIOD_FLAGS_BIT_DIR_OUT BIT(1) | 20 | #define GPIOD_FLAGS_BIT_DIR_OUT BIT(1) |
23 | #define GPIOD_FLAGS_BIT_DIR_VAL BIT(2) | 21 | #define GPIOD_FLAGS_BIT_DIR_VAL BIT(2) |
@@ -34,64 +32,38 @@ enum gpiod_flags { | |||
34 | GPIOD_FLAGS_BIT_DIR_VAL, | 32 | GPIOD_FLAGS_BIT_DIR_VAL, |
35 | }; | 33 | }; |
36 | 34 | ||
35 | #ifdef CONFIG_GPIOLIB | ||
36 | |||
37 | /* Acquire and dispose GPIOs */ | 37 | /* Acquire and dispose GPIOs */ |
38 | struct gpio_desc *__must_check __gpiod_get(struct device *dev, | 38 | struct gpio_desc *__must_check __gpiod_get(struct device *dev, |
39 | const char *con_id, | 39 | const char *con_id, |
40 | enum gpiod_flags flags); | 40 | enum gpiod_flags flags); |
41 | #define __gpiod_get(dev, con_id, flags, ...) __gpiod_get(dev, con_id, flags) | ||
42 | #define gpiod_get(varargs...) __gpiod_get(varargs, 0) | ||
43 | struct gpio_desc *__must_check __gpiod_get_index(struct device *dev, | 41 | struct gpio_desc *__must_check __gpiod_get_index(struct device *dev, |
44 | const char *con_id, | 42 | const char *con_id, |
45 | unsigned int idx, | 43 | unsigned int idx, |
46 | enum gpiod_flags flags); | 44 | enum gpiod_flags flags); |
47 | #define __gpiod_get_index(dev, con_id, index, flags, ...) \ | ||
48 | __gpiod_get_index(dev, con_id, index, flags) | ||
49 | #define gpiod_get_index(varargs...) __gpiod_get_index(varargs, 0) | ||
50 | struct gpio_desc *__must_check __gpiod_get_optional(struct device *dev, | 45 | struct gpio_desc *__must_check __gpiod_get_optional(struct device *dev, |
51 | const char *con_id, | 46 | const char *con_id, |
52 | enum gpiod_flags flags); | 47 | enum gpiod_flags flags); |
53 | #define __gpiod_get_optional(dev, con_id, flags, ...) \ | ||
54 | __gpiod_get_optional(dev, con_id, flags) | ||
55 | #define gpiod_get_optional(varargs...) __gpiod_get_optional(varargs, 0) | ||
56 | struct gpio_desc *__must_check __gpiod_get_index_optional(struct device *dev, | 48 | struct gpio_desc *__must_check __gpiod_get_index_optional(struct device *dev, |
57 | const char *con_id, | 49 | const char *con_id, |
58 | unsigned int index, | 50 | unsigned int index, |
59 | enum gpiod_flags flags); | 51 | enum gpiod_flags flags); |
60 | #define __gpiod_get_index_optional(dev, con_id, index, flags, ...) \ | ||
61 | __gpiod_get_index_optional(dev, con_id, index, flags) | ||
62 | #define gpiod_get_index_optional(varargs...) \ | ||
63 | __gpiod_get_index_optional(varargs, 0) | ||
64 | |||
65 | void gpiod_put(struct gpio_desc *desc); | 52 | void gpiod_put(struct gpio_desc *desc); |
66 | 53 | ||
67 | struct gpio_desc *__must_check __devm_gpiod_get(struct device *dev, | 54 | struct gpio_desc *__must_check __devm_gpiod_get(struct device *dev, |
68 | const char *con_id, | 55 | const char *con_id, |
69 | enum gpiod_flags flags); | 56 | enum gpiod_flags flags); |
70 | #define __devm_gpiod_get(dev, con_id, flags, ...) \ | ||
71 | __devm_gpiod_get(dev, con_id, flags) | ||
72 | #define devm_gpiod_get(varargs...) __devm_gpiod_get(varargs, 0) | ||
73 | struct gpio_desc *__must_check __devm_gpiod_get_index(struct device *dev, | 57 | struct gpio_desc *__must_check __devm_gpiod_get_index(struct device *dev, |
74 | const char *con_id, | 58 | const char *con_id, |
75 | unsigned int idx, | 59 | unsigned int idx, |
76 | enum gpiod_flags flags); | 60 | enum gpiod_flags flags); |
77 | #define __devm_gpiod_get_index(dev, con_id, index, flags, ...) \ | ||
78 | __devm_gpiod_get_index(dev, con_id, index, flags) | ||
79 | #define devm_gpiod_get_index(varargs...) __devm_gpiod_get_index(varargs, 0) | ||
80 | struct gpio_desc *__must_check __devm_gpiod_get_optional(struct device *dev, | 61 | struct gpio_desc *__must_check __devm_gpiod_get_optional(struct device *dev, |
81 | const char *con_id, | 62 | const char *con_id, |
82 | enum gpiod_flags flags); | 63 | enum gpiod_flags flags); |
83 | #define __devm_gpiod_get_optional(dev, con_id, flags, ...) \ | ||
84 | __devm_gpiod_get_optional(dev, con_id, flags) | ||
85 | #define devm_gpiod_get_optional(varargs...) \ | ||
86 | __devm_gpiod_get_optional(varargs, 0) | ||
87 | struct gpio_desc *__must_check | 64 | struct gpio_desc *__must_check |
88 | __devm_gpiod_get_index_optional(struct device *dev, const char *con_id, | 65 | __devm_gpiod_get_index_optional(struct device *dev, const char *con_id, |
89 | unsigned int index, enum gpiod_flags flags); | 66 | unsigned int index, enum gpiod_flags flags); |
90 | #define __devm_gpiod_get_index_optional(dev, con_id, index, flags, ...) \ | ||
91 | __devm_gpiod_get_index_optional(dev, con_id, index, flags) | ||
92 | #define devm_gpiod_get_index_optional(varargs...) \ | ||
93 | __devm_gpiod_get_index_optional(varargs, 0) | ||
94 | |||
95 | void devm_gpiod_put(struct device *dev, struct gpio_desc *desc); | 67 | void devm_gpiod_put(struct device *dev, struct gpio_desc *desc); |
96 | 68 | ||
97 | int gpiod_get_direction(const struct gpio_desc *desc); | 69 | int gpiod_get_direction(const struct gpio_desc *desc); |
@@ -124,27 +96,31 @@ int desc_to_gpio(const struct gpio_desc *desc); | |||
124 | 96 | ||
125 | #else /* CONFIG_GPIOLIB */ | 97 | #else /* CONFIG_GPIOLIB */ |
126 | 98 | ||
127 | static inline struct gpio_desc *__must_check gpiod_get(struct device *dev, | 99 | static inline struct gpio_desc *__must_check __gpiod_get(struct device *dev, |
128 | const char *con_id) | 100 | const char *con_id, |
101 | enum gpiod_flags flags) | ||
129 | { | 102 | { |
130 | return ERR_PTR(-ENOSYS); | 103 | return ERR_PTR(-ENOSYS); |
131 | } | 104 | } |
132 | static inline struct gpio_desc *__must_check gpiod_get_index(struct device *dev, | 105 | static inline struct gpio_desc *__must_check |
133 | const char *con_id, | 106 | __gpiod_get_index(struct device *dev, |
134 | unsigned int idx) | 107 | const char *con_id, |
108 | unsigned int idx, | ||
109 | enum gpiod_flags flags) | ||
135 | { | 110 | { |
136 | return ERR_PTR(-ENOSYS); | 111 | return ERR_PTR(-ENOSYS); |
137 | } | 112 | } |
138 | 113 | ||
139 | static inline struct gpio_desc *__must_check | 114 | static inline struct gpio_desc *__must_check |
140 | gpiod_get_optional(struct device *dev, const char *con_id) | 115 | __gpiod_get_optional(struct device *dev, const char *con_id, |
116 | enum gpiod_flags flags) | ||
141 | { | 117 | { |
142 | return ERR_PTR(-ENOSYS); | 118 | return ERR_PTR(-ENOSYS); |
143 | } | 119 | } |
144 | 120 | ||
145 | static inline struct gpio_desc *__must_check | 121 | static inline struct gpio_desc *__must_check |
146 | gpiod_get_index_optional(struct device *dev, const char *con_id, | 122 | __gpiod_get_index_optional(struct device *dev, const char *con_id, |
147 | unsigned int index) | 123 | unsigned int index, enum gpiod_flags flags) |
148 | { | 124 | { |
149 | return ERR_PTR(-ENOSYS); | 125 | return ERR_PTR(-ENOSYS); |
150 | } | 126 | } |
@@ -157,28 +133,33 @@ static inline void gpiod_put(struct gpio_desc *desc) | |||
157 | WARN_ON(1); | 133 | WARN_ON(1); |
158 | } | 134 | } |
159 | 135 | ||
160 | static inline struct gpio_desc *__must_check devm_gpiod_get(struct device *dev, | 136 | static inline struct gpio_desc *__must_check |
161 | const char *con_id) | 137 | __devm_gpiod_get(struct device *dev, |
138 | const char *con_id, | ||
139 | enum gpiod_flags flags) | ||
162 | { | 140 | { |
163 | return ERR_PTR(-ENOSYS); | 141 | return ERR_PTR(-ENOSYS); |
164 | } | 142 | } |
165 | static inline | 143 | static inline |
166 | struct gpio_desc *__must_check devm_gpiod_get_index(struct device *dev, | 144 | struct gpio_desc *__must_check |
167 | const char *con_id, | 145 | __devm_gpiod_get_index(struct device *dev, |
168 | unsigned int idx) | 146 | const char *con_id, |
147 | unsigned int idx, | ||
148 | enum gpiod_flags flags) | ||
169 | { | 149 | { |
170 | return ERR_PTR(-ENOSYS); | 150 | return ERR_PTR(-ENOSYS); |
171 | } | 151 | } |
172 | 152 | ||
173 | static inline struct gpio_desc *__must_check | 153 | static inline struct gpio_desc *__must_check |
174 | devm_gpiod_get_optional(struct device *dev, const char *con_id) | 154 | __devm_gpiod_get_optional(struct device *dev, const char *con_id, |
155 | enum gpiod_flags flags) | ||
175 | { | 156 | { |
176 | return ERR_PTR(-ENOSYS); | 157 | return ERR_PTR(-ENOSYS); |
177 | } | 158 | } |
178 | 159 | ||
179 | static inline struct gpio_desc *__must_check | 160 | static inline struct gpio_desc *__must_check |
180 | devm_gpiod_get_index_optional(struct device *dev, const char *con_id, | 161 | __devm_gpiod_get_index_optional(struct device *dev, const char *con_id, |
181 | unsigned int index) | 162 | unsigned int index, enum gpiod_flags flags) |
182 | { | 163 | { |
183 | return ERR_PTR(-ENOSYS); | 164 | return ERR_PTR(-ENOSYS); |
184 | } | 165 | } |
@@ -303,9 +284,43 @@ static inline int desc_to_gpio(const struct gpio_desc *desc) | |||
303 | return -EINVAL; | 284 | return -EINVAL; |
304 | } | 285 | } |
305 | 286 | ||
306 | |||
307 | #endif /* CONFIG_GPIOLIB */ | 287 | #endif /* CONFIG_GPIOLIB */ |
308 | 288 | ||
289 | /* | ||
290 | * Vararg-hacks! This is done to transition the kernel to always pass | ||
291 | * the options flags argument to the below functions. During a transition | ||
292 | * phase these vararg macros make both old-and-newstyle code compile, | ||
293 | * but when all calls to the elder API are removed, these should go away | ||
294 | * and the __gpiod_get() etc functions above be renamed just gpiod_get() | ||
295 | * etc. | ||
296 | */ | ||
297 | #define __gpiod_get(dev, con_id, flags, ...) __gpiod_get(dev, con_id, flags) | ||
298 | #define gpiod_get(varargs...) __gpiod_get(varargs, 0) | ||
299 | #define __gpiod_get_index(dev, con_id, index, flags, ...) \ | ||
300 | __gpiod_get_index(dev, con_id, index, flags) | ||
301 | #define gpiod_get_index(varargs...) __gpiod_get_index(varargs, 0) | ||
302 | #define __gpiod_get_optional(dev, con_id, flags, ...) \ | ||
303 | __gpiod_get_optional(dev, con_id, flags) | ||
304 | #define gpiod_get_optional(varargs...) __gpiod_get_optional(varargs, 0) | ||
305 | #define __gpiod_get_index_optional(dev, con_id, index, flags, ...) \ | ||
306 | __gpiod_get_index_optional(dev, con_id, index, flags) | ||
307 | #define gpiod_get_index_optional(varargs...) \ | ||
308 | __gpiod_get_index_optional(varargs, 0) | ||
309 | #define __devm_gpiod_get(dev, con_id, flags, ...) \ | ||
310 | __devm_gpiod_get(dev, con_id, flags) | ||
311 | #define devm_gpiod_get(varargs...) __devm_gpiod_get(varargs, 0) | ||
312 | #define __devm_gpiod_get_index(dev, con_id, index, flags, ...) \ | ||
313 | __devm_gpiod_get_index(dev, con_id, index, flags) | ||
314 | #define devm_gpiod_get_index(varargs...) __devm_gpiod_get_index(varargs, 0) | ||
315 | #define __devm_gpiod_get_optional(dev, con_id, flags, ...) \ | ||
316 | __devm_gpiod_get_optional(dev, con_id, flags) | ||
317 | #define devm_gpiod_get_optional(varargs...) \ | ||
318 | __devm_gpiod_get_optional(varargs, 0) | ||
319 | #define __devm_gpiod_get_index_optional(dev, con_id, index, flags, ...) \ | ||
320 | __devm_gpiod_get_index_optional(dev, con_id, index, flags) | ||
321 | #define devm_gpiod_get_index_optional(varargs...) \ | ||
322 | __devm_gpiod_get_index_optional(varargs, 0) | ||
323 | |||
309 | #if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS) | 324 | #if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS) |
310 | 325 | ||
311 | int gpiod_export(struct gpio_desc *desc, bool direction_may_change); | 326 | int gpiod_export(struct gpio_desc *desc, bool direction_may_change); |
diff --git a/include/linux/hash.h b/include/linux/hash.h index bd1754c7ecef..d0494c399392 100644 --- a/include/linux/hash.h +++ b/include/linux/hash.h | |||
@@ -37,6 +37,9 @@ static __always_inline u64 hash_64(u64 val, unsigned int bits) | |||
37 | { | 37 | { |
38 | u64 hash = val; | 38 | u64 hash = val; |
39 | 39 | ||
40 | #if defined(CONFIG_ARCH_HAS_FAST_MULTIPLIER) && BITS_PER_LONG == 64 | ||
41 | hash = hash * GOLDEN_RATIO_PRIME_64; | ||
42 | #else | ||
40 | /* Sigh, gcc can't optimise this alone like it does for 32 bits. */ | 43 | /* Sigh, gcc can't optimise this alone like it does for 32 bits. */ |
41 | u64 n = hash; | 44 | u64 n = hash; |
42 | n <<= 18; | 45 | n <<= 18; |
@@ -51,6 +54,7 @@ static __always_inline u64 hash_64(u64 val, unsigned int bits) | |||
51 | hash += n; | 54 | hash += n; |
52 | n <<= 2; | 55 | n <<= 2; |
53 | hash += n; | 56 | hash += n; |
57 | #endif | ||
54 | 58 | ||
55 | /* High bits are more random, so use them. */ | 59 | /* High bits are more random, so use them. */ |
56 | return hash >> (64 - bits); | 60 | return hash >> (64 - bits); |
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index ea507665896c..b556e0ab946f 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h | |||
@@ -577,16 +577,4 @@ static inline struct i2c_adapter *of_find_i2c_adapter_by_node(struct device_node | |||
577 | } | 577 | } |
578 | #endif /* CONFIG_OF */ | 578 | #endif /* CONFIG_OF */ |
579 | 579 | ||
580 | #ifdef CONFIG_I2C_ACPI | ||
581 | int acpi_i2c_install_space_handler(struct i2c_adapter *adapter); | ||
582 | void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter); | ||
583 | void acpi_i2c_register_devices(struct i2c_adapter *adap); | ||
584 | #else | ||
585 | static inline void acpi_i2c_register_devices(struct i2c_adapter *adap) { } | ||
586 | static inline void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter) | ||
587 | { } | ||
588 | static inline int acpi_i2c_install_space_handler(struct i2c_adapter *adapter) | ||
589 | { return 0; } | ||
590 | #endif | ||
591 | |||
592 | #endif /* _LINUX_I2C_H */ | 580 | #endif /* _LINUX_I2C_H */ |
diff --git a/include/linux/iio/trigger.h b/include/linux/iio/trigger.h index 4b79ffe7b188..fa76c79a52a1 100644 --- a/include/linux/iio/trigger.h +++ b/include/linux/iio/trigger.h | |||
@@ -84,10 +84,12 @@ static inline void iio_trigger_put(struct iio_trigger *trig) | |||
84 | put_device(&trig->dev); | 84 | put_device(&trig->dev); |
85 | } | 85 | } |
86 | 86 | ||
87 | static inline void iio_trigger_get(struct iio_trigger *trig) | 87 | static inline struct iio_trigger *iio_trigger_get(struct iio_trigger *trig) |
88 | { | 88 | { |
89 | get_device(&trig->dev); | 89 | get_device(&trig->dev); |
90 | __module_get(trig->ops->owner); | 90 | __module_get(trig->ops->owner); |
91 | |||
92 | return trig; | ||
91 | } | 93 | } |
92 | 94 | ||
93 | /** | 95 | /** |
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index d5b50a19463c..0dae71e9971c 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h | |||
@@ -159,7 +159,11 @@ typedef struct journal_header_s | |||
159 | * journal_block_tag (in the descriptor). The other h_chksum* fields are | 159 | * journal_block_tag (in the descriptor). The other h_chksum* fields are |
160 | * not used. | 160 | * not used. |
161 | * | 161 | * |
162 | * Checksum v1 and v2 are mutually exclusive features. | 162 | * If FEATURE_INCOMPAT_CSUM_V3 is set, the descriptor block uses |
163 | * journal_block_tag3_t to store a full 32-bit checksum. Everything else | ||
164 | * is the same as v2. | ||
165 | * | ||
166 | * Checksum v1, v2, and v3 are mutually exclusive features. | ||
163 | */ | 167 | */ |
164 | struct commit_header { | 168 | struct commit_header { |
165 | __be32 h_magic; | 169 | __be32 h_magic; |
@@ -179,6 +183,14 @@ struct commit_header { | |||
179 | * raw struct shouldn't be used for pointer math or sizeof() - use | 183 | * raw struct shouldn't be used for pointer math or sizeof() - use |
180 | * journal_tag_bytes(journal) instead to compute this. | 184 | * journal_tag_bytes(journal) instead to compute this. |
181 | */ | 185 | */ |
186 | typedef struct journal_block_tag3_s | ||
187 | { | ||
188 | __be32 t_blocknr; /* The on-disk block number */ | ||
189 | __be32 t_flags; /* See below */ | ||
190 | __be32 t_blocknr_high; /* most-significant high 32bits. */ | ||
191 | __be32 t_checksum; /* crc32c(uuid+seq+block) */ | ||
192 | } journal_block_tag3_t; | ||
193 | |||
182 | typedef struct journal_block_tag_s | 194 | typedef struct journal_block_tag_s |
183 | { | 195 | { |
184 | __be32 t_blocknr; /* The on-disk block number */ | 196 | __be32 t_blocknr; /* The on-disk block number */ |
@@ -187,9 +199,6 @@ typedef struct journal_block_tag_s | |||
187 | __be32 t_blocknr_high; /* most-significant high 32bits. */ | 199 | __be32 t_blocknr_high; /* most-significant high 32bits. */ |
188 | } journal_block_tag_t; | 200 | } journal_block_tag_t; |
189 | 201 | ||
190 | #define JBD2_TAG_SIZE32 (offsetof(journal_block_tag_t, t_blocknr_high)) | ||
191 | #define JBD2_TAG_SIZE64 (sizeof(journal_block_tag_t)) | ||
192 | |||
193 | /* Tail of descriptor block, for checksumming */ | 202 | /* Tail of descriptor block, for checksumming */ |
194 | struct jbd2_journal_block_tail { | 203 | struct jbd2_journal_block_tail { |
195 | __be32 t_checksum; /* crc32c(uuid+descr_block) */ | 204 | __be32 t_checksum; /* crc32c(uuid+descr_block) */ |
@@ -284,6 +293,7 @@ typedef struct journal_superblock_s | |||
284 | #define JBD2_FEATURE_INCOMPAT_64BIT 0x00000002 | 293 | #define JBD2_FEATURE_INCOMPAT_64BIT 0x00000002 |
285 | #define JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT 0x00000004 | 294 | #define JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT 0x00000004 |
286 | #define JBD2_FEATURE_INCOMPAT_CSUM_V2 0x00000008 | 295 | #define JBD2_FEATURE_INCOMPAT_CSUM_V2 0x00000008 |
296 | #define JBD2_FEATURE_INCOMPAT_CSUM_V3 0x00000010 | ||
287 | 297 | ||
288 | /* Features known to this kernel version: */ | 298 | /* Features known to this kernel version: */ |
289 | #define JBD2_KNOWN_COMPAT_FEATURES JBD2_FEATURE_COMPAT_CHECKSUM | 299 | #define JBD2_KNOWN_COMPAT_FEATURES JBD2_FEATURE_COMPAT_CHECKSUM |
@@ -291,7 +301,8 @@ typedef struct journal_superblock_s | |||
291 | #define JBD2_KNOWN_INCOMPAT_FEATURES (JBD2_FEATURE_INCOMPAT_REVOKE | \ | 301 | #define JBD2_KNOWN_INCOMPAT_FEATURES (JBD2_FEATURE_INCOMPAT_REVOKE | \ |
292 | JBD2_FEATURE_INCOMPAT_64BIT | \ | 302 | JBD2_FEATURE_INCOMPAT_64BIT | \ |
293 | JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT | \ | 303 | JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT | \ |
294 | JBD2_FEATURE_INCOMPAT_CSUM_V2) | 304 | JBD2_FEATURE_INCOMPAT_CSUM_V2 | \ |
305 | JBD2_FEATURE_INCOMPAT_CSUM_V3) | ||
295 | 306 | ||
296 | #ifdef __KERNEL__ | 307 | #ifdef __KERNEL__ |
297 | 308 | ||
@@ -1296,6 +1307,15 @@ static inline int tid_geq(tid_t x, tid_t y) | |||
1296 | extern int jbd2_journal_blocks_per_page(struct inode *inode); | 1307 | extern int jbd2_journal_blocks_per_page(struct inode *inode); |
1297 | extern size_t journal_tag_bytes(journal_t *journal); | 1308 | extern size_t journal_tag_bytes(journal_t *journal); |
1298 | 1309 | ||
1310 | static inline int jbd2_journal_has_csum_v2or3(journal_t *journal) | ||
1311 | { | ||
1312 | if (JBD2_HAS_INCOMPAT_FEATURE(journal, JBD2_FEATURE_INCOMPAT_CSUM_V2) || | ||
1313 | JBD2_HAS_INCOMPAT_FEATURE(journal, JBD2_FEATURE_INCOMPAT_CSUM_V3)) | ||
1314 | return 1; | ||
1315 | |||
1316 | return 0; | ||
1317 | } | ||
1318 | |||
1299 | /* | 1319 | /* |
1300 | * We reserve t_outstanding_credits >> JBD2_CONTROL_BLOCKS_SHIFT for | 1320 | * We reserve t_outstanding_credits >> JBD2_CONTROL_BLOCKS_SHIFT for |
1301 | * transaction control blocks. | 1321 | * transaction control blocks. |
diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h index 1f44466c1e9d..c367cbdf73ab 100644 --- a/include/linux/jiffies.h +++ b/include/linux/jiffies.h | |||
@@ -258,23 +258,11 @@ extern unsigned long preset_lpj; | |||
258 | #define SEC_JIFFIE_SC (32 - SHIFT_HZ) | 258 | #define SEC_JIFFIE_SC (32 - SHIFT_HZ) |
259 | #endif | 259 | #endif |
260 | #define NSEC_JIFFIE_SC (SEC_JIFFIE_SC + 29) | 260 | #define NSEC_JIFFIE_SC (SEC_JIFFIE_SC + 29) |
261 | #define USEC_JIFFIE_SC (SEC_JIFFIE_SC + 19) | ||
262 | #define SEC_CONVERSION ((unsigned long)((((u64)NSEC_PER_SEC << SEC_JIFFIE_SC) +\ | 261 | #define SEC_CONVERSION ((unsigned long)((((u64)NSEC_PER_SEC << SEC_JIFFIE_SC) +\ |
263 | TICK_NSEC -1) / (u64)TICK_NSEC)) | 262 | TICK_NSEC -1) / (u64)TICK_NSEC)) |
264 | 263 | ||
265 | #define NSEC_CONVERSION ((unsigned long)((((u64)1 << NSEC_JIFFIE_SC) +\ | 264 | #define NSEC_CONVERSION ((unsigned long)((((u64)1 << NSEC_JIFFIE_SC) +\ |
266 | TICK_NSEC -1) / (u64)TICK_NSEC)) | 265 | TICK_NSEC -1) / (u64)TICK_NSEC)) |
267 | #define USEC_CONVERSION \ | ||
268 | ((unsigned long)((((u64)NSEC_PER_USEC << USEC_JIFFIE_SC) +\ | ||
269 | TICK_NSEC -1) / (u64)TICK_NSEC)) | ||
270 | /* | ||
271 | * USEC_ROUND is used in the timeval to jiffie conversion. See there | ||
272 | * for more details. It is the scaled resolution rounding value. Note | ||
273 | * that it is a 64-bit value. Since, when it is applied, we are already | ||
274 | * in jiffies (albit scaled), it is nothing but the bits we will shift | ||
275 | * off. | ||
276 | */ | ||
277 | #define USEC_ROUND (u64)(((u64)1 << USEC_JIFFIE_SC) - 1) | ||
278 | /* | 266 | /* |
279 | * The maximum jiffie value is (MAX_INT >> 1). Here we translate that | 267 | * The maximum jiffie value is (MAX_INT >> 1). Here we translate that |
280 | * into seconds. The 64-bit case will overflow if we are not careful, | 268 | * into seconds. The 64-bit case will overflow if we are not careful, |
diff --git a/include/linux/leds.h b/include/linux/leds.h index 6a599dce7f9d..e43686472197 100644 --- a/include/linux/leds.h +++ b/include/linux/leds.h | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/list.h> | 15 | #include <linux/list.h> |
16 | #include <linux/spinlock.h> | 16 | #include <linux/spinlock.h> |
17 | #include <linux/rwsem.h> | 17 | #include <linux/rwsem.h> |
18 | #include <linux/timer.h> | ||
18 | #include <linux/workqueue.h> | 19 | #include <linux/workqueue.h> |
19 | 20 | ||
20 | struct device; | 21 | struct device; |
@@ -68,7 +69,7 @@ struct led_classdev { | |||
68 | const char *default_trigger; /* Trigger to use */ | 69 | const char *default_trigger; /* Trigger to use */ |
69 | 70 | ||
70 | unsigned long blink_delay_on, blink_delay_off; | 71 | unsigned long blink_delay_on, blink_delay_off; |
71 | struct delayed_work blink_work; | 72 | struct timer_list blink_timer; |
72 | int blink_brightness; | 73 | int blink_brightness; |
73 | 74 | ||
74 | struct work_struct set_brightness_work; | 75 | struct work_struct set_brightness_work; |
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index 071f6b234604..a5b7d7cfcedf 100644 --- a/include/linux/mlx4/device.h +++ b/include/linux/mlx4/device.h | |||
@@ -209,6 +209,7 @@ enum { | |||
209 | MLX4_BMME_FLAG_TYPE_2_WIN = 1 << 9, | 209 | MLX4_BMME_FLAG_TYPE_2_WIN = 1 << 9, |
210 | MLX4_BMME_FLAG_RESERVED_LKEY = 1 << 10, | 210 | MLX4_BMME_FLAG_RESERVED_LKEY = 1 << 10, |
211 | MLX4_BMME_FLAG_FAST_REG_WR = 1 << 11, | 211 | MLX4_BMME_FLAG_FAST_REG_WR = 1 << 11, |
212 | MLX4_BMME_FLAG_VSD_INIT2RTR = 1 << 28, | ||
212 | }; | 213 | }; |
213 | 214 | ||
214 | enum mlx4_event { | 215 | enum mlx4_event { |
@@ -1196,6 +1197,9 @@ int mlx4_map_sw_to_hw_steering_id(struct mlx4_dev *dev, | |||
1196 | enum mlx4_net_trans_rule_id id); | 1197 | enum mlx4_net_trans_rule_id id); |
1197 | int mlx4_hw_rule_sz(struct mlx4_dev *dev, enum mlx4_net_trans_rule_id id); | 1198 | int mlx4_hw_rule_sz(struct mlx4_dev *dev, enum mlx4_net_trans_rule_id id); |
1198 | 1199 | ||
1200 | int mlx4_tunnel_steer_add(struct mlx4_dev *dev, unsigned char *addr, | ||
1201 | int port, int qpn, u16 prio, u64 *reg_id); | ||
1202 | |||
1199 | void mlx4_sync_pkey_table(struct mlx4_dev *dev, int slave, int port, | 1203 | void mlx4_sync_pkey_table(struct mlx4_dev *dev, int slave, int port, |
1200 | int i, int val); | 1204 | int i, int val); |
1201 | 1205 | ||
diff --git a/include/linux/mlx4/qp.h b/include/linux/mlx4/qp.h index 7040dc98ff8b..5f4e36cf0091 100644 --- a/include/linux/mlx4/qp.h +++ b/include/linux/mlx4/qp.h | |||
@@ -56,7 +56,8 @@ enum mlx4_qp_optpar { | |||
56 | MLX4_QP_OPTPAR_RNR_RETRY = 1 << 13, | 56 | MLX4_QP_OPTPAR_RNR_RETRY = 1 << 13, |
57 | MLX4_QP_OPTPAR_ACK_TIMEOUT = 1 << 14, | 57 | MLX4_QP_OPTPAR_ACK_TIMEOUT = 1 << 14, |
58 | MLX4_QP_OPTPAR_SCHED_QUEUE = 1 << 16, | 58 | MLX4_QP_OPTPAR_SCHED_QUEUE = 1 << 16, |
59 | MLX4_QP_OPTPAR_COUNTER_INDEX = 1 << 20 | 59 | MLX4_QP_OPTPAR_COUNTER_INDEX = 1 << 20, |
60 | MLX4_QP_OPTPAR_VLAN_STRIPPING = 1 << 21, | ||
60 | }; | 61 | }; |
61 | 62 | ||
62 | enum mlx4_qp_state { | 63 | enum mlx4_qp_state { |
@@ -423,13 +424,20 @@ struct mlx4_wqe_inline_seg { | |||
423 | 424 | ||
424 | enum mlx4_update_qp_attr { | 425 | enum mlx4_update_qp_attr { |
425 | MLX4_UPDATE_QP_SMAC = 1 << 0, | 426 | MLX4_UPDATE_QP_SMAC = 1 << 0, |
427 | MLX4_UPDATE_QP_VSD = 1 << 2, | ||
428 | MLX4_UPDATE_QP_SUPPORTED_ATTRS = (1 << 2) - 1 | ||
429 | }; | ||
430 | |||
431 | enum mlx4_update_qp_params_flags { | ||
432 | MLX4_UPDATE_QP_PARAMS_FLAGS_VSD_ENABLE = 1 << 0, | ||
426 | }; | 433 | }; |
427 | 434 | ||
428 | struct mlx4_update_qp_params { | 435 | struct mlx4_update_qp_params { |
429 | u8 smac_index; | 436 | u8 smac_index; |
437 | u32 flags; | ||
430 | }; | 438 | }; |
431 | 439 | ||
432 | int mlx4_update_qp(struct mlx4_dev *dev, struct mlx4_qp *qp, | 440 | int mlx4_update_qp(struct mlx4_dev *dev, u32 qpn, |
433 | enum mlx4_update_qp_attr attr, | 441 | enum mlx4_update_qp_attr attr, |
434 | struct mlx4_update_qp_params *params); | 442 | struct mlx4_update_qp_params *params); |
435 | int mlx4_qp_modify(struct mlx4_dev *dev, struct mlx4_mtt *mtt, | 443 | int mlx4_qp_modify(struct mlx4_dev *dev, struct mlx4_mtt *mtt, |
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index 3083c53e0270..c300db3ae285 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h | |||
@@ -949,7 +949,7 @@ static inline int jedec_feature(struct nand_chip *chip) | |||
949 | : 0; | 949 | : 0; |
950 | } | 950 | } |
951 | 951 | ||
952 | /** | 952 | /* |
953 | * struct nand_sdr_timings - SDR NAND chip timings | 953 | * struct nand_sdr_timings - SDR NAND chip timings |
954 | * | 954 | * |
955 | * This struct defines the timing requirements of a SDR NAND chip. | 955 | * This struct defines the timing requirements of a SDR NAND chip. |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 38377392d082..c8e388e5fccc 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -3176,7 +3176,7 @@ static inline int __dev_uc_sync(struct net_device *dev, | |||
3176 | } | 3176 | } |
3177 | 3177 | ||
3178 | /** | 3178 | /** |
3179 | * __dev_uc_unsync - Remove synchonized addresses from device | 3179 | * __dev_uc_unsync - Remove synchronized addresses from device |
3180 | * @dev: device to sync | 3180 | * @dev: device to sync |
3181 | * @unsync: function to call if address should be removed | 3181 | * @unsync: function to call if address should be removed |
3182 | * | 3182 | * |
@@ -3220,7 +3220,7 @@ static inline int __dev_mc_sync(struct net_device *dev, | |||
3220 | } | 3220 | } |
3221 | 3221 | ||
3222 | /** | 3222 | /** |
3223 | * __dev_mc_unsync - Remove synchonized addresses from device | 3223 | * __dev_mc_unsync - Remove synchronized addresses from device |
3224 | * @dev: device to sync | 3224 | * @dev: device to sync |
3225 | * @unsync: function to call if address should be removed | 3225 | * @unsync: function to call if address should be removed |
3226 | * | 3226 | * |
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h index 2077489f9887..2517ece98820 100644 --- a/include/linux/netfilter.h +++ b/include/linux/netfilter.h | |||
@@ -9,6 +9,7 @@ | |||
9 | #include <linux/in6.h> | 9 | #include <linux/in6.h> |
10 | #include <linux/wait.h> | 10 | #include <linux/wait.h> |
11 | #include <linux/list.h> | 11 | #include <linux/list.h> |
12 | #include <linux/static_key.h> | ||
12 | #include <uapi/linux/netfilter.h> | 13 | #include <uapi/linux/netfilter.h> |
13 | #ifdef CONFIG_NETFILTER | 14 | #ifdef CONFIG_NETFILTER |
14 | static inline int NF_DROP_GETERR(int verdict) | 15 | static inline int NF_DROP_GETERR(int verdict) |
@@ -99,9 +100,9 @@ void nf_unregister_sockopt(struct nf_sockopt_ops *reg); | |||
99 | 100 | ||
100 | extern struct list_head nf_hooks[NFPROTO_NUMPROTO][NF_MAX_HOOKS]; | 101 | extern struct list_head nf_hooks[NFPROTO_NUMPROTO][NF_MAX_HOOKS]; |
101 | 102 | ||
102 | #if defined(CONFIG_JUMP_LABEL) | 103 | #ifdef HAVE_JUMP_LABEL |
103 | #include <linux/static_key.h> | ||
104 | extern struct static_key nf_hooks_needed[NFPROTO_NUMPROTO][NF_MAX_HOOKS]; | 104 | extern struct static_key nf_hooks_needed[NFPROTO_NUMPROTO][NF_MAX_HOOKS]; |
105 | |||
105 | static inline bool nf_hooks_active(u_int8_t pf, unsigned int hook) | 106 | static inline bool nf_hooks_active(u_int8_t pf, unsigned int hook) |
106 | { | 107 | { |
107 | if (__builtin_constant_p(pf) && | 108 | if (__builtin_constant_p(pf) && |
diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h index 6ad2bbcad405..6c3e06ee2fb7 100644 --- a/include/linux/nfs_page.h +++ b/include/linux/nfs_page.h | |||
@@ -123,6 +123,7 @@ extern int nfs_wait_on_request(struct nfs_page *); | |||
123 | extern void nfs_unlock_request(struct nfs_page *req); | 123 | extern void nfs_unlock_request(struct nfs_page *req); |
124 | extern void nfs_unlock_and_release_request(struct nfs_page *); | 124 | extern void nfs_unlock_and_release_request(struct nfs_page *); |
125 | extern int nfs_page_group_lock(struct nfs_page *, bool); | 125 | extern int nfs_page_group_lock(struct nfs_page *, bool); |
126 | extern void nfs_page_group_lock_wait(struct nfs_page *); | ||
126 | extern void nfs_page_group_unlock(struct nfs_page *); | 127 | extern void nfs_page_group_unlock(struct nfs_page *); |
127 | extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned int); | 128 | extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned int); |
128 | 129 | ||
diff --git a/include/linux/pci.h b/include/linux/pci.h index 61978a460841..96453f9bc8ba 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -303,6 +303,7 @@ struct pci_dev { | |||
303 | D3cold, not set for devices | 303 | D3cold, not set for devices |
304 | powered on/off by the | 304 | powered on/off by the |
305 | corresponding bridge */ | 305 | corresponding bridge */ |
306 | unsigned int ignore_hotplug:1; /* Ignore hotplug events */ | ||
306 | unsigned int d3_delay; /* D3->D0 transition time in ms */ | 307 | unsigned int d3_delay; /* D3->D0 transition time in ms */ |
307 | unsigned int d3cold_delay; /* D3cold->D0 transition time in ms */ | 308 | unsigned int d3cold_delay; /* D3cold->D0 transition time in ms */ |
308 | 309 | ||
@@ -1021,6 +1022,11 @@ bool pci_dev_run_wake(struct pci_dev *dev); | |||
1021 | bool pci_check_pme_status(struct pci_dev *dev); | 1022 | bool pci_check_pme_status(struct pci_dev *dev); |
1022 | void pci_pme_wakeup_bus(struct pci_bus *bus); | 1023 | void pci_pme_wakeup_bus(struct pci_bus *bus); |
1023 | 1024 | ||
1025 | static inline void pci_ignore_hotplug(struct pci_dev *dev) | ||
1026 | { | ||
1027 | dev->ignore_hotplug = 1; | ||
1028 | } | ||
1029 | |||
1024 | static inline int pci_enable_wake(struct pci_dev *dev, pci_power_t state, | 1030 | static inline int pci_enable_wake(struct pci_dev *dev, pci_power_t state, |
1025 | bool enable) | 1031 | bool enable) |
1026 | { | 1032 | { |
diff --git a/include/linux/percpu-refcount.h b/include/linux/percpu-refcount.h index 3dfbf237cd8f..ef5894ca8e50 100644 --- a/include/linux/percpu-refcount.h +++ b/include/linux/percpu-refcount.h | |||
@@ -71,6 +71,7 @@ void percpu_ref_reinit(struct percpu_ref *ref); | |||
71 | void percpu_ref_exit(struct percpu_ref *ref); | 71 | void percpu_ref_exit(struct percpu_ref *ref); |
72 | void percpu_ref_kill_and_confirm(struct percpu_ref *ref, | 72 | void percpu_ref_kill_and_confirm(struct percpu_ref *ref, |
73 | percpu_ref_func_t *confirm_kill); | 73 | percpu_ref_func_t *confirm_kill); |
74 | void __percpu_ref_kill_expedited(struct percpu_ref *ref); | ||
74 | 75 | ||
75 | /** | 76 | /** |
76 | * percpu_ref_kill - drop the initial ref | 77 | * percpu_ref_kill - drop the initial ref |
diff --git a/include/linux/platform_data/mtd-nand-omap2.h b/include/linux/platform_data/mtd-nand-omap2.h index 660c029d694f..16ec262dfcc8 100644 --- a/include/linux/platform_data/mtd-nand-omap2.h +++ b/include/linux/platform_data/mtd-nand-omap2.h | |||
@@ -21,8 +21,17 @@ enum nand_io { | |||
21 | }; | 21 | }; |
22 | 22 | ||
23 | enum omap_ecc { | 23 | enum omap_ecc { |
24 | /* 1-bit ECC calculation by GPMC, Error detection by Software */ | 24 | /* |
25 | OMAP_ECC_HAM1_CODE_HW = 0, | 25 | * 1-bit ECC: calculation and correction by SW |
26 | * ECC stored at end of spare area | ||
27 | */ | ||
28 | OMAP_ECC_HAM1_CODE_SW = 0, | ||
29 | |||
30 | /* | ||
31 | * 1-bit ECC: calculation by GPMC, Error detection by Software | ||
32 | * ECC layout compatible with ROM code layout | ||
33 | */ | ||
34 | OMAP_ECC_HAM1_CODE_HW, | ||
26 | /* 4-bit ECC calculation by GPMC, Error detection by Software */ | 35 | /* 4-bit ECC calculation by GPMC, Error detection by Software */ |
27 | OMAP_ECC_BCH4_CODE_HW_DETECTION_SW, | 36 | OMAP_ECC_BCH4_CODE_HW_DETECTION_SW, |
28 | /* 4-bit ECC calculation by GPMC, Error detection by ELM */ | 37 | /* 4-bit ECC calculation by GPMC, Error detection by ELM */ |
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h index 7c1d252b20c0..ebc4c76ffb73 100644 --- a/include/linux/pm_domain.h +++ b/include/linux/pm_domain.h | |||
@@ -60,7 +60,7 @@ struct generic_pm_domain { | |||
60 | struct mutex lock; | 60 | struct mutex lock; |
61 | struct dev_power_governor *gov; | 61 | struct dev_power_governor *gov; |
62 | struct work_struct power_off_work; | 62 | struct work_struct power_off_work; |
63 | char *name; | 63 | const char *name; |
64 | unsigned int in_progress; /* Number of devices being suspended now */ | 64 | unsigned int in_progress; /* Number of devices being suspended now */ |
65 | atomic_t sd_count; /* Number of subdomains with power "on" */ | 65 | atomic_t sd_count; /* Number of subdomains with power "on" */ |
66 | enum gpd_status status; /* Current state of the domain */ | 66 | enum gpd_status status; /* Current state of the domain */ |
diff --git a/include/linux/regulator/driver.h b/include/linux/regulator/driver.h index bbe03a1924c0..4efa1ed8a2b0 100644 --- a/include/linux/regulator/driver.h +++ b/include/linux/regulator/driver.h | |||
@@ -218,6 +218,8 @@ enum regulator_type { | |||
218 | * @linear_min_sel: Minimal selector for starting linear mapping | 218 | * @linear_min_sel: Minimal selector for starting linear mapping |
219 | * @fixed_uV: Fixed voltage of rails. | 219 | * @fixed_uV: Fixed voltage of rails. |
220 | * @ramp_delay: Time to settle down after voltage change (unit: uV/us) | 220 | * @ramp_delay: Time to settle down after voltage change (unit: uV/us) |
221 | * @linear_ranges: A constant table of possible voltage ranges. | ||
222 | * @n_linear_ranges: Number of entries in the @linear_ranges table. | ||
221 | * @volt_table: Voltage mapping table (if table based mapping) | 223 | * @volt_table: Voltage mapping table (if table based mapping) |
222 | * | 224 | * |
223 | * @vsel_reg: Register for selector when using regulator_regmap_X_voltage_ | 225 | * @vsel_reg: Register for selector when using regulator_regmap_X_voltage_ |
diff --git a/include/linux/regulator/machine.h b/include/linux/regulator/machine.h index 730e638c5589..0b08d05d470b 100644 --- a/include/linux/regulator/machine.h +++ b/include/linux/regulator/machine.h | |||
@@ -85,6 +85,7 @@ struct regulator_state { | |||
85 | * bootloader then it will be enabled when the constraints are | 85 | * bootloader then it will be enabled when the constraints are |
86 | * applied. | 86 | * applied. |
87 | * @apply_uV: Apply the voltage constraint when initialising. | 87 | * @apply_uV: Apply the voltage constraint when initialising. |
88 | * @ramp_disable: Disable ramp delay when initialising or when setting voltage. | ||
88 | * | 89 | * |
89 | * @input_uV: Input voltage for regulator when supplied by another regulator. | 90 | * @input_uV: Input voltage for regulator when supplied by another regulator. |
90 | * | 91 | * |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 5c2c885ee52b..b867a4dab38a 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1903,8 +1903,6 @@ extern void thread_group_cputime_adjusted(struct task_struct *p, cputime_t *ut, | |||
1903 | #define PF_KTHREAD 0x00200000 /* I am a kernel thread */ | 1903 | #define PF_KTHREAD 0x00200000 /* I am a kernel thread */ |
1904 | #define PF_RANDOMIZE 0x00400000 /* randomize virtual address space */ | 1904 | #define PF_RANDOMIZE 0x00400000 /* randomize virtual address space */ |
1905 | #define PF_SWAPWRITE 0x00800000 /* Allowed to write to swap */ | 1905 | #define PF_SWAPWRITE 0x00800000 /* Allowed to write to swap */ |
1906 | #define PF_SPREAD_PAGE 0x01000000 /* Spread page cache over cpuset */ | ||
1907 | #define PF_SPREAD_SLAB 0x02000000 /* Spread some slab caches over cpuset */ | ||
1908 | #define PF_NO_SETAFFINITY 0x04000000 /* Userland is not allowed to meddle with cpus_allowed */ | 1906 | #define PF_NO_SETAFFINITY 0x04000000 /* Userland is not allowed to meddle with cpus_allowed */ |
1909 | #define PF_MCE_EARLY 0x08000000 /* Early kill for mce process policy */ | 1907 | #define PF_MCE_EARLY 0x08000000 /* Early kill for mce process policy */ |
1910 | #define PF_MUTEX_TESTER 0x20000000 /* Thread belongs to the rt mutex tester */ | 1908 | #define PF_MUTEX_TESTER 0x20000000 /* Thread belongs to the rt mutex tester */ |
@@ -1957,17 +1955,31 @@ static inline void memalloc_noio_restore(unsigned int flags) | |||
1957 | } | 1955 | } |
1958 | 1956 | ||
1959 | /* Per-process atomic flags. */ | 1957 | /* Per-process atomic flags. */ |
1960 | #define PFA_NO_NEW_PRIVS 0x00000001 /* May not gain new privileges. */ | 1958 | #define PFA_NO_NEW_PRIVS 0 /* May not gain new privileges. */ |
1959 | #define PFA_SPREAD_PAGE 1 /* Spread page cache over cpuset */ | ||
1960 | #define PFA_SPREAD_SLAB 2 /* Spread some slab caches over cpuset */ | ||
1961 | 1961 | ||
1962 | static inline bool task_no_new_privs(struct task_struct *p) | ||
1963 | { | ||
1964 | return test_bit(PFA_NO_NEW_PRIVS, &p->atomic_flags); | ||
1965 | } | ||
1966 | 1962 | ||
1967 | static inline void task_set_no_new_privs(struct task_struct *p) | 1963 | #define TASK_PFA_TEST(name, func) \ |
1968 | { | 1964 | static inline bool task_##func(struct task_struct *p) \ |
1969 | set_bit(PFA_NO_NEW_PRIVS, &p->atomic_flags); | 1965 | { return test_bit(PFA_##name, &p->atomic_flags); } |
1970 | } | 1966 | #define TASK_PFA_SET(name, func) \ |
1967 | static inline void task_set_##func(struct task_struct *p) \ | ||
1968 | { set_bit(PFA_##name, &p->atomic_flags); } | ||
1969 | #define TASK_PFA_CLEAR(name, func) \ | ||
1970 | static inline void task_clear_##func(struct task_struct *p) \ | ||
1971 | { clear_bit(PFA_##name, &p->atomic_flags); } | ||
1972 | |||
1973 | TASK_PFA_TEST(NO_NEW_PRIVS, no_new_privs) | ||
1974 | TASK_PFA_SET(NO_NEW_PRIVS, no_new_privs) | ||
1975 | |||
1976 | TASK_PFA_TEST(SPREAD_PAGE, spread_page) | ||
1977 | TASK_PFA_SET(SPREAD_PAGE, spread_page) | ||
1978 | TASK_PFA_CLEAR(SPREAD_PAGE, spread_page) | ||
1979 | |||
1980 | TASK_PFA_TEST(SPREAD_SLAB, spread_slab) | ||
1981 | TASK_PFA_SET(SPREAD_SLAB, spread_slab) | ||
1982 | TASK_PFA_CLEAR(SPREAD_SLAB, spread_slab) | ||
1971 | 1983 | ||
1972 | /* | 1984 | /* |
1973 | * task->jobctl flags | 1985 | * task->jobctl flags |
@@ -2608,9 +2620,22 @@ static inline void setup_thread_stack(struct task_struct *p, struct task_struct | |||
2608 | task_thread_info(p)->task = p; | 2620 | task_thread_info(p)->task = p; |
2609 | } | 2621 | } |
2610 | 2622 | ||
2623 | /* | ||
2624 | * Return the address of the last usable long on the stack. | ||
2625 | * | ||
2626 | * When the stack grows down, this is just above the thread | ||
2627 | * info struct. Going any lower will corrupt the threadinfo. | ||
2628 | * | ||
2629 | * When the stack grows up, this is the highest address. | ||
2630 | * Beyond that position, we corrupt data on the next page. | ||
2631 | */ | ||
2611 | static inline unsigned long *end_of_stack(struct task_struct *p) | 2632 | static inline unsigned long *end_of_stack(struct task_struct *p) |
2612 | { | 2633 | { |
2634 | #ifdef CONFIG_STACK_GROWSUP | ||
2635 | return (unsigned long *)((unsigned long)task_thread_info(p) + THREAD_SIZE) - 1; | ||
2636 | #else | ||
2613 | return (unsigned long *)(task_thread_info(p) + 1); | 2637 | return (unsigned long *)(task_thread_info(p) + 1); |
2638 | #endif | ||
2614 | } | 2639 | } |
2615 | 2640 | ||
2616 | #endif | 2641 | #endif |
diff --git a/include/linux/seqno-fence.h b/include/linux/seqno-fence.h index 3d6003de4b0d..a1ba6a5ccdd6 100644 --- a/include/linux/seqno-fence.h +++ b/include/linux/seqno-fence.h | |||
@@ -62,6 +62,7 @@ to_seqno_fence(struct fence *fence) | |||
62 | * @context: the execution context this fence is a part of | 62 | * @context: the execution context this fence is a part of |
63 | * @seqno_ofs: the offset within @sync_buf | 63 | * @seqno_ofs: the offset within @sync_buf |
64 | * @seqno: the sequence # to signal on | 64 | * @seqno: the sequence # to signal on |
65 | * @cond: fence wait condition | ||
65 | * @ops: the fence_ops for operations on this seqno fence | 66 | * @ops: the fence_ops for operations on this seqno fence |
66 | * | 67 | * |
67 | * This function initializes a struct seqno_fence with passed parameters, | 68 | * This function initializes a struct seqno_fence with passed parameters, |
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h index e713543336f1..46d188a9947c 100644 --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h | |||
@@ -253,6 +253,7 @@ static inline void spi_unregister_driver(struct spi_driver *sdrv) | |||
253 | * the device whose settings are being modified. | 253 | * the device whose settings are being modified. |
254 | * @transfer: adds a message to the controller's transfer queue. | 254 | * @transfer: adds a message to the controller's transfer queue. |
255 | * @cleanup: frees controller-specific state | 255 | * @cleanup: frees controller-specific state |
256 | * @can_dma: determine whether this master supports DMA | ||
256 | * @queued: whether this master is providing an internal message queue | 257 | * @queued: whether this master is providing an internal message queue |
257 | * @kworker: thread struct for message pump | 258 | * @kworker: thread struct for message pump |
258 | * @kworker_task: pointer to task for message pump kworker thread | 259 | * @kworker_task: pointer to task for message pump kworker thread |
@@ -262,6 +263,7 @@ static inline void spi_unregister_driver(struct spi_driver *sdrv) | |||
262 | * @cur_msg: the currently in-flight message | 263 | * @cur_msg: the currently in-flight message |
263 | * @cur_msg_prepared: spi_prepare_message was called for the currently | 264 | * @cur_msg_prepared: spi_prepare_message was called for the currently |
264 | * in-flight message | 265 | * in-flight message |
266 | * @cur_msg_mapped: message has been mapped for DMA | ||
265 | * @xfer_completion: used by core transfer_one_message() | 267 | * @xfer_completion: used by core transfer_one_message() |
266 | * @busy: message pump is busy | 268 | * @busy: message pump is busy |
267 | * @running: message pump is running | 269 | * @running: message pump is running |
@@ -299,6 +301,10 @@ static inline void spi_unregister_driver(struct spi_driver *sdrv) | |||
299 | * @cs_gpios: Array of GPIOs to use as chip select lines; one per CS | 301 | * @cs_gpios: Array of GPIOs to use as chip select lines; one per CS |
300 | * number. Any individual value may be -ENOENT for CS lines that | 302 | * number. Any individual value may be -ENOENT for CS lines that |
301 | * are not GPIOs (driven by the SPI controller itself). | 303 | * are not GPIOs (driven by the SPI controller itself). |
304 | * @dma_tx: DMA transmit channel | ||
305 | * @dma_rx: DMA receive channel | ||
306 | * @dummy_rx: dummy receive buffer for full-duplex devices | ||
307 | * @dummy_tx: dummy transmit buffer for full-duplex devices | ||
302 | * | 308 | * |
303 | * Each SPI master controller can communicate with one or more @spi_device | 309 | * Each SPI master controller can communicate with one or more @spi_device |
304 | * children. These make a small bus, sharing MOSI, MISO and SCK signals | 310 | * children. These make a small bus, sharing MOSI, MISO and SCK signals |
@@ -632,6 +638,7 @@ struct spi_transfer { | |||
632 | * addresses for each transfer buffer | 638 | * addresses for each transfer buffer |
633 | * @complete: called to report transaction completions | 639 | * @complete: called to report transaction completions |
634 | * @context: the argument to complete() when it's called | 640 | * @context: the argument to complete() when it's called |
641 | * @frame_length: the total number of bytes in the message | ||
635 | * @actual_length: the total number of bytes that were transferred in all | 642 | * @actual_length: the total number of bytes that were transferred in all |
636 | * successful segments | 643 | * successful segments |
637 | * @status: zero for success, else negative errno | 644 | * @status: zero for success, else negative errno |
diff --git a/include/linux/tick.h b/include/linux/tick.h index 059052306831..9a82c7dc3fdd 100644 --- a/include/linux/tick.h +++ b/include/linux/tick.h | |||
@@ -183,13 +183,8 @@ static inline bool tick_nohz_full_cpu(int cpu) | |||
183 | 183 | ||
184 | extern void tick_nohz_init(void); | 184 | extern void tick_nohz_init(void); |
185 | extern void __tick_nohz_full_check(void); | 185 | extern void __tick_nohz_full_check(void); |
186 | extern void tick_nohz_full_kick(void); | ||
186 | extern void tick_nohz_full_kick_cpu(int cpu); | 187 | extern void tick_nohz_full_kick_cpu(int cpu); |
187 | |||
188 | static inline void tick_nohz_full_kick(void) | ||
189 | { | ||
190 | tick_nohz_full_kick_cpu(smp_processor_id()); | ||
191 | } | ||
192 | |||
193 | extern void tick_nohz_full_kick_all(void); | 188 | extern void tick_nohz_full_kick_all(void); |
194 | extern void __tick_nohz_task_switch(struct task_struct *tsk); | 189 | extern void __tick_nohz_task_switch(struct task_struct *tsk); |
195 | #else | 190 | #else |
diff --git a/include/linux/uio.h b/include/linux/uio.h index 48d64e6ab292..290fbf0b6b8a 100644 --- a/include/linux/uio.h +++ b/include/linux/uio.h | |||
@@ -84,7 +84,7 @@ unsigned long iov_iter_alignment(const struct iov_iter *i); | |||
84 | void iov_iter_init(struct iov_iter *i, int direction, const struct iovec *iov, | 84 | void iov_iter_init(struct iov_iter *i, int direction, const struct iovec *iov, |
85 | unsigned long nr_segs, size_t count); | 85 | unsigned long nr_segs, size_t count); |
86 | ssize_t iov_iter_get_pages(struct iov_iter *i, struct page **pages, | 86 | ssize_t iov_iter_get_pages(struct iov_iter *i, struct page **pages, |
87 | unsigned maxpages, size_t *start); | 87 | size_t maxsize, unsigned maxpages, size_t *start); |
88 | ssize_t iov_iter_get_pages_alloc(struct iov_iter *i, struct page ***pages, | 88 | ssize_t iov_iter_get_pages_alloc(struct iov_iter *i, struct page ***pages, |
89 | size_t maxsize, size_t *start); | 89 | size_t maxsize, size_t *start); |
90 | int iov_iter_npages(const struct iov_iter *i, int maxpages); | 90 | int iov_iter_npages(const struct iov_iter *i, int maxpages); |
diff --git a/include/linux/vga_switcheroo.h b/include/linux/vga_switcheroo.h index 502073a53dd3..b483abd34493 100644 --- a/include/linux/vga_switcheroo.h +++ b/include/linux/vga_switcheroo.h | |||
@@ -64,6 +64,7 @@ int vga_switcheroo_get_client_state(struct pci_dev *dev); | |||
64 | void vga_switcheroo_set_dynamic_switch(struct pci_dev *pdev, enum vga_switcheroo_state dynamic); | 64 | void vga_switcheroo_set_dynamic_switch(struct pci_dev *pdev, enum vga_switcheroo_state dynamic); |
65 | 65 | ||
66 | int vga_switcheroo_init_domain_pm_ops(struct device *dev, struct dev_pm_domain *domain); | 66 | int vga_switcheroo_init_domain_pm_ops(struct device *dev, struct dev_pm_domain *domain); |
67 | void vga_switcheroo_fini_domain_pm_ops(struct device *dev); | ||
67 | int vga_switcheroo_init_domain_pm_optimus_hdmi_audio(struct device *dev, struct dev_pm_domain *domain); | 68 | int vga_switcheroo_init_domain_pm_optimus_hdmi_audio(struct device *dev, struct dev_pm_domain *domain); |
68 | #else | 69 | #else |
69 | 70 | ||
@@ -82,6 +83,7 @@ static inline int vga_switcheroo_get_client_state(struct pci_dev *dev) { return | |||
82 | static inline void vga_switcheroo_set_dynamic_switch(struct pci_dev *pdev, enum vga_switcheroo_state dynamic) {} | 83 | static inline void vga_switcheroo_set_dynamic_switch(struct pci_dev *pdev, enum vga_switcheroo_state dynamic) {} |
83 | 84 | ||
84 | static inline int vga_switcheroo_init_domain_pm_ops(struct device *dev, struct dev_pm_domain *domain) { return -EINVAL; } | 85 | static inline int vga_switcheroo_init_domain_pm_ops(struct device *dev, struct dev_pm_domain *domain) { return -EINVAL; } |
86 | static inline void vga_switcheroo_fini_domain_pm_ops(struct device *dev) {} | ||
85 | static inline int vga_switcheroo_init_domain_pm_optimus_hdmi_audio(struct device *dev, struct dev_pm_domain *domain) { return -EINVAL; } | 87 | static inline int vga_switcheroo_init_domain_pm_optimus_hdmi_audio(struct device *dev, struct dev_pm_domain *domain) { return -EINVAL; } |
86 | 88 | ||
87 | #endif | 89 | #endif |
diff --git a/include/linux/vgaarb.h b/include/linux/vgaarb.h index 2c02f3a8d2ba..c37bd4d06739 100644 --- a/include/linux/vgaarb.h +++ b/include/linux/vgaarb.h | |||
@@ -182,7 +182,6 @@ extern void vga_put(struct pci_dev *pdev, unsigned int rsrc); | |||
182 | * vga_get()... | 182 | * vga_get()... |
183 | */ | 183 | */ |
184 | 184 | ||
185 | #ifndef __ARCH_HAS_VGA_DEFAULT_DEVICE | ||
186 | #ifdef CONFIG_VGA_ARB | 185 | #ifdef CONFIG_VGA_ARB |
187 | extern struct pci_dev *vga_default_device(void); | 186 | extern struct pci_dev *vga_default_device(void); |
188 | extern void vga_set_default_device(struct pci_dev *pdev); | 187 | extern void vga_set_default_device(struct pci_dev *pdev); |
@@ -190,7 +189,6 @@ extern void vga_set_default_device(struct pci_dev *pdev); | |||
190 | static inline struct pci_dev *vga_default_device(void) { return NULL; }; | 189 | static inline struct pci_dev *vga_default_device(void) { return NULL; }; |
191 | static inline void vga_set_default_device(struct pci_dev *pdev) { }; | 190 | static inline void vga_set_default_device(struct pci_dev *pdev) { }; |
192 | #endif | 191 | #endif |
193 | #endif | ||
194 | 192 | ||
195 | /** | 193 | /** |
196 | * vga_conflicts | 194 | * vga_conflicts |
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index a0cc2e95ed1b..b996e6cde6bb 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h | |||
@@ -419,7 +419,7 @@ __alloc_workqueue_key(const char *fmt, unsigned int flags, int max_active, | |||
419 | alloc_workqueue("%s", WQ_FREEZABLE | WQ_UNBOUND | WQ_MEM_RECLAIM, \ | 419 | alloc_workqueue("%s", WQ_FREEZABLE | WQ_UNBOUND | WQ_MEM_RECLAIM, \ |
420 | 1, (name)) | 420 | 1, (name)) |
421 | #define create_singlethread_workqueue(name) \ | 421 | #define create_singlethread_workqueue(name) \ |
422 | alloc_workqueue("%s", WQ_UNBOUND | WQ_MEM_RECLAIM, 1, (name)) | 422 | alloc_ordered_workqueue("%s", WQ_MEM_RECLAIM, name) |
423 | 423 | ||
424 | extern void destroy_workqueue(struct workqueue_struct *wq); | 424 | extern void destroy_workqueue(struct workqueue_struct *wq); |
425 | 425 | ||
diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h index fc910a622451..2fefcf491aa8 100644 --- a/include/media/videobuf2-core.h +++ b/include/media/videobuf2-core.h | |||
@@ -295,7 +295,7 @@ struct vb2_buffer { | |||
295 | * can return an error if hardware fails, in that case all | 295 | * can return an error if hardware fails, in that case all |
296 | * buffers that have been already given by the @buf_queue | 296 | * buffers that have been already given by the @buf_queue |
297 | * callback are to be returned by the driver by calling | 297 | * callback are to be returned by the driver by calling |
298 | * @vb2_buffer_done(VB2_BUF_STATE_DEQUEUED). | 298 | * @vb2_buffer_done(VB2_BUF_STATE_QUEUED). |
299 | * If you need a minimum number of buffers before you can | 299 | * If you need a minimum number of buffers before you can |
300 | * start streaming, then set @min_buffers_needed in the | 300 | * start streaming, then set @min_buffers_needed in the |
301 | * vb2_queue structure. If that is non-zero then | 301 | * vb2_queue structure. If that is non-zero then |
@@ -380,6 +380,9 @@ struct v4l2_fh; | |||
380 | * @start_streaming_called: start_streaming() was called successfully and we | 380 | * @start_streaming_called: start_streaming() was called successfully and we |
381 | * started streaming. | 381 | * started streaming. |
382 | * @error: a fatal error occurred on the queue | 382 | * @error: a fatal error occurred on the queue |
383 | * @waiting_for_buffers: used in poll() to check if vb2 is still waiting for | ||
384 | * buffers. Only set for capture queues if qbuf has not yet been | ||
385 | * called since poll() needs to return POLLERR in that situation. | ||
383 | * @fileio: file io emulator internal data, used only if emulator is active | 386 | * @fileio: file io emulator internal data, used only if emulator is active |
384 | * @threadio: thread io internal data, used only if thread is active | 387 | * @threadio: thread io internal data, used only if thread is active |
385 | */ | 388 | */ |
@@ -417,6 +420,7 @@ struct vb2_queue { | |||
417 | unsigned int streaming:1; | 420 | unsigned int streaming:1; |
418 | unsigned int start_streaming_called:1; | 421 | unsigned int start_streaming_called:1; |
419 | unsigned int error:1; | 422 | unsigned int error:1; |
423 | unsigned int waiting_for_buffers:1; | ||
420 | 424 | ||
421 | struct vb2_fileio_data *fileio; | 425 | struct vb2_fileio_data *fileio; |
422 | struct vb2_threadio_data *threadio; | 426 | struct vb2_threadio_data *threadio; |
diff --git a/include/net/addrconf.h b/include/net/addrconf.h index f679877bb601..ec51e673b4b6 100644 --- a/include/net/addrconf.h +++ b/include/net/addrconf.h | |||
@@ -204,6 +204,7 @@ void ipv6_sock_ac_close(struct sock *sk); | |||
204 | 204 | ||
205 | int ipv6_dev_ac_inc(struct net_device *dev, const struct in6_addr *addr); | 205 | int ipv6_dev_ac_inc(struct net_device *dev, const struct in6_addr *addr); |
206 | int __ipv6_dev_ac_dec(struct inet6_dev *idev, const struct in6_addr *addr); | 206 | int __ipv6_dev_ac_dec(struct inet6_dev *idev, const struct in6_addr *addr); |
207 | void ipv6_ac_destroy_dev(struct inet6_dev *idev); | ||
207 | bool ipv6_chk_acast_addr(struct net *net, struct net_device *dev, | 208 | bool ipv6_chk_acast_addr(struct net *net, struct net_device *dev, |
208 | const struct in6_addr *addr); | 209 | const struct in6_addr *addr); |
209 | bool ipv6_chk_acast_addr_src(struct net *net, struct net_device *dev, | 210 | bool ipv6_chk_acast_addr_src(struct net *net, struct net_device *dev, |
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index b5d5af3aa469..6f884e6c731e 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h | |||
@@ -464,6 +464,8 @@ struct hci_conn_params { | |||
464 | HCI_AUTO_CONN_ALWAYS, | 464 | HCI_AUTO_CONN_ALWAYS, |
465 | HCI_AUTO_CONN_LINK_LOSS, | 465 | HCI_AUTO_CONN_LINK_LOSS, |
466 | } auto_connect; | 466 | } auto_connect; |
467 | |||
468 | struct hci_conn *conn; | ||
467 | }; | 469 | }; |
468 | 470 | ||
469 | extern struct list_head hci_dev_list; | 471 | extern struct list_head hci_dev_list; |
diff --git a/include/net/dst.h b/include/net/dst.h index 71c60f42be48..a8ae4e760778 100644 --- a/include/net/dst.h +++ b/include/net/dst.h | |||
@@ -480,6 +480,7 @@ void dst_init(void); | |||
480 | /* Flags for xfrm_lookup flags argument. */ | 480 | /* Flags for xfrm_lookup flags argument. */ |
481 | enum { | 481 | enum { |
482 | XFRM_LOOKUP_ICMP = 1 << 0, | 482 | XFRM_LOOKUP_ICMP = 1 << 0, |
483 | XFRM_LOOKUP_QUEUE = 1 << 1, | ||
483 | }; | 484 | }; |
484 | 485 | ||
485 | struct flowi; | 486 | struct flowi; |
@@ -490,7 +491,16 @@ static inline struct dst_entry *xfrm_lookup(struct net *net, | |||
490 | int flags) | 491 | int flags) |
491 | { | 492 | { |
492 | return dst_orig; | 493 | return dst_orig; |
493 | } | 494 | } |
495 | |||
496 | static inline struct dst_entry *xfrm_lookup_route(struct net *net, | ||
497 | struct dst_entry *dst_orig, | ||
498 | const struct flowi *fl, | ||
499 | struct sock *sk, | ||
500 | int flags) | ||
501 | { | ||
502 | return dst_orig; | ||
503 | } | ||
494 | 504 | ||
495 | static inline struct xfrm_state *dst_xfrm(const struct dst_entry *dst) | 505 | static inline struct xfrm_state *dst_xfrm(const struct dst_entry *dst) |
496 | { | 506 | { |
@@ -502,6 +512,10 @@ struct dst_entry *xfrm_lookup(struct net *net, struct dst_entry *dst_orig, | |||
502 | const struct flowi *fl, struct sock *sk, | 512 | const struct flowi *fl, struct sock *sk, |
503 | int flags); | 513 | int flags); |
504 | 514 | ||
515 | struct dst_entry *xfrm_lookup_route(struct net *net, struct dst_entry *dst_orig, | ||
516 | const struct flowi *fl, struct sock *sk, | ||
517 | int flags); | ||
518 | |||
505 | /* skb attached with this dst needs transformation if dst->xfrm is valid */ | 519 | /* skb attached with this dst needs transformation if dst->xfrm is valid */ |
506 | static inline struct xfrm_state *dst_xfrm(const struct dst_entry *dst) | 520 | static inline struct xfrm_state *dst_xfrm(const struct dst_entry *dst) |
507 | { | 521 | { |
diff --git a/include/net/genetlink.h b/include/net/genetlink.h index 93695f0e22a5..af10c2cf8a1d 100644 --- a/include/net/genetlink.h +++ b/include/net/genetlink.h | |||
@@ -394,4 +394,12 @@ static inline int genl_set_err(struct genl_family *family, struct net *net, | |||
394 | return netlink_set_err(net->genl_sock, portid, group, code); | 394 | return netlink_set_err(net->genl_sock, portid, group, code); |
395 | } | 395 | } |
396 | 396 | ||
397 | static inline int genl_has_listeners(struct genl_family *family, | ||
398 | struct sock *sk, unsigned int group) | ||
399 | { | ||
400 | if (WARN_ON_ONCE(group >= family->n_mcgrps)) | ||
401 | return -EINVAL; | ||
402 | group = family->mcgrp_offset + group; | ||
403 | return netlink_has_listeners(sk, group); | ||
404 | } | ||
397 | #endif /* __NET_GENERIC_NETLINK_H */ | 405 | #endif /* __NET_GENERIC_NETLINK_H */ |
diff --git a/include/net/netns/ieee802154_6lowpan.h b/include/net/netns/ieee802154_6lowpan.h index e2070960bac0..8170f8d7052b 100644 --- a/include/net/netns/ieee802154_6lowpan.h +++ b/include/net/netns/ieee802154_6lowpan.h | |||
@@ -16,7 +16,6 @@ struct netns_sysctl_lowpan { | |||
16 | struct netns_ieee802154_lowpan { | 16 | struct netns_ieee802154_lowpan { |
17 | struct netns_sysctl_lowpan sysctl; | 17 | struct netns_sysctl_lowpan sysctl; |
18 | struct netns_frags frags; | 18 | struct netns_frags frags; |
19 | int max_dsize; | ||
20 | }; | 19 | }; |
21 | 20 | ||
22 | #endif | 21 | #endif |
diff --git a/include/net/regulatory.h b/include/net/regulatory.h index 259992444e80..dad7ab20a8cb 100644 --- a/include/net/regulatory.h +++ b/include/net/regulatory.h | |||
@@ -167,7 +167,7 @@ struct ieee80211_reg_rule { | |||
167 | struct ieee80211_regdomain { | 167 | struct ieee80211_regdomain { |
168 | struct rcu_head rcu_head; | 168 | struct rcu_head rcu_head; |
169 | u32 n_reg_rules; | 169 | u32 n_reg_rules; |
170 | char alpha2[2]; | 170 | char alpha2[3]; |
171 | enum nl80211_dfs_regions dfs_region; | 171 | enum nl80211_dfs_regions dfs_region; |
172 | struct ieee80211_reg_rule reg_rules[]; | 172 | struct ieee80211_reg_rule reg_rules[]; |
173 | }; | 173 | }; |
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index a3cfb8ebeb53..620e086c0cbe 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h | |||
@@ -231,7 +231,8 @@ struct qdisc_skb_cb { | |||
231 | unsigned int pkt_len; | 231 | unsigned int pkt_len; |
232 | u16 slave_dev_queue_mapping; | 232 | u16 slave_dev_queue_mapping; |
233 | u16 _pad; | 233 | u16 _pad; |
234 | unsigned char data[24]; | 234 | #define QDISC_CB_PRIV_LEN 20 |
235 | unsigned char data[QDISC_CB_PRIV_LEN]; | ||
235 | }; | 236 | }; |
236 | 237 | ||
237 | static inline void qdisc_cb_private_validate(const struct sk_buff *skb, int sz) | 238 | static inline void qdisc_cb_private_validate(const struct sk_buff *skb, int sz) |
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index f6e7397e799d..9fbd856e6713 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h | |||
@@ -320,6 +320,19 @@ static inline sctp_assoc_t sctp_assoc2id(const struct sctp_association *asoc) | |||
320 | return asoc ? asoc->assoc_id : 0; | 320 | return asoc ? asoc->assoc_id : 0; |
321 | } | 321 | } |
322 | 322 | ||
323 | static inline enum sctp_sstat_state | ||
324 | sctp_assoc_to_state(const struct sctp_association *asoc) | ||
325 | { | ||
326 | /* SCTP's uapi always had SCTP_EMPTY(=0) as a dummy state, but we | ||
327 | * got rid of it in kernel space. Therefore SCTP_CLOSED et al | ||
328 | * start at =1 in user space, but actually as =0 in kernel space. | ||
329 | * Now that we can not break user space and SCTP_EMPTY is exposed | ||
330 | * there, we need to fix it up with an ugly offset not to break | ||
331 | * applications. :( | ||
332 | */ | ||
333 | return asoc->state + 1; | ||
334 | } | ||
335 | |||
323 | /* Look up the association by its id. */ | 336 | /* Look up the association by its id. */ |
324 | struct sctp_association *sctp_id2assoc(struct sock *sk, sctp_assoc_t id); | 337 | struct sctp_association *sctp_id2assoc(struct sock *sk, sctp_assoc_t id); |
325 | 338 | ||
diff --git a/include/net/sock.h b/include/net/sock.h index 7f2ab72f321a..b9a5bd0ed9f3 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -2165,9 +2165,7 @@ sock_recv_timestamp(struct msghdr *msg, struct sock *sk, struct sk_buff *skb) | |||
2165 | */ | 2165 | */ |
2166 | if (sock_flag(sk, SOCK_RCVTSTAMP) || | 2166 | if (sock_flag(sk, SOCK_RCVTSTAMP) || |
2167 | (sk->sk_tsflags & SOF_TIMESTAMPING_RX_SOFTWARE) || | 2167 | (sk->sk_tsflags & SOF_TIMESTAMPING_RX_SOFTWARE) || |
2168 | (kt.tv64 && | 2168 | (kt.tv64 && sk->sk_tsflags & SOF_TIMESTAMPING_SOFTWARE) || |
2169 | (sk->sk_tsflags & SOF_TIMESTAMPING_SOFTWARE || | ||
2170 | skb_shinfo(skb)->tx_flags & SKBTX_ANY_SW_TSTAMP)) || | ||
2171 | (hwtstamps->hwtstamp.tv64 && | 2169 | (hwtstamps->hwtstamp.tv64 && |
2172 | (sk->sk_tsflags & SOF_TIMESTAMPING_RAW_HARDWARE))) | 2170 | (sk->sk_tsflags & SOF_TIMESTAMPING_RAW_HARDWARE))) |
2173 | __sock_recv_timestamp(msg, sk, skb); | 2171 | __sock_recv_timestamp(msg, sk, skb); |
diff --git a/include/net/wimax.h b/include/net/wimax.h index e52ef5357e08..c52b68577cb0 100644 --- a/include/net/wimax.h +++ b/include/net/wimax.h | |||
@@ -290,7 +290,7 @@ struct wimax_dev; | |||
290 | * This operation has to be synchronous, and return only when the | 290 | * This operation has to be synchronous, and return only when the |
291 | * reset is complete. In case of having had to resort to bus/cold | 291 | * reset is complete. In case of having had to resort to bus/cold |
292 | * reset implying a device disconnection, the call is allowed to | 292 | * reset implying a device disconnection, the call is allowed to |
293 | * return inmediately. | 293 | * return immediately. |
294 | * NOTE: wimax_dev->mutex is NOT locked when this op is being | 294 | * NOTE: wimax_dev->mutex is NOT locked when this op is being |
295 | * called; however, wimax_dev->mutex_reset IS locked to ensure | 295 | * called; however, wimax_dev->mutex_reset IS locked to ensure |
296 | * serialization of calls to wimax_reset(). | 296 | * serialization of calls to wimax_reset(). |
diff --git a/include/rdma/ib_umem.h b/include/rdma/ib_umem.h index 1ea0b65c4cfb..a2bf41e0bde9 100644 --- a/include/rdma/ib_umem.h +++ b/include/rdma/ib_umem.h | |||
@@ -47,6 +47,7 @@ struct ib_umem { | |||
47 | int writable; | 47 | int writable; |
48 | int hugetlb; | 48 | int hugetlb; |
49 | struct work_struct work; | 49 | struct work_struct work; |
50 | struct pid *pid; | ||
50 | struct mm_struct *mm; | 51 | struct mm_struct *mm; |
51 | unsigned long diff; | 52 | unsigned long diff; |
52 | struct sg_table sg_head; | 53 | struct sg_table sg_head; |
diff --git a/include/scsi/scsi_tcq.h b/include/scsi/scsi_tcq.h index cdcc90b07ecb..e64583560701 100644 --- a/include/scsi/scsi_tcq.h +++ b/include/scsi/scsi_tcq.h | |||
@@ -68,7 +68,7 @@ static inline void scsi_activate_tcq(struct scsi_device *sdev, int depth) | |||
68 | return; | 68 | return; |
69 | 69 | ||
70 | if (!shost_use_blk_mq(sdev->host) && | 70 | if (!shost_use_blk_mq(sdev->host) && |
71 | blk_queue_tagged(sdev->request_queue)) | 71 | !blk_queue_tagged(sdev->request_queue)) |
72 | blk_queue_init_tags(sdev->request_queue, depth, | 72 | blk_queue_init_tags(sdev->request_queue, depth, |
73 | sdev->host->bqt); | 73 | sdev->host->bqt); |
74 | 74 | ||
diff --git a/include/sound/soc.h b/include/sound/soc.h index be6ecae247b0..c83a334dd00f 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h | |||
@@ -277,7 +277,7 @@ | |||
277 | .access = SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE | \ | 277 | .access = SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE | \ |
278 | SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK, \ | 278 | SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK, \ |
279 | .tlv.c = (snd_soc_bytes_tlv_callback), \ | 279 | .tlv.c = (snd_soc_bytes_tlv_callback), \ |
280 | .info = snd_soc_info_bytes_ext, \ | 280 | .info = snd_soc_bytes_info_ext, \ |
281 | .private_value = (unsigned long)&(struct soc_bytes_ext) \ | 281 | .private_value = (unsigned long)&(struct soc_bytes_ext) \ |
282 | {.max = xcount, .get = xhandler_get, .put = xhandler_put, } } | 282 | {.max = xcount, .get = xhandler_get, .put = xhandler_put, } } |
283 | #define SOC_SINGLE_XR_SX(xname, xregbase, xregcount, xnbits, \ | 283 | #define SOC_SINGLE_XR_SX(xname, xregbase, xregcount, xnbits, \ |
diff --git a/include/trace/events/irq.h b/include/trace/events/irq.h index 1c09820df585..3608bebd3d9c 100644 --- a/include/trace/events/irq.h +++ b/include/trace/events/irq.h | |||
@@ -107,7 +107,7 @@ DECLARE_EVENT_CLASS(softirq, | |||
107 | * @vec_nr: softirq vector number | 107 | * @vec_nr: softirq vector number |
108 | * | 108 | * |
109 | * When used in combination with the softirq_exit tracepoint | 109 | * When used in combination with the softirq_exit tracepoint |
110 | * we can determine the softirq handler runtine. | 110 | * we can determine the softirq handler routine. |
111 | */ | 111 | */ |
112 | DEFINE_EVENT(softirq, softirq_entry, | 112 | DEFINE_EVENT(softirq, softirq_entry, |
113 | 113 | ||
@@ -121,7 +121,7 @@ DEFINE_EVENT(softirq, softirq_entry, | |||
121 | * @vec_nr: softirq vector number | 121 | * @vec_nr: softirq vector number |
122 | * | 122 | * |
123 | * When used in combination with the softirq_entry tracepoint | 123 | * When used in combination with the softirq_entry tracepoint |
124 | * we can determine the softirq handler runtine. | 124 | * we can determine the softirq handler routine. |
125 | */ | 125 | */ |
126 | DEFINE_EVENT(softirq, softirq_exit, | 126 | DEFINE_EVENT(softirq, softirq_exit, |
127 | 127 | ||
diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h index f1afd607f043..11d11bc5c78f 100644 --- a/include/uapi/asm-generic/unistd.h +++ b/include/uapi/asm-generic/unistd.h | |||
@@ -703,9 +703,11 @@ __SYSCALL(__NR_renameat2, sys_renameat2) | |||
703 | __SYSCALL(__NR_seccomp, sys_seccomp) | 703 | __SYSCALL(__NR_seccomp, sys_seccomp) |
704 | #define __NR_getrandom 278 | 704 | #define __NR_getrandom 278 |
705 | __SYSCALL(__NR_getrandom, sys_getrandom) | 705 | __SYSCALL(__NR_getrandom, sys_getrandom) |
706 | #define __NR_memfd_create 279 | ||
707 | __SYSCALL(__NR_memfd_create, sys_memfd_create) | ||
706 | 708 | ||
707 | #undef __NR_syscalls | 709 | #undef __NR_syscalls |
708 | #define __NR_syscalls 279 | 710 | #define __NR_syscalls 280 |
709 | 711 | ||
710 | /* | 712 | /* |
711 | * All syscalls below here should go away really, | 713 | * All syscalls below here should go away really, |
diff --git a/include/uapi/drm/radeon_drm.h b/include/uapi/drm/radeon_drm.h index 509b2d7a41b7..fea6099608ef 100644 --- a/include/uapi/drm/radeon_drm.h +++ b/include/uapi/drm/radeon_drm.h | |||
@@ -944,6 +944,7 @@ struct drm_radeon_cs_chunk { | |||
944 | }; | 944 | }; |
945 | 945 | ||
946 | /* drm_radeon_cs_reloc.flags */ | 946 | /* drm_radeon_cs_reloc.flags */ |
947 | #define RADEON_RELOC_PRIO_MASK (0xf << 0) | ||
947 | 948 | ||
948 | struct drm_radeon_cs_reloc { | 949 | struct drm_radeon_cs_reloc { |
949 | uint32_t handle; | 950 | uint32_t handle; |
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 24e9033f8b3f..be88166349a1 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild | |||
@@ -240,6 +240,7 @@ header-y += matroxfb.h | |||
240 | header-y += mdio.h | 240 | header-y += mdio.h |
241 | header-y += media.h | 241 | header-y += media.h |
242 | header-y += mei.h | 242 | header-y += mei.h |
243 | header-y += memfd.h | ||
243 | header-y += mempolicy.h | 244 | header-y += mempolicy.h |
244 | header-y += meye.h | 245 | header-y += meye.h |
245 | header-y += mic_common.h | 246 | header-y += mic_common.h |
@@ -395,6 +396,7 @@ header-y += un.h | |||
395 | header-y += unistd.h | 396 | header-y += unistd.h |
396 | header-y += unix_diag.h | 397 | header-y += unix_diag.h |
397 | header-y += usbdevice_fs.h | 398 | header-y += usbdevice_fs.h |
399 | header-y += usbip.h | ||
398 | header-y += utime.h | 400 | header-y += utime.h |
399 | header-y += utsname.h | 401 | header-y += utsname.h |
400 | header-y += uuid.h | 402 | header-y += uuid.h |
diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h index 19df18c9b8be..1874ebe9ac1e 100644 --- a/include/uapi/linux/input.h +++ b/include/uapi/linux/input.h | |||
@@ -165,6 +165,7 @@ struct input_keymap_entry { | |||
165 | #define INPUT_PROP_BUTTONPAD 0x02 /* has button(s) under pad */ | 165 | #define INPUT_PROP_BUTTONPAD 0x02 /* has button(s) under pad */ |
166 | #define INPUT_PROP_SEMI_MT 0x03 /* touch rectangle only */ | 166 | #define INPUT_PROP_SEMI_MT 0x03 /* touch rectangle only */ |
167 | #define INPUT_PROP_TOPBUTTONPAD 0x04 /* softbuttons at top of pad */ | 167 | #define INPUT_PROP_TOPBUTTONPAD 0x04 /* softbuttons at top of pad */ |
168 | #define INPUT_PROP_POINTING_STICK 0x05 /* is a pointing stick */ | ||
168 | 169 | ||
169 | #define INPUT_PROP_MAX 0x1f | 170 | #define INPUT_PROP_MAX 0x1f |
170 | #define INPUT_PROP_CNT (INPUT_PROP_MAX + 1) | 171 | #define INPUT_PROP_CNT (INPUT_PROP_MAX + 1) |
diff --git a/include/uapi/linux/usbip.h b/include/uapi/linux/usbip.h new file mode 100644 index 000000000000..fa5db30ede36 --- /dev/null +++ b/include/uapi/linux/usbip.h | |||
@@ -0,0 +1,26 @@ | |||
1 | /* | ||
2 | * usbip.h | ||
3 | * | ||
4 | * USBIP uapi defines and function prototypes etc. | ||
5 | */ | ||
6 | |||
7 | #ifndef _UAPI_LINUX_USBIP_H | ||
8 | #define _UAPI_LINUX_USBIP_H | ||
9 | |||
10 | /* usbip device status - exported in usbip device sysfs status */ | ||
11 | enum usbip_device_status { | ||
12 | /* sdev is available. */ | ||
13 | SDEV_ST_AVAILABLE = 0x01, | ||
14 | /* sdev is now used. */ | ||
15 | SDEV_ST_USED, | ||
16 | /* sdev is unusable because of a fatal error. */ | ||
17 | SDEV_ST_ERROR, | ||
18 | |||
19 | /* vdev does not connect a remote device. */ | ||
20 | VDEV_ST_NULL, | ||
21 | /* vdev is used, but the USB address is not assigned yet */ | ||
22 | VDEV_ST_NOTASSIGNED, | ||
23 | VDEV_ST_USED, | ||
24 | VDEV_ST_ERROR | ||
25 | }; | ||
26 | #endif /* _UAPI_LINUX_USBIP_H */ | ||
diff --git a/include/uapi/linux/xattr.h b/include/uapi/linux/xattr.h index c38355c1f3c9..1590c49cae57 100644 --- a/include/uapi/linux/xattr.h +++ b/include/uapi/linux/xattr.h | |||
@@ -13,7 +13,7 @@ | |||
13 | #ifndef _UAPI_LINUX_XATTR_H | 13 | #ifndef _UAPI_LINUX_XATTR_H |
14 | #define _UAPI_LINUX_XATTR_H | 14 | #define _UAPI_LINUX_XATTR_H |
15 | 15 | ||
16 | #ifdef __UAPI_DEF_XATTR | 16 | #if __UAPI_DEF_XATTR |
17 | #define __USE_KERNEL_XATTR_DEFS | 17 | #define __USE_KERNEL_XATTR_DEFS |
18 | 18 | ||
19 | #define XATTR_CREATE 0x1 /* set value, fail if attr already exists */ | 19 | #define XATTR_CREATE 0x1 /* set value, fail if attr already exists */ |
diff --git a/include/xen/interface/features.h b/include/xen/interface/features.h index 131a6ccdba25..14334d0161d5 100644 --- a/include/xen/interface/features.h +++ b/include/xen/interface/features.h | |||
@@ -53,6 +53,9 @@ | |||
53 | /* operation as Dom0 is supported */ | 53 | /* operation as Dom0 is supported */ |
54 | #define XENFEAT_dom0 11 | 54 | #define XENFEAT_dom0 11 |
55 | 55 | ||
56 | /* Xen also maps grant references at pfn = mfn */ | ||
57 | #define XENFEAT_grant_map_identity 12 | ||
58 | |||
56 | #define XENFEAT_NR_SUBMAPS 1 | 59 | #define XENFEAT_NR_SUBMAPS 1 |
57 | 60 | ||
58 | #endif /* __XEN_PUBLIC_FEATURES_H__ */ | 61 | #endif /* __XEN_PUBLIC_FEATURES_H__ */ |