2012-06-21 15:25:16

by Ozan Çağlayan

[permalink] [raw]
Subject: [PATCH v2] compat: Define include guard for vga_switcheroo.h

The check is missing in upstream. Patch sent but until this gets
merged, define it in compat tree for fixing compat-drm builds.

Also add a temporary header with the same name which will be used
to check whether the header should be included or not.

Signed-off-by: Ozan Çağlayan <[email protected]>
---
include/linux/compat-3.5.h | 6 ++++++
include/linux/vga_switcheroo.h | 6 ++++++
2 files changed, 12 insertions(+)
create mode 100644 include/linux/vga_switcheroo.h

diff --git a/include/linux/compat-3.5.h b/include/linux/compat-3.5.h
index 74c8176..e999aee 100644
--- a/include/linux/compat-3.5.h
+++ b/include/linux/compat-3.5.h
@@ -78,6 +78,12 @@ static inline int fault_in_multipages_readable(const char __user *uaddr,
/* switcheroo is available on >= 2.6.34 */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
#include <linux/vga_switcheroo.h>
+
+/* FIXME: The include guard is sent upstream, drop this
+ * once the guard is merged. */
+#ifndef LINUX_VGA_SWITCHEROO_H
+#define LINUX_VGA_SWITCHEROO_H
+#endif
/*
* This backports:
*
diff --git a/include/linux/vga_switcheroo.h b/include/linux/vga_switcheroo.h
new file mode 100644
index 0000000..26ac71d
--- /dev/null
+++ b/include/linux/vga_switcheroo.h
@@ -0,0 +1,6 @@
+/* Hack for fixing the missing include guard in upstream
+ * header. We will drop this when the patch is merged upstream. */
+
+#ifndef LINUX_VGA_SWITCHEROO_H
+#include_next <linux/vga_switcheroo.h>
+#endif
--
1.7.10.2



2012-06-22 16:58:44

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: [PATCH v2] compat: Define include guard for vga_switcheroo.h

On Fri, Jun 22, 2012 at 4:25 AM, Ozan Çağlayan <[email protected]> wrote:
>> How about just adding this file but with something like this:
>>
>> #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
>> /*
>>  * XXX: The include guard was sent upstream, drop this
>>  * once the guard is merged.
>>  */
>> #ifndef LINUX_VGA_SWITCHEROO_H /* in case this gets upstream */
>> #include_next <linux/vga_switcheroo.h>
>> #ifndef LINUX_VGA_SWITCHEROO_H /* do not redefine once this gets upstream */
>> #define LINUX_VGA_SWITCHEROO_H
>> #endif /* case 1 LINUX_VGA_SWITCHEROO_H
>> #endif /* case 2 LINUX_VGA_SWITCHEROO_H
>> #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) */
>
> Ah, that is much clever, thanks.

No problem!

> I've tested in and it works correctly, will send a v3. But just to
> make clear: I'm just adding a vga_switcheroo.h with the above content
> and I don't touch compat-3.5.h right?

Yeap.

Luis

2012-06-21 16:49:04

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: [PATCH v2] compat: Define include guard for vga_switcheroo.h

On Thu, Jun 21, 2012 at 8:25 AM, Ozan Çağlayan <[email protected]> wrote:
> The check is missing in upstream. Patch sent but until this gets
> merged, define it in compat tree for fixing compat-drm builds.
>
> Also add a temporary header with the same name which will be used
> to check whether the header should be included or not.
>
> Signed-off-by: Ozan Çağlayan <[email protected]>
> ---
>  include/linux/compat-3.5.h     |    6 ++++++
>  include/linux/vga_switcheroo.h |    6 ++++++
>  2 files changed, 12 insertions(+)
>  create mode 100644 include/linux/vga_switcheroo.h
>
> diff --git a/include/linux/compat-3.5.h b/include/linux/compat-3.5.h
> index 74c8176..e999aee 100644
> --- a/include/linux/compat-3.5.h
> +++ b/include/linux/compat-3.5.h
> @@ -78,6 +78,12 @@ static inline int fault_in_multipages_readable(const char __user *uaddr,
>  /* switcheroo is available on >= 2.6.34 */
>  #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
>  #include <linux/vga_switcheroo.h>
> +
> +/* FIXME: The include guard is sent upstream, drop this
> + * once the guard is merged. */
> +#ifndef LINUX_VGA_SWITCHEROO_H
> +#define LINUX_VGA_SWITCHEROO_H
> +#endif

Don't you want this under the ifdef above?

>  /*
>  * This backports:
>  *
> diff --git a/include/linux/vga_switcheroo.h b/include/linux/vga_switcheroo.h
> new file mode 100644
> index 0000000..26ac71d
> --- /dev/null
> +++ b/include/linux/vga_switcheroo.h
> @@ -0,0 +1,6 @@
> +/* Hack for fixing the missing include guard in upstream
> + * header. We will drop this when the patch is merged upstream. */
> +

How about just adding this file but with something like this:

#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
/*
* XXX: The include guard was sent upstream, drop this
* once the guard is merged.
*/
#ifndef LINUX_VGA_SWITCHEROO_H /* in case this gets upstream */
#include_next <linux/vga_switcheroo.h>
#ifndef LINUX_VGA_SWITCHEROO_H /* do not redefine once this gets upstream */
#define LINUX_VGA_SWITCHEROO_H
#endif /* case 1 LINUX_VGA_SWITCHEROO_H
#endif /* case 2 LINUX_VGA_SWITCHEROO_H
#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) */

Luis

2012-06-22 11:25:30

by Ozan Çağlayan

[permalink] [raw]
Subject: Re: [PATCH v2] compat: Define include guard for vga_switcheroo.h

> How about just adding this file but with something like this:
>
> #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
> /*
>  * XXX: The include guard was sent upstream, drop this
>  * once the guard is merged.
>  */
> #ifndef LINUX_VGA_SWITCHEROO_H /* in case this gets upstream */
> #include_next <linux/vga_switcheroo.h>
> #ifndef LINUX_VGA_SWITCHEROO_H /* do not redefine once this gets upstream */
> #define LINUX_VGA_SWITCHEROO_H
> #endif /* case 1 LINUX_VGA_SWITCHEROO_H
> #endif /* case 2 LINUX_VGA_SWITCHEROO_H
> #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) */

Ah, that is much clever, thanks.

I've tested in and it works correctly, will send a v3. But just to
make clear: I'm just adding a vga_switcheroo.h with the above content
and I don't touch compat-3.5.h right?

--
Ozan Çağlayan