linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] kbuild: kvm: make export of linux/kvm_para.h unconditional
@ 2012-07-26 13:44 Will Deacon
  2012-08-02 12:25 ` Will Deacon
  0 siblings, 1 reply; 8+ messages in thread
From: Will Deacon @ 2012-07-26 13:44 UTC (permalink / raw)
  To: linux-kernel; +Cc: geert, akpm, Will Deacon, Arnd Bergmann, Avi Kivity

The asm-generic version of kvm_para.h is always exported, confusing the
Kbuild wildcarding that tries to detect whether the source architecture
is exporting the header, since asm-* matches the generic version.

This patch unconditionally exports linux/kvm_para.h and fixes the few
remaining architectures without asm/kvm_para.h to use the generic
version. I also took the liberty of removing some dead lines from the
wildcarding which was searcing for asm-$(SRCARCH) directores under
$(srctree).

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Avi Kivity <avi@redhat.com>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
---

 arch/cris/include/asm/Kbuild   |    2 ++
 arch/m32r/include/asm/Kbuild   |    2 ++
 include/asm-generic/Kbuild.asm |   12 +++---------
 include/linux/Kbuild           |    8 +-------
 4 files changed, 8 insertions(+), 16 deletions(-)

diff --git a/arch/cris/include/asm/Kbuild b/arch/cris/include/asm/Kbuild
index 04d02a5..2fde49c 100644
--- a/arch/cris/include/asm/Kbuild
+++ b/arch/cris/include/asm/Kbuild
@@ -7,3 +7,5 @@ header-y += ethernet.h
 header-y += etraxgpio.h
 header-y += rs485.h
 header-y += sync_serial.h
+
+generic-y += kvm_para.h
diff --git a/arch/m32r/include/asm/Kbuild b/arch/m32r/include/asm/Kbuild
index c68e168..78c505e 100644
--- a/arch/m32r/include/asm/Kbuild
+++ b/arch/m32r/include/asm/Kbuild
@@ -1 +1,3 @@
 include include/asm-generic/Kbuild.asm
+
+generic-y += kvm_para.h
diff --git a/include/asm-generic/Kbuild.asm b/include/asm-generic/Kbuild.asm
index c5d2e5d..f180c99 100644
--- a/include/asm-generic/Kbuild.asm
+++ b/include/asm-generic/Kbuild.asm
@@ -1,15 +1,8 @@
-ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm.h \
-		  $(srctree)/include/asm-$(SRCARCH)/kvm.h),)
+ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm.h),)
 header-y  += kvm.h
 endif
 
-ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm_para.h \
-		  $(srctree)/include/asm-$(SRCARCH)/kvm_para.h),)
-header-y  += kvm_para.h
-endif
-
-ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/a.out.h \
-		  $(srctree)/include/asm-$(SRCARCH)/a.out.h),)
+ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/a.out.h),)
 header-y += a.out.h
 endif
 
@@ -21,6 +14,7 @@ header-y += fcntl.h
 header-y += ioctl.h
 header-y += ioctls.h
 header-y += ipcbuf.h
+header-y += kvm_para.h
 header-y += mman.h
 header-y += msgbuf.h
 header-y += param.h
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index 8760be3..048abc6 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -23,20 +23,13 @@ header-y += wimax/
 objhdr-y += version.h
 
 ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/a.out.h \
-		  $(srctree)/include/asm-$(SRCARCH)/a.out.h \
 		  $(INSTALL_HDR_PATH)/include/asm-*/a.out.h),)
 header-y += a.out.h
 endif
 ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm.h \
-		  $(srctree)/include/asm-$(SRCARCH)/kvm.h \
 		  $(INSTALL_HDR_PATH)/include/asm-*/kvm.h),)
 header-y += kvm.h
 endif
-ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm_para.h \
-		  $(srctree)/include/asm-$(SRCARCH)/kvm_para.h \
-		  $(INSTALL_HDR_PATH)/include/asm-*/kvm_para.h),)
-header-y += kvm_para.h
-endif
 
 header-y += acct.h
 header-y += adb.h
@@ -229,6 +222,7 @@ header-y += kernel-page-flags.h
 header-y += kexec.h
 header-y += keyboard.h
 header-y += keyctl.h
+header-y += kvm_para.h
 header-y += l2tp.h
 header-y += limits.h
 header-y += llc.h
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] kbuild: kvm: make export of linux/kvm_para.h unconditional
  2012-07-26 13:44 [PATCH] kbuild: kvm: make export of linux/kvm_para.h unconditional Will Deacon
@ 2012-08-02 12:25 ` Will Deacon
  2012-08-02 14:19   ` Avi Kivity
  0 siblings, 1 reply; 8+ messages in thread
From: Will Deacon @ 2012-08-02 12:25 UTC (permalink / raw)
  To: linux-kernel@vger.kernel.org
  Cc: geert@linux-m68k.org, akpm@linux-foundation.org, Arnd Bergmann,
	Avi Kivity

On Thu, Jul 26, 2012 at 02:44:14PM +0100, Will Deacon wrote:
> The asm-generic version of kvm_para.h is always exported, confusing the
> Kbuild wildcarding that tries to detect whether the source architecture
> is exporting the header, since asm-* matches the generic version.
> 
> This patch unconditionally exports linux/kvm_para.h and fixes the few
> remaining architectures without asm/kvm_para.h to use the generic
> version. I also took the liberty of removing some dead lines from the
> wildcarding which was searcing for asm-$(SRCARCH) directores under
> $(srctree).
> 
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Avi Kivity <avi@redhat.com>
> Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
> Signed-off-by: Will Deacon <will.deacon@arm.com>
> ---

Any further comments on this? It fixes header generation for me, so it would
be nice to see it merged.

Cheers,

Will

>  arch/cris/include/asm/Kbuild   |    2 ++
>  arch/m32r/include/asm/Kbuild   |    2 ++
>  include/asm-generic/Kbuild.asm |   12 +++---------
>  include/linux/Kbuild           |    8 +-------
>  4 files changed, 8 insertions(+), 16 deletions(-)
> 
> diff --git a/arch/cris/include/asm/Kbuild b/arch/cris/include/asm/Kbuild
> index 04d02a5..2fde49c 100644
> --- a/arch/cris/include/asm/Kbuild
> +++ b/arch/cris/include/asm/Kbuild
> @@ -7,3 +7,5 @@ header-y += ethernet.h
>  header-y += etraxgpio.h
>  header-y += rs485.h
>  header-y += sync_serial.h
> +
> +generic-y += kvm_para.h
> diff --git a/arch/m32r/include/asm/Kbuild b/arch/m32r/include/asm/Kbuild
> index c68e168..78c505e 100644
> --- a/arch/m32r/include/asm/Kbuild
> +++ b/arch/m32r/include/asm/Kbuild
> @@ -1 +1,3 @@
>  include include/asm-generic/Kbuild.asm
> +
> +generic-y += kvm_para.h
> diff --git a/include/asm-generic/Kbuild.asm b/include/asm-generic/Kbuild.asm
> index c5d2e5d..f180c99 100644
> --- a/include/asm-generic/Kbuild.asm
> +++ b/include/asm-generic/Kbuild.asm
> @@ -1,15 +1,8 @@
> -ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm.h \
> -		  $(srctree)/include/asm-$(SRCARCH)/kvm.h),)
> +ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm.h),)
>  header-y  += kvm.h
>  endif
>  
> -ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm_para.h \
> -		  $(srctree)/include/asm-$(SRCARCH)/kvm_para.h),)
> -header-y  += kvm_para.h
> -endif
> -
> -ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/a.out.h \
> -		  $(srctree)/include/asm-$(SRCARCH)/a.out.h),)
> +ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/a.out.h),)
>  header-y += a.out.h
>  endif
>  
> @@ -21,6 +14,7 @@ header-y += fcntl.h
>  header-y += ioctl.h
>  header-y += ioctls.h
>  header-y += ipcbuf.h
> +header-y += kvm_para.h
>  header-y += mman.h
>  header-y += msgbuf.h
>  header-y += param.h
> diff --git a/include/linux/Kbuild b/include/linux/Kbuild
> index 8760be3..048abc6 100644
> --- a/include/linux/Kbuild
> +++ b/include/linux/Kbuild
> @@ -23,20 +23,13 @@ header-y += wimax/
>  objhdr-y += version.h
>  
>  ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/a.out.h \
> -		  $(srctree)/include/asm-$(SRCARCH)/a.out.h \
>  		  $(INSTALL_HDR_PATH)/include/asm-*/a.out.h),)
>  header-y += a.out.h
>  endif
>  ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm.h \
> -		  $(srctree)/include/asm-$(SRCARCH)/kvm.h \
>  		  $(INSTALL_HDR_PATH)/include/asm-*/kvm.h),)
>  header-y += kvm.h
>  endif
> -ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm_para.h \
> -		  $(srctree)/include/asm-$(SRCARCH)/kvm_para.h \
> -		  $(INSTALL_HDR_PATH)/include/asm-*/kvm_para.h),)
> -header-y += kvm_para.h
> -endif
>  
>  header-y += acct.h
>  header-y += adb.h
> @@ -229,6 +222,7 @@ header-y += kernel-page-flags.h
>  header-y += kexec.h
>  header-y += keyboard.h
>  header-y += keyctl.h
> +header-y += kvm_para.h
>  header-y += l2tp.h
>  header-y += limits.h
>  header-y += llc.h
> -- 
> 1.7.4.1
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] kbuild: kvm: make export of linux/kvm_para.h unconditional
  2012-08-02 12:25 ` Will Deacon
