diff options
| author | Mark Brown <broonie@linaro.org> | 2014-04-29 13:01:28 -0400 |
|---|---|---|
| committer | Mark Brown <broonie@linaro.org> | 2014-04-29 13:01:28 -0400 |
| commit | 3e93457b45a1a8c69227ce596ee2005fa06f20dd (patch) | |
| tree | 248c27e432533b1af80a9b2240eaa8e48e3b87cc /include/linux | |
| parent | 290414499cf94284a97cc3c33214d13ccfcd896a (diff) | |
| parent | c42ba72ec3a7a1b6aa30122931f1f4b91b601c31 (diff) | |
Merge tag 'ib-mfd-regulator-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into regulator-tps65090
Immutable branch between MFD and Regulator due for v3.16 merge-window.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/device.h | 11 | ||||
| -rw-r--r-- | include/linux/filter.h | 1 | ||||
| -rw-r--r-- | include/linux/hyperv.h | 4 | ||||
| -rw-r--r-- | include/linux/ipmi.h | 2 | ||||
| -rw-r--r-- | include/linux/ipmi_smi.h | 11 | ||||
| -rw-r--r-- | include/linux/mdio-gpio.h | 5 | ||||
| -rw-r--r-- | include/linux/mfd/tps65090.h | 14 | ||||
| -rw-r--r-- | include/linux/mlx5/device.h | 1 | ||||
| -rw-r--r-- | include/linux/mlx5/qp.h | 1 | ||||
| -rw-r--r-- | include/linux/mtd/spear_smi.h | 2 | ||||
| -rw-r--r-- | include/linux/netfilter/nf_conntrack_proto_gre.h | 1 | ||||
| -rw-r--r-- | include/linux/of.h | 5 | ||||
| -rw-r--r-- | include/linux/phy.h | 3 | ||||
| -rw-r--r-- | include/linux/reboot.h | 14 | ||||
| -rw-r--r-- | include/linux/sysfs.h | 9 | ||||
| -rw-r--r-- | include/linux/wait.h | 14 |
16 files changed, 64 insertions, 34 deletions
diff --git a/include/linux/device.h b/include/linux/device.h index 233bbbeb768d..d1d1c055b48e 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
| @@ -566,12 +566,6 @@ extern int __must_check device_create_bin_file(struct device *dev, | |||
| 566 | const struct bin_attribute *attr); | 566 | const struct bin_attribute *attr); |
| 567 | extern void device_remove_bin_file(struct device *dev, | 567 | extern void device_remove_bin_file(struct device *dev, |
| 568 | const struct bin_attribute *attr); | 568 | const struct bin_attribute *attr); |
| 569 | extern int device_schedule_callback_owner(struct device *dev, | ||
| 570 | void (*func)(struct device *dev), struct module *owner); | ||
| 571 | |||
| 572 | /* This is a macro to avoid include problems with THIS_MODULE */ | ||
| 573 | #define device_schedule_callback(dev, func) \ | ||
| 574 | device_schedule_callback_owner(dev, func, THIS_MODULE) | ||
| 575 | 569 | ||
| 576 | /* device resource management */ | 570 | /* device resource management */ |
| 577 | typedef void (*dr_release_t)(struct device *dev, void *res); | 571 | typedef void (*dr_release_t)(struct device *dev, void *res); |
| @@ -932,10 +926,7 @@ extern int device_online(struct device *dev); | |||
| 932 | extern struct device *__root_device_register(const char *name, | 926 | extern struct device *__root_device_register(const char *name, |
| 933 | struct module *owner); | 927 | struct module *owner); |
| 934 | 928 | ||
| 935 | /* | 929 | /* This is a macro to avoid include problems with THIS_MODULE */ |
| 936 | * This is a macro to avoid include problems with THIS_MODULE, | ||
| 937 | * just as per what is done for device_schedule_callback() above. | ||
| 938 | */ | ||
| 939 | #define root_device_register(name) \ | 930 | #define root_device_register(name) \ |
| 940 | __root_device_register(name, THIS_MODULE) | 931 | __root_device_register(name, THIS_MODULE) |
| 941 | 932 | ||
diff --git a/include/linux/filter.h b/include/linux/filter.h index 262dcbb75ffe..024fd03e5d18 100644 --- a/include/linux/filter.h +++ b/include/linux/filter.h | |||
| @@ -220,7 +220,6 @@ enum { | |||
| 220 | BPF_S_ANC_RXHASH, | 220 | BPF_S_ANC_RXHASH, |
| 221 | BPF_S_ANC_CPU, | 221 | BPF_S_ANC_CPU, |
| 222 | BPF_S_ANC_ALU_XOR_X, | 222 | BPF_S_ANC_ALU_XOR_X, |
| 223 | BPF_S_ANC_SECCOMP_LD_W, | ||
| 224 | BPF_S_ANC_VLAN_TAG, | 223 | BPF_S_ANC_VLAN_TAG, |
| 225 | BPF_S_ANC_VLAN_TAG_PRESENT, | 224 | BPF_S_ANC_VLAN_TAG_PRESENT, |
| 226 | BPF_S_ANC_PAY_OFFSET, | 225 | BPF_S_ANC_PAY_OFFSET, |
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h index ab7359fde987..2d7b4f139c32 100644 --- a/include/linux/hyperv.h +++ b/include/linux/hyperv.h | |||
| @@ -147,15 +147,17 @@ hv_get_ringbuffer_availbytes(struct hv_ring_buffer_info *rbi, | |||
| 147 | * 0 . 13 (Windows Server 2008) | 147 | * 0 . 13 (Windows Server 2008) |
| 148 | * 1 . 1 (Windows 7) | 148 | * 1 . 1 (Windows 7) |
| 149 | * 2 . 4 (Windows 8) | 149 | * 2 . 4 (Windows 8) |
| 150 | * 3 . 0 (Windows 8 R2) | ||
| 150 | */ | 151 | */ |
| 151 | 152 | ||
| 152 | #define VERSION_WS2008 ((0 << 16) | (13)) | 153 | #define VERSION_WS2008 ((0 << 16) | (13)) |
| 153 | #define VERSION_WIN7 ((1 << 16) | (1)) | 154 | #define VERSION_WIN7 ((1 << 16) | (1)) |
| 154 | #define VERSION_WIN8 ((2 << 16) | (4)) | 155 | #define VERSION_WIN8 ((2 << 16) | (4)) |
| 156 | #define VERSION_WIN8_1 ((3 << 16) | (0)) | ||
| 155 | 157 | ||
| 156 | #define VERSION_INVAL -1 | 158 | #define VERSION_INVAL -1 |
| 157 | 159 | ||
| 158 | #define VERSION_CURRENT VERSION_WIN8 | 160 | #define VERSION_CURRENT VERSION_WIN8_1 |
| 159 | 161 | ||
| 160 | /* Make maximum size of pipe payload of 16K */ | 162 | /* Make maximum size of pipe payload of 16K */ |
| 161 | #define MAX_PIPE_DATA_PAYLOAD (sizeof(u8) * 16384) | 163 | #define MAX_PIPE_DATA_PAYLOAD (sizeof(u8) * 16384) |
diff --git a/include/linux/ipmi.h b/include/linux/ipmi.h index 1f9f56e28851..76d2acbfa7c6 100644 --- a/include/linux/ipmi.h +++ b/include/linux/ipmi.h | |||
| @@ -237,7 +237,7 @@ int ipmi_set_maintenance_mode(ipmi_user_t user, int mode); | |||
| 237 | * The first user that sets this to TRUE will receive all events that | 237 | * The first user that sets this to TRUE will receive all events that |
| 238 | * have been queued while no one was waiting for events. | 238 | * have been queued while no one was waiting for events. |
| 239 | */ | 239 | */ |
| 240 | int ipmi_set_gets_events(ipmi_user_t user, int val); | 240 | int ipmi_set_gets_events(ipmi_user_t user, bool val); |
| 241 | 241 | ||
| 242 | /* | 242 | /* |
| 243 | * Called when a new SMI is registered. This will also be called on | 243 | * Called when a new SMI is registered. This will also be called on |
diff --git a/include/linux/ipmi_smi.h b/include/linux/ipmi_smi.h index 8ea3fe0b9759..bd349240d50e 100644 --- a/include/linux/ipmi_smi.h +++ b/include/linux/ipmi_smi.h | |||
| @@ -109,12 +109,19 @@ struct ipmi_smi_handlers { | |||
| 109 | events from the BMC we are attached to. */ | 109 | events from the BMC we are attached to. */ |
| 110 | void (*request_events)(void *send_info); | 110 | void (*request_events)(void *send_info); |
| 111 | 111 | ||
| 112 | /* Called by the upper layer when some user requires that the | ||
| 113 | interface watch for events, received messages, watchdog | ||
| 114 | pretimeouts, or not. Used by the SMI to know if it should | ||
| 115 | watch for these. This may be NULL if the SMI does not | ||
| 116 | implement it. */ | ||
| 117 | void (*set_need_watch)(void *send_info, bool enable); | ||
| 118 | |||
| 112 | /* Called when the interface should go into "run to | 119 | /* Called when the interface should go into "run to |
| 113 | completion" mode. If this call sets the value to true, the | 120 | completion" mode. If this call sets the value to true, the |
| 114 | interface should make sure that all messages are flushed | 121 | interface should make sure that all messages are flushed |
| 115 | out and that none are pending, and any new requests are run | 122 | out and that none are pending, and any new requests are run |
| 116 | to completion immediately. */ | 123 | to completion immediately. */ |
| 117 | void (*set_run_to_completion)(void *send_info, int run_to_completion); | 124 | void (*set_run_to_completion)(void *send_info, bool run_to_completion); |
| 118 | 125 | ||
| 119 | /* Called to poll for work to do. This is so upper layers can | 126 | /* Called to poll for work to do. This is so upper layers can |
| 120 | poll for operations during things like crash dumps. */ | 127 | poll for operations during things like crash dumps. */ |
| @@ -125,7 +132,7 @@ struct ipmi_smi_handlers { | |||
| 125 | setting. The message handler does the mode handling. Note | 132 | setting. The message handler does the mode handling. Note |
| 126 | that this is called from interrupt context, so it cannot | 133 | that this is called from interrupt context, so it cannot |
| 127 | block. */ | 134 | block. */ |
| 128 | void (*set_maintenance_mode)(void *send_info, int enable); | 135 | void (*set_maintenance_mode)(void *send_info, bool enable); |
| 129 | 136 | ||
| 130 | /* Tell the handler that we are using it/not using it. The | 137 | /* Tell the handler that we are using it/not using it. The |
| 131 | message handler get the modules that this handler belongs | 138 | message handler get the modules that this handler belongs |
diff --git a/include/linux/mdio-gpio.h b/include/linux/mdio-gpio.h index 7c9fe3c2be73..66c30a763b10 100644 --- a/include/linux/mdio-gpio.h +++ b/include/linux/mdio-gpio.h | |||
| @@ -17,6 +17,11 @@ struct mdio_gpio_platform_data { | |||
| 17 | /* GPIO numbers for bus pins */ | 17 | /* GPIO numbers for bus pins */ |
| 18 | unsigned int mdc; | 18 | unsigned int mdc; |
| 19 | unsigned int mdio; | 19 | unsigned int mdio; |
| 20 | unsigned int mdo; | ||
| 21 | |||
| 22 | bool mdc_active_low; | ||
| 23 | bool mdio_active_low; | ||
| 24 | bool mdo_active_low; | ||
| 20 | 25 | ||
| 21 | unsigned int phy_mask; | 26 | unsigned int phy_mask; |
| 22 | int irqs[PHY_MAX_ADDR]; | 27 | int irqs[PHY_MAX_ADDR]; |
diff --git a/include/linux/mfd/tps65090.h b/include/linux/mfd/tps65090.h index f25adfa97c73..0bf2708df150 100644 --- a/include/linux/mfd/tps65090.h +++ b/include/linux/mfd/tps65090.h | |||
| @@ -64,6 +64,20 @@ enum { | |||
| 64 | TPS65090_REGULATOR_MAX, | 64 | TPS65090_REGULATOR_MAX, |
| 65 | }; | 65 | }; |
| 66 | 66 | ||
| 67 | /* Register addresses */ | ||
| 68 | #define TPS65090_REG_INTR_STS 0x00 | ||
| 69 | #define TPS65090_REG_INTR_STS2 0x01 | ||
| 70 | #define TPS65090_REG_INTR_MASK 0x02 | ||
| 71 | #define TPS65090_REG_INTR_MASK2 0x03 | ||
| 72 | #define TPS65090_REG_CG_CTRL0 0x04 | ||
| 73 | #define TPS65090_REG_CG_CTRL1 0x05 | ||
| 74 | #define TPS65090_REG_CG_CTRL2 0x06 | ||
| 75 | #define TPS65090_REG_CG_CTRL3 0x07 | ||
| 76 | #define TPS65090_REG_CG_CTRL4 0x08 | ||
| 77 | #define TPS65090_REG_CG_CTRL5 0x09 | ||
| 78 | #define TPS65090_REG_CG_STATUS1 0x0a | ||
| 79 | #define TPS65090_REG_CG_STATUS2 0x0b | ||
| 80 | |||
| 67 | struct tps65090 { | 81 | struct tps65090 { |
| 68 | struct device *dev; | 82 | struct device *dev; |
| 69 | struct regmap *rmap; | 83 | struct regmap *rmap; |
diff --git a/include/linux/mlx5/device.h b/include/linux/mlx5/device.h index 407bdb67fd4f..3406cfb1267a 100644 --- a/include/linux/mlx5/device.h +++ b/include/linux/mlx5/device.h | |||
| @@ -179,6 +179,7 @@ enum { | |||
| 179 | MLX5_DEV_CAP_FLAG_BAD_QKEY_CNTR = 1LL << 9, | 179 | MLX5_DEV_CAP_FLAG_BAD_QKEY_CNTR = 1LL << 9, |
| 180 | MLX5_DEV_CAP_FLAG_APM = 1LL << 17, | 180 | MLX5_DEV_CAP_FLAG_APM = 1LL << 17, |
| 181 | MLX5_DEV_CAP_FLAG_ATOMIC = 1LL << 18, | 181 | MLX5_DEV_CAP_FLAG_ATOMIC = 1LL << 18, |
| 182 | MLX5_DEV_CAP_FLAG_BLOCK_MCAST = 1LL << 23, | ||
| 182 | MLX5_DEV_CAP_FLAG_ON_DMND_PG = 1LL << 24, | 183 | MLX5_DEV_CAP_FLAG_ON_DMND_PG = 1LL << 24, |
| 183 | MLX5_DEV_CAP_FLAG_CQ_MODER = 1LL << 29, | 184 | MLX5_DEV_CAP_FLAG_CQ_MODER = 1LL << 29, |
| 184 | MLX5_DEV_CAP_FLAG_RESIZE_CQ = 1LL << 30, | 185 | MLX5_DEV_CAP_FLAG_RESIZE_CQ = 1LL << 30, |
diff --git a/include/linux/mlx5/qp.h b/include/linux/mlx5/qp.h index f829ad80ff28..9709b30e2d69 100644 --- a/include/linux/mlx5/qp.h +++ b/include/linux/mlx5/qp.h | |||
| @@ -146,6 +146,7 @@ enum { | |||
| 146 | 146 | ||
| 147 | enum { | 147 | enum { |
| 148 | MLX5_QP_LAT_SENSITIVE = 1 << 28, | 148 | MLX5_QP_LAT_SENSITIVE = 1 << 28, |
| 149 | MLX5_QP_BLOCK_MCAST = 1 << 30, | ||
| 149 | MLX5_QP_ENABLE_SIG = 1 << 31, | 150 | MLX5_QP_ENABLE_SIG = 1 << 31, |
| 150 | }; | 151 | }; |
| 151 | 152 | ||
diff --git a/include/linux/mtd/spear_smi.h b/include/linux/mtd/spear_smi.h index 8ae1726044c3..581603ac1277 100644 --- a/include/linux/mtd/spear_smi.h +++ b/include/linux/mtd/spear_smi.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright © 2010 ST Microelectronics | 2 | * Copyright © 2010 ST Microelectronics |
| 3 | * Shiraz Hashim <shiraz.hashim@st.com> | 3 | * Shiraz Hashim <shiraz.linux.kernel@gmail.com> |
| 4 | * | 4 | * |
| 5 | * This file is licensed under the terms of the GNU General Public | 5 | * This file is licensed under the terms of the GNU General Public |
| 6 | * License version 2. This program is licensed "as is" without any | 6 | * License version 2. This program is licensed "as is" without any |
diff --git a/include/linux/netfilter/nf_conntrack_proto_gre.h b/include/linux/netfilter/nf_conntrack_proto_gre.h index ec2ffaf418c8..df78dc2b5524 100644 --- a/include/linux/netfilter/nf_conntrack_proto_gre.h +++ b/include/linux/netfilter/nf_conntrack_proto_gre.h | |||
| @@ -87,7 +87,6 @@ int nf_ct_gre_keymap_add(struct nf_conn *ct, enum ip_conntrack_dir dir, | |||
| 87 | /* delete keymap entries */ | 87 | /* delete keymap entries */ |
| 88 | void nf_ct_gre_keymap_destroy(struct nf_conn *ct); | 88 | void nf_ct_gre_keymap_destroy(struct nf_conn *ct); |
| 89 | 89 | ||
| 90 | void nf_ct_gre_keymap_flush(struct net *net); | ||
| 91 | void nf_nat_need_gre(void); | 90 | void nf_nat_need_gre(void); |
| 92 | 91 | ||
| 93 | #endif /* __KERNEL__ */ | 92 | #endif /* __KERNEL__ */ |
diff --git a/include/linux/of.h b/include/linux/of.h index 919bf211877d..3bad8d106e0e 100644 --- a/include/linux/of.h +++ b/include/linux/of.h | |||
| @@ -374,6 +374,11 @@ static inline struct device_node *of_find_matching_node_and_match( | |||
| 374 | return NULL; | 374 | return NULL; |
| 375 | } | 375 | } |
| 376 | 376 | ||
| 377 | static inline struct device_node *of_find_node_by_path(const char *path) | ||
| 378 | { | ||
| 379 | return NULL; | ||
| 380 | } | ||
| 381 | |||
| 377 | static inline struct device_node *of_get_parent(const struct device_node *node) | 382 | static inline struct device_node *of_get_parent(const struct device_node *node) |
| 378 | { | 383 | { |
| 379 | return NULL; | 384 | return NULL; |
diff --git a/include/linux/phy.h b/include/linux/phy.h index 24126c4b27b5..4d0221fd0688 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h | |||
| @@ -75,6 +75,7 @@ typedef enum { | |||
| 75 | PHY_INTERFACE_MODE_SMII, | 75 | PHY_INTERFACE_MODE_SMII, |
| 76 | PHY_INTERFACE_MODE_XGMII, | 76 | PHY_INTERFACE_MODE_XGMII, |
| 77 | PHY_INTERFACE_MODE_MOCA, | 77 | PHY_INTERFACE_MODE_MOCA, |
| 78 | PHY_INTERFACE_MODE_QSGMII, | ||
| 78 | PHY_INTERFACE_MODE_MAX, | 79 | PHY_INTERFACE_MODE_MAX, |
| 79 | } phy_interface_t; | 80 | } phy_interface_t; |
| 80 | 81 | ||
| @@ -116,6 +117,8 @@ static inline const char *phy_modes(phy_interface_t interface) | |||
| 116 | return "xgmii"; | 117 | return "xgmii"; |
| 117 | case PHY_INTERFACE_MODE_MOCA: | 118 | case PHY_INTERFACE_MODE_MOCA: |
| 118 | return "moca"; | 119 | return "moca"; |
| 120 | case PHY_INTERFACE_MODE_QSGMII: | ||
| 121 | return "qsgmii"; | ||
| 119 | default: | 122 | default: |
| 120 | return "unknown"; | 123 | return "unknown"; |
| 121 | } | 124 | } |
diff --git a/include/linux/reboot.h b/include/linux/reboot.h index 9e7db9e73cc1..48bf152761c7 100644 --- a/include/linux/reboot.h +++ b/include/linux/reboot.h | |||
| @@ -20,13 +20,13 @@ enum reboot_mode { | |||
| 20 | extern enum reboot_mode reboot_mode; | 20 | extern enum reboot_mode reboot_mode; |
| 21 | 21 | ||
| 22 | enum reboot_type { | 22 | enum reboot_type { |
| 23 | BOOT_TRIPLE = 't', | 23 | BOOT_TRIPLE = 't', |
| 24 | BOOT_KBD = 'k', | 24 | BOOT_KBD = 'k', |
| 25 | BOOT_BIOS = 'b', | 25 | BOOT_BIOS = 'b', |
| 26 | BOOT_ACPI = 'a', | 26 | BOOT_ACPI = 'a', |
| 27 | BOOT_EFI = 'e', | 27 | BOOT_EFI = 'e', |
| 28 | BOOT_CF9 = 'p', | 28 | BOOT_CF9_FORCE = 'p', |
| 29 | BOOT_CF9_COND = 'q', | 29 | BOOT_CF9_SAFE = 'q', |
| 30 | }; | 30 | }; |
| 31 | extern enum reboot_type reboot_type; | 31 | extern enum reboot_type reboot_type; |
| 32 | 32 | ||
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index 084354b0e814..5ffaa3443712 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h | |||
| @@ -179,9 +179,6 @@ struct sysfs_ops { | |||
| 179 | 179 | ||
| 180 | #ifdef CONFIG_SYSFS | 180 | #ifdef CONFIG_SYSFS |
| 181 | 181 | ||
| 182 | int sysfs_schedule_callback(struct kobject *kobj, void (*func)(void *), | ||
| 183 | void *data, struct module *owner); | ||
| 184 | |||
| 185 | int __must_check sysfs_create_dir_ns(struct kobject *kobj, const void *ns); | 182 | int __must_check sysfs_create_dir_ns(struct kobject *kobj, const void *ns); |
| 186 | void sysfs_remove_dir(struct kobject *kobj); | 183 | void sysfs_remove_dir(struct kobject *kobj); |
| 187 | int __must_check sysfs_rename_dir_ns(struct kobject *kobj, const char *new_name, | 184 | int __must_check sysfs_rename_dir_ns(struct kobject *kobj, const char *new_name, |
| @@ -255,12 +252,6 @@ static inline void sysfs_enable_ns(struct kernfs_node *kn) | |||
| 255 | 252 | ||
| 256 | #else /* CONFIG_SYSFS */ | 253 | #else /* CONFIG_SYSFS */ |
| 257 | 254 | ||
| 258 | static inline int sysfs_schedule_callback(struct kobject *kobj, | ||
| 259 | void (*func)(void *), void *data, struct module *owner) | ||
| 260 | { | ||
| 261 | return -ENOSYS; | ||
| 262 | } | ||
| 263 | |||
| 264 | static inline int sysfs_create_dir_ns(struct kobject *kobj, const void *ns) | 255 | static inline int sysfs_create_dir_ns(struct kobject *kobj, const void *ns) |
| 265 | { | 256 | { |
| 266 | return 0; | 257 | return 0; |
diff --git a/include/linux/wait.h b/include/linux/wait.h index e7d9d9ed14f5..bd68819f0815 100644 --- a/include/linux/wait.h +++ b/include/linux/wait.h | |||
| @@ -191,11 +191,23 @@ wait_queue_head_t *bit_waitqueue(void *, int); | |||
| 191 | (!__builtin_constant_p(state) || \ | 191 | (!__builtin_constant_p(state) || \ |
| 192 | state == TASK_INTERRUPTIBLE || state == TASK_KILLABLE) \ | 192 | state == TASK_INTERRUPTIBLE || state == TASK_KILLABLE) \ |
| 193 | 193 | ||
| 194 | /* | ||
| 195 | * The below macro ___wait_event() has an explicit shadow of the __ret | ||
| 196 | * variable when used from the wait_event_*() macros. | ||
| 197 | * | ||
| 198 | * This is so that both can use the ___wait_cond_timeout() construct | ||
| 199 | * to wrap the condition. | ||
| 200 | * | ||
| 201 | * The type inconsistency of the wait_event_*() __ret variable is also | ||
| 202 | * on purpose; we use long where we can return timeout values and int | ||
| 203 | * otherwise. | ||
| 204 | */ | ||
| 205 | |||
| 194 | #define ___wait_event(wq, condition, state, exclusive, ret, cmd) \ | 206 | #define ___wait_event(wq, condition, state, exclusive, ret, cmd) \ |
| 195 | ({ \ | 207 | ({ \ |
| 196 | __label__ __out; \ | 208 | __label__ __out; \ |
| 197 | wait_queue_t __wait; \ | 209 | wait_queue_t __wait; \ |
| 198 | long __ret = ret; \ | 210 | long __ret = ret; /* explicit shadow */ \ |
| 199 | \ | 211 | \ |
| 200 | INIT_LIST_HEAD(&__wait.task_list); \ | 212 | INIT_LIST_HEAD(&__wait.task_list); \ |
| 201 | if (exclusive) \ | 213 | if (exclusive) \ |
