Re: [linux310][linux316] Backport of 'compiler-gcc: integrate the various compiler-gcc[345].h'

From: Philip MÃller
Date: Wed May 18 2016 - 13:07:20 EST


Am 18.05.2016 um 16:38 schrieb Willy Tarreau:
> Hi Philip,
> Now queued for 3.10, thanks!
> willy
>

Hi Willy,

you need that snippet also to make it work. Backport of commit
c4586256f0c440bc2bdb29d2cbb915f0ca785d26 upstream.
Similar to the fix in 40413dcb7b273bda681dca38e6ff0bbb3728ef11

Here is Greg's version:
https://git.kernel.org/cgit/linux/kernel/git/stable/stable-queue.git/tree/releases/3.14.69/x86-llvmlinux-fix-incomplete-type-const-struct-x86cpu_device_id.patch

signed-by philm@xxxxxxxxxxx

greez
Philip



diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index 45e9214..740c6df 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -398,6 +398,7 @@ struct virtio_device_id {
/*
* For Hyper-V devices we use the device guid as the id.
*/
+#define vmbus_device_id hv_vmbus_device_id
struct hv_vmbus_device_id {
__u8 guid[16];
kernel_ulong_t driver_data; /* Data private to the driver */
@@ -548,6 +549,11 @@ struct amba_id {
* See documentation of "x86_match_cpu" for details.
*/

+/*
+ * MODULE_DEVICE_TABLE expects this struct to be called x86cpu_device_id.
+ * Although gcc seems to ignore this error, clang fails without this define.
+ */
+#define x86cpu_device_id x86_cpu_id
struct x86_cpu_id {
__u16 vendor;
__u16 family;
@@ -575,6 +581,7 @@ struct ipack_device_id {
#define MEI_CL_MODULE_PREFIX "mei:"
#define MEI_CL_NAME_SIZE 32

+#define mei_device_id mei_cl_device_id
struct mei_cl_device_id {
char name[MEI_CL_NAME_SIZE];
kernel_ulong_t driver_info;