@ 2012-08-02 14:19   ` Avi Kivity
  2012-08-02 20:29     ` Sam Ravnborg
  0 siblings, 1 reply; 8+ messages in thread
From: Avi Kivity @ 2012-08-02 14:19 UTC (permalink / raw)
  To: Will Deacon
  Cc: linux-kernel@vger.kernel.org, geert@linux-m68k.org,
	akpm@linux-foundation.org, Arnd Bergmann

On 08/02/2012 03:25 PM, Will Deacon wrote:
> On Thu, Jul 26, 2012 at 02:44:14PM +0100, Will Deacon wrote:
>> The asm-generic version of kvm_para.h is always exported, confusing the
>> Kbuild wildcarding that tries to detect whether the source architecture
>> is exporting the header, since asm-* matches the generic version.
>> 
>> This patch unconditionally exports linux/kvm_para.h and fixes the few
>> remaining architectures without asm/kvm_para.h to use the generic
>> version. I also took the liberty of removing some dead lines from the
>> wildcarding which was searcing for asm-$(SRCARCH) directores under
>> $(srctree).
>> 
>> Cc: Arnd Bergmann <arnd@arndb.de>
>> Cc: Avi Kivity <avi@redhat.com>
>> Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
>> Signed-off-by: Will Deacon <will.deacon@arm.com>
>> ---
> 
> Any further comments on this? It fixes header generation for me, so it would
> be nice to see it merged.

