All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ralf Baechle <ralf@linux-mips.org>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: linux arch <linux-arch@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: kbuild now support arch/$ARCH/include - time for ARCHs to convert
Date: Thu, 31 Jul 2008 19:23:15 +0100	[thread overview]
Message-ID: <20080731182315.GA18060@linux-mips.org> (raw)
In-Reply-To: <20080728200500.GA14284@uranus.ravnborg.org>

On Mon, Jul 28, 2008 at 10:05:00PM +0200, Sam Ravnborg wrote:

> The traditional location of the arch specific Makefiles
> has been at:
> 
> 	include/asm-$ARCH
> 
> But as suggested by several people over time and lately
> by Linus in the following post:
> http://kerneltrap.org/mailarchive/linux-kernel/2008/5/21/1903924
> 
> is is suggested to move the arch specific files under arch/
> and for the header files this is arch/$ARCH/include.
> 
> So I have hacked up support for this in kbuild so
> for the simpler cases a simple move of header files as
> in:
> 	git mv include/asm-$ARCH arch/$ARCH/include/asm
> 
> is enough.
> 
> If Linus will accept it then I think -rc1 is a perfect
> time to do it as people has less stuff pending touching
> the header files that are moved.
> Validation is easy - does the usual configs build?
> 
> For the archs that plays games with symlinks this is a
> splendid opportunity to get rid af these.
> The receipe is simple:
> Use 
> 	KBUILD_CFLAGS += -Iarch/$ARCH/include/$CPU
> 
> to select the CPU and then do a copy of the header files
> like this:
> 
> 	git mv include/asm-$ARCH/$CPU arch/$ARCH/include/$CPU/cpu
> 
> Then the code can continue to use:
> 
> 	#include <cpu/foo.h>
> 
> I already converted sparc to use arch/sparc/include -
> while I merged the header files for sparc and sparc64.
> This change is already upstream.
> 
> And for SH I posted a receipe which you can read here:
> http://lkml.org/lkml/2008/7/28/83
> 
> It is SH specific but anyway pretty generic.
> 
> I am limited in time and resources at the moment but I
> would be glad to help out as time permits should there
> be any questions.

I just did the necessary changes for MIPS and the first testbuild is running
successfully so far.

One of the ugly things in the MIPS makefiles is the use of platform-
specific headers in include/asm-mips/mach-* which contain platform specific
headers.  Ideally those should be included through something like
<mach/somefile.h> or <plat/something.h> and I think a directory like
arch/$ARCH/$PLATFORM/include/plat/foobar.h could be a good place in the
new scheme?  I assume other platforms have similar issues with subplatforms,
processor sub-architectures etc.?

  Ralf

  parent reply	other threads:[~2008-07-31 18:23 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-28 20:05 kbuild now support arch/$ARCH/include - time for ARCHs to convert Sam Ravnborg
2008-07-29  3:06 ` Kyle McMartin
2008-07-29  3:27   ` Sam Ravnborg
2008-07-29 14:21     ` Kyle McMartin
2008-08-09  2:50       ` Sam Ravnborg
2008-07-30  6:49 ` Greg Ungerer
2008-07-30  7:07   ` Arnd Bergmann
2008-07-30  8:52     ` Sam Ravnborg
2008-07-30  9:34     ` David Howells
2008-07-30 12:26       ` Geert Uytterhoeven
2008-07-30 12:26         ` Geert Uytterhoeven
2008-07-31  3:23         ` Paul Mundt
2008-07-31  7:17           ` Geert Uytterhoeven
2008-07-31 11:26             ` Greg Ungerer
2008-07-31 19:47           ` Arnd Bergmann
2008-07-31 20:13             ` Sam Ravnborg
2008-08-01  7:35               ` Arnd Bergmann
2008-08-01 16:46                 ` Sam Ravnborg
2008-07-30  8:38   ` Sam Ravnborg
2008-08-01  6:03     ` Greg Ungerer
2008-08-03 20:16       ` Geert Uytterhoeven
2008-08-04  0:34         ` Greg Ungerer
2008-08-04  5:10           ` Sam Ravnborg
2008-08-04 14:35         ` Arnd Bergmann
2008-08-04 16:00           ` Geert Uytterhoeven
2008-08-04 16:45             ` Sam Ravnborg
2008-07-31 18:23 ` Ralf Baechle [this message]
2008-07-31 20:14   ` Sam Ravnborg
2008-08-09  2:52   ` Sam Ravnborg
2008-08-09  3:09     ` Paul Mundt
2008-08-09  7:03       ` Sam Ravnborg
2008-08-09  7:20         ` Russell King
2008-08-09 11:13           ` Sam Ravnborg
2008-08-01  8:35 ` Martin Schwidefsky
2008-08-01 16:49   ` Sam Ravnborg
2008-08-05  4:18 ` Rusty Russell
2008-08-05 17:16   ` Geert Uytterhoeven
2008-08-05 20:45   ` Sam Ravnborg
2008-08-05 22:06     ` Russell King
2008-08-06 19:21       ` Russell King
2008-08-06 19:28         ` Sam Ravnborg
2008-08-06 19:51           ` Russell King
2008-08-06 19:27       ` Sam Ravnborg
2008-08-09  7:28 ` Sam Ravnborg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080731182315.GA18060@linux-mips.org \
    --to=ralf@linux-mips.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.