History

Merge tag 'char-misc-3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc

Pull char/misc driver fixes from Greg KH: "Nothing huge, just a few small bugfixes for problems reported, and a device id update" * tag 'char-misc-3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: mei: add 9 series PCH mei device ids drivers/char/i8k.c: add Dell XPLS L421X MAINTAINERS: add HSI subsystem misc: mic: Suppress memory space sparse warnings misc: mic: Fix endianness issues. misc: mic: Fix user space namespace pollution from mic_common.h. misc: mic: Bug fix for sysfs poll usage. misc: mic: Minor bug fix in 'retry' loops. misc: mic: Change mic_notify(...) to return true. extcon: remove freed groups caused the panic or warning in unregister flow extcon: arizona: Get pdata from arizona structure not device

Linus Torvalds committed 12 years ago

Commit f64001e2 parents b19d69c 76a963514 files · +97 −73Browse files

Showing the changes to include/uapi/linux (1 of 14 files). Show all

Unified · Split

include/uapi/linux/mic_common.h+16−24
@@ -23,12 +23,7 @@ · 22 unmodified lines
2323
2424 #include <linux/virtio_ring.h>
2525
26−#ifndef __KERNEL__
27−#define ALIGN(a, x) (((a) + (x) - 1) & ~((x) - 1))
28−#define __aligned(x) __attribute__ ((aligned(x)))
29−#endif
30−
31−#define mic_aligned_size(x) ALIGN(sizeof(x), 8)
26+#define __mic_align(a, x) (((a) + (x) - 1) & ~((x) - 1))
3227
3328 /**
3429 * struct mic_device_desc: Virtio device information shared between the
@@ -48,8 +43,8 @@ struct mic_device_desc { · 13 unmodified lines
4843 __u8 feature_len;
4944 __u8 config_len;
5045 __u8 status;
51− __u64 config[0];
52−} __aligned(8);
46+ __le64 config[0];
47+} __attribute__ ((aligned(8)));
5348
5449 /**
5550 * struct mic_device_ctrl: Per virtio device information in the device page
@@ -66,7 +61,7 @@ struct mic_device_desc { · 10 unmodified lines
6661 * @h2c_vdev_db: The doorbell number to be used by host. Set by guest.
6762 */
6863 struct mic_device_ctrl {
69− __u64 vdev;
64+ __le64 vdev;
7065 __u8 config_change;
7166 __u8 vdev_reset;
7267 __u8 guest_ack;
@@ -74,7 +69,7 @@ struct mic_device_ctrl { · 1 unmodified line
7469 __u8 used_address_updated;
7570 __s8 c2h_vdev_db;
7671 __s8 h2c_vdev_db;
77−} __aligned(8);
72+} __attribute__ ((aligned(8)));
7873
7974 /**
8075 * struct mic_bootparam: Virtio device independent information in device page
@@ -87,13 +82,13 @@ struct mic_device_ctrl { · 6 unmodified lines
8782 * @shutdown_card: Set to 1 by the host when a card shutdown is initiated
8883 */
8984 struct mic_bootparam {
90− __u32 magic;
85+ __le32 magic;
9186 __s8 c2h_shutdown_db;
9287 __s8 h2c_shutdown_db;
9388 __s8 h2c_config_db;
9489 __u8 shutdown_status;
9590 __u8 shutdown_card;
96−} __aligned(8);
91+} __attribute__ ((aligned(8)));
9792
9893 /**
9994 * struct mic_device_page: High level representation of the device page
@@ -116,10 +111,10 @@ struct mic_device_page { · 16 unmodified lines
116111 * @num: The number of entries in the virtio_ring
117112 */
118113 struct mic_vqconfig {
119− __u64 address;
120− __u64 used_address;
121− __u16 num;
122−} __aligned(8);
114+ __le64 address;
115+ __le64 used_address;
116+ __le16 num;
117+} __attribute__ ((aligned(8)));
123118
124119 /*
125120 * The alignment to use between consumer and producer parts of vring.
@@ -154,7 +149,7 @@ struct mic_vqconfig { · 28 unmodified lines
154149 */
155150 struct _mic_vring_info {
156151 __u16 avail_idx;
157− int magic;
152+ __le32 magic;
158153 };
159154
160155 /**
@@ -173,15 +168,13 @@ struct mic_vring { · 12 unmodified lines
173168 int len;
174169 };
175170
176−#define mic_aligned_desc_size(d) ALIGN(mic_desc_size(d), 8)
171+#define mic_aligned_desc_size(d) __mic_align(mic_desc_size(d), 8)
177172
178173 #ifndef INTEL_MIC_CARD
179174 static inline unsigned mic_desc_size(const struct mic_device_desc *desc)
180175 {
181− return mic_aligned_size(*desc)
182− + desc->num_vq * mic_aligned_size(struct mic_vqconfig)
183− + desc->feature_len * 2
184− + desc->config_len;
176+ return sizeof(*desc) + desc->num_vq * sizeof(struct mic_vqconfig)
177+ + desc->feature_len * 2 + desc->config_len;
185178 }
186179
187180 static inline struct mic_vqconfig *
@@ -201,8 +194,7 @@ static inline __u8 *mic_vq_configspace(const struct mic_device_desc *desc) · 13 unmodified lines
201194 }
202195 static inline unsigned mic_total_desc_size(struct mic_device_desc *desc)
203196 {
204− return mic_aligned_desc_size(desc) +
205− mic_aligned_size(struct mic_device_ctrl);
197+ return mic_aligned_desc_size(desc) + sizeof(struct mic_device_ctrl);
206198 }
207199 #endif
208200