Can you get it reviewed by someone who is familiar with this?  This is
probably the third fix for the this issue.

Arnd?

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] kbuild: kvm: make export of linux/kvm_para.h unconditional
  2012-08-02 14:19   ` Avi Kivity
@ 2012-08-02 20:29     ` Sam Ravnborg
  2012-08-03 12:51       ` Will Deacon
  0 siblings, 1 reply; 8+ messages in thread
From: Sam Ravnborg @ 2012-08-02 20:29 UTC (permalink / raw)
  To: Avi Kivity
  Cc: Will Deacon, linux-kernel@vger.kernel.org, geert@linux-m68k.org,
	akpm@linux-foundation.org, Arnd Bergmann

On Thu, Aug 02, 2012 at 05:19:20PM +0300, Avi Kivity wrote:
> On 08/02/2012 03:25 PM, Will Deacon wrote:
> > On Thu, Jul 26, 2012 at 02:44:14PM +0100, Will Deacon wrote:
> >> The asm-generic version of kvm_para.h is always exported, confusing the
> >> Kbuild wildcarding that tries to detect whether the source architecture
> >> is exporting the header, since asm-* matches the generic version.
> >> 
> >> This patch unconditionally exports linux/kvm_para.h and fixes the few
> >> remaining architectures without asm/kvm_para.h to use the generic
> >> version. I also took the liberty of removing some dead lines from the
> >> wildcarding which was searcing for asm-$(SRCARCH) directores under
> >> $(srctree).
> >> 
> >> Cc: Arnd Bergmann <arnd@arndb.de>
> >> Cc: Avi Kivity <avi@redhat.com>
> >> Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
> >> Signed-off-by: Will Deacon <will.deacon@arm.com>
> >> ---
> > 
> > Any further comments on this? It fixes header generation for me, so it would
> > be nice to see it merged.
> 
> Can you get it reviewed by someone who is familiar with this?  This is
> probably the third fix for the this issue.

IMO the patch is wrong.
Any use of wildcards in include/asm-generic/Kbuild.asm is wrong.

IMO include/asm-generic/Kbuild.asm is for generic header files
that ALL archs can use.

If not ALL archs can use it, then the individual arch shall
specify the file explicit.

I know we here hit a bad thing with the generic-y support,
where we miss a good way to add a file to a lot of archs
without editing a lot of files.

	Sam

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] kbuild: kvm: make export of linux/kvm_para.h unconditional
  2012-08-02 20:29     ` Sam Ravnborg
@ 2012-08-03 12:51       ` Will Deacon
  2012-08-03 13:02         ` Sam Ravnborg
  0 siblings, 1 reply; 8+ messages in thread
From: Will Deacon @ 2012-08-03 12:51 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Avi Kivity, linux-kernel@vger.kernel.org, geert@linux-m68k.org,
	akpm@linux-foundation.org, Arnd Bergmann

On Thu, Aug 02, 2012 at 09:29:11PM +0100, Sam Ravnborg wrote:
> On Thu, Aug 02, 2012 at 05:19:20PM +0300, Avi Kivity wrote:
> > Can you get it reviewed by someone who is familiar with this?  This is
> > probably the third fix for the this issue.
> 
> IMO the patch is wrong.
> Any use of wildcards in include/asm-generic/Kbuild.asm is wrong.

I agree that the wildcard stuff is horrible but that's not something
introduced by this patch. In fact, I'm removing those where there is an
asm-generic header that can be used instead.

> IMO include/asm-generic/Kbuild.asm is for generic header files
> that ALL archs can use.
> 
> If not ALL archs can use it, then the individual arch shall
> specify the file explicit.

In which case, we should probably fix the rules for kvm.h and a.out.h as
well. Neither of these headers have asm-generic versions and I doubt this
is possible, so the header-y lines should be done for each architecture
exporting such a header, no?

> I know we here hit a bad thing with the generic-y support,
> where we miss a good way to add a file to a lot of archs
> without editing a lot of files.

If there isn't a generic version of the header, then yes, I guess you have
to modify the architectures that want to export it.

I'm happy to post an extra patch sorting out kvm.h and a.out.h if that's
what's required to get headers building again.

Will

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] kbuild: kvm: make export of linux/kvm_para.h unconditional
  2012-08-03 12:51       ` Will Deacon
@ 2012-08-03 13:02         ` Sam Ravnborg
  2012-08-03 13:11           ` Arnd Bergmann
  0 siblings, 1 reply; 8+ messages in thread
From: Sam Ravnborg @ 2012-08-03 13:02 UTC (permalink / raw)
  To: Will Deacon
  Cc: Avi Kivity, linux-kernel@vger.kernel.org, geert@linux-m68k.org,
	akpm@linux-foundation.org, Arnd Bergmann

On Fri, Aug 03, 2012 at 01:51:44PM +0100, Will Deacon wrote:
> On Thu, Aug 02, 2012 at 09:29:11PM +0100, Sam Ravnborg wrote:
> > On Thu, Aug 02, 2012 at 05:19:20PM +0300, Avi Kivity wrote:
> > > Can you get it reviewed by someone who is familiar with this?  This is
> > > probably the third fix for the this issue.
> > 
> > IMO the patch is wrong.
> > Any use of wildcards in include/asm-generic/Kbuild.asm is wrong.
> 
> I agree that the wildcard stuff is horrible but that's not something
> introduced by this patch. In fact, I'm removing those where there is an
> asm-generic header that can be used instead.
> 
> > IMO include/asm-generic/Kbuild.asm is for generic header files
> > that ALL archs can use.
> > 
> > If not ALL archs can use it, then the individual arch shall
> > specify the file explicit.
> 
> In which case, we should probably fix the rules for kvm.h and a.out.h as
> well. Neither of these headers have asm-generic versions and I doubt this
> is possible, so the header-y lines should be done for each architecture
> exporting such a header, no?
> 
> > I know we here hit a bad thing with the generic-y support,
> > where we miss a good way to add a file to a lot of archs
> > without editing a lot of files.
> 
> If there isn't a generic version of the header, then yes, I guess you have
> to modify the architectures that want to export it.
> 
> I'm happy to post an extra patch sorting out kvm.h and a.out.h if that's
> what's required to get headers building again.

IMO this is required to sort this out for good.
I will be happy to review your patches.

	Sam

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] kbuild: kvm: make export of linux/kvm_para.h unconditional
  2012-08-03 13:02         ` Sam Ravnborg
@ 2012-08-03 13:11           ` Arnd Bergmann
  2012-09-16 19:31             ` Geert Uytterhoeven
  0 siblings, 1 reply; 8+ messages in thread
From: Arnd Bergmann @ 2012-08-03 13:11 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Will Deacon, Avi Kivity, linux-kernel@vger.kernel.org,
	geert@linux-m68k.org, akpm@linux-foundation.org

On Friday 03 August 2012, Sam Ravnborg wrote:
> > > I know we here hit a bad thing with the generic-y support,
> > > where we miss a good way to add a file to a lot of archs
> > > without editing a lot of files.
> > 
> > If there isn't a generic version of the header, then yes, I guess you have
> > to modify the architectures that want to export it.
> > 
> > I'm happy to post an extra patch sorting out kvm.h and a.out.h if that's
> > what's required to get headers building again.
> 
> IMO this is required to sort this out for good.
> I will be happy to review your patches.

I also owe Mark Brown a solution for the asm/clkdev.h redirect,
as by http://lkml.indiana.edu/hypermail/linux/kernel/1207.0/01141.html

I would very much like to avoid adding another wildcard logic for
generic-y, but I could not figure out how to do that better.

	Arnd

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] kbuild: kvm: make export of linux/kvm_para.h unconditional
  2012-08-03 13:11           ` Arnd Bergmann
@ 2012-09-16 19:31             ` Geert Uytterhoeven
  0 siblings, 0 replies; 8+ messages in thread
From: Geert Uytterhoeven @ 2012-09-16 19:31 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Sam Ravnborg, Will Deacon, Avi Kivity,
	linux-kernel@vger.kernel.org, akpm@linux-foundation.org

On Fri, Aug 3, 2012 at 3:11 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Friday 03 August 2012, Sam Ravnborg wrote:
>> > > I know we here hit a bad thing with the generic-y support,
>> > > where we miss a good way to add a file to a lot of archs
>> > > without editing a lot of files.
>> >
>> > If there isn't a generic version of the header, then yes, I guess you have
>> > to modify the architectures that want to export it.
>> >
>> > I'm happy to post an extra patch sorting out kvm.h and a.out.h if that's
>> > what's required to get headers building again.
>>
>> IMO this is required to sort this out for good.
>> I will be happy to review your patches.
>
> I also owe Mark Brown a solution for the asm/clkdev.h redirect,
> as by http://lkml.indiana.edu/hypermail/linux/kernel/1207.0/01141.html
>
> I would very much like to avoid adding another wildcard logic for
> generic-y, but I could not figure out how to do that better.

Any progress on this one?
It's a regression in 3.5 for sh, and 3.6-rc for m68k.

Thx!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-09-16 19:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-26 13:44 [PATCH] kbuild: kvm: make export of linux/kvm_para.h unconditional Will Deacon
2012-08-02 12:25 ` Will Deacon
2012-08-02 14:19   ` Avi Kivity
2012-08-02 20:29     ` Sam Ravnborg
2012-08-03 12:51       ` Will Deacon
2012-08-03 13:02         ` Sam Ravnborg
2012-08-03 13:11           ` Arnd Bergmann
2012-09-16 19:31             ` Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).