From: Arnd Bergmann <arnd@arndb.de>
To: Tony Lindgren <tony@atomide.com>
Cc: Olof Johansson <olof@lixom.net>,
linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
Omar Ramirez Luna <omar.ramirez@ti.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: Re: [GIT PULL] omap plat header removal for v3.8 merge window, part1
Date: Fri, 26 Oct 2012 17:28:21 +0000 [thread overview]
Message-ID: <201210261728.22132.arnd@arndb.de> (raw)
In-Reply-To: <20121026170949.GF11908@atomide.com>
On Friday 26 October 2012, Tony Lindgren wrote:
> * Arnd Bergmann <arnd@arndb.de> [121026 07:04]:
>
> > I tried running my old multiplatform scripts again and have a few
> > comments, but none of them serious:
> >
> > $ git grep include.*mach-omap2
> > arch/arm/plat-omap/debug-devices.c:#include "../mach-omap2/debug-devices.h"
> > arch/arm/plat-omap/dma.c:#include "../mach-omap2/soc.h"
> > arch/arm/plat-omap/dmtimer.c:#include "../mach-omap2/omap-pm.h"
> > arch/arm/plat-omap/i2c.c:#include "../mach-omap2/soc.h"
> > arch/arm/plat-omap/include/plat/cpu.h:#include "../../mach-omap2/soc.h"
> > arch/arm/plat-omap/omap-pm-noop.c:#include "../mach-omap2/omap_device.h"
> > arch/arm/plat-omap/omap-pm-noop.c:#include "../mach-omap2/omap-pm.h"
> > arch/arm/plat-omap/sram.c:#include "../mach-omap2/soc.h"
> > arch/arm/plat-omap/sram.c:#include "../mach-omap2/iomap.h"
> > arch/arm/plat-omap/sram.c:#include "../mach-omap2/prm2xxx_3xxx.h"
> > arch/arm/plat-omap/sram.c:#include "../mach-omap2/sdrc.h"
> >
> > I don't like the relative include paths too much. I would have preferred
> > adding the mach-omap2/include/mach path in the plat-omap Makefile, but
> > I suppose you want to leave it like it is now since you mention you
> > have already built on top of it.
>
> Well I wanted to keep them local to arch/arm/*omap*/ directories,
> and not have them exposed at all for drivers.
>
> Other than that I don't have an issue using non-relative paths, except
> mach-omap2/include/mach traditionally has been exposed to drivers
> as the legacy #include <mach/*.h>, so IMHO local headers in the
> arch/arm/*omap*/ directories are better.
>
> But now I wonder if we can somehow have drivers not be able to
> include these local headers?
Well, once CONFIG_MULTIPLATFORM gets enabled, the mach/*.h files are
not visible to drivers any more, but they are still visible to files
in plat-omap if you add a line like
ccflags-$(CONFIG_ARCH_OMAP2) := -I$(srctree)/arch/arm/mach-omap2/include
ccflags-$(CONFIG_ARCH_OMAP1) := -I$(srctree)/arch/arm/mach-omap1/include
to arch/arm/plat-omap/Makefile. That is how the other multiplatform
Makefiles do it. If a driver writer really wants to cheat, they can of
course do the same thing in their directory, but they can also do
#include "../../../../arch/arm/mach-omap2/foo.h"
> > sound/soc/omap/am3517evm.c:#include <mach-omap2/hardware.h>
> > sound/soc/omap/am3517evm.c:#include <mach-omap2/gpio.h>
> > sound/soc/omap/ams-delta.c:#include <mach-omap2/board-ams-delta.h>
> > sound/soc/omap/n810.c:#include <mach-omap2/hardware.h>
> > sound/soc/omap/sdp3430.c:#include <mach-omap2/hardware.h>
> > sound/soc/omap/sdp3430.c:#include <mach-omap2/gpio.h>
> > sound/soc/omap/zoom2.c:#include <mach-omap2/hardware.h>
> > sound/soc/omap/zoom2.c:#include <mach-omap2/gpio.h>
> > sound/soc/omap/zoom2.c:#include <mach-omap2/board-zoom.h>
> >
> > Not sure if you were just missing these or if you already have other
> > patch lined up for them.
>
> In which branch do you see the above?
>
> I'm not seeing them in v3.7-rc2, looks like all sound/soc/omap/*.c
> files have already been fixed up.
I am looking at the arm-soc for-next branch, which is based on v3.7-rc2.
Note that before my script, this reads
#include <mach/hardware.h>
not
#include <mach-omap2/hardware.h>
but the effect is the same if the file is not available.
> In any case, let's not have #include <mach-omap1/*.h> or
> #include <mach-omap2/*.h> includes in the drivers, they are
> wrong. Those headers are meant to be local, the legacy shared
> headers should be in #include <mach/*.h>. Whatever needs to
> be passed from arch/arm/*omap*/ to drivers, should be done
> using include/linux/platform_data/*.h files.
I'm not suggesting to use mach-omap2/*.h, it's just what my
old script shows when hunting for platform header files that are
used in device drivers.
> For omap1, we might as well keep the existing ones from
> #include <mach/*.h> as they are until somebody wants to fix
> up things properly for omap1 for CONFIG_MULTIPLATFORM.
Fair enough.
Arnd
WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [GIT PULL] omap plat header removal for v3.8 merge window, part1
Date: Fri, 26 Oct 2012 17:28:21 +0000 [thread overview]
Message-ID: <201210261728.22132.arnd@arndb.de> (raw)
In-Reply-To: <20121026170949.GF11908@atomide.com>
On Friday 26 October 2012, Tony Lindgren wrote:
> * Arnd Bergmann <arnd@arndb.de> [121026 07:04]:
>
> > I tried running my old multiplatform scripts again and have a few
> > comments, but none of them serious:
> >
> > $ git grep include.*mach-omap2
> > arch/arm/plat-omap/debug-devices.c:#include "../mach-omap2/debug-devices.h"
> > arch/arm/plat-omap/dma.c:#include "../mach-omap2/soc.h"
> > arch/arm/plat-omap/dmtimer.c:#include "../mach-omap2/omap-pm.h"
> > arch/arm/plat-omap/i2c.c:#include "../mach-omap2/soc.h"
> > arch/arm/plat-omap/include/plat/cpu.h:#include "../../mach-omap2/soc.h"
> > arch/arm/plat-omap/omap-pm-noop.c:#include "../mach-omap2/omap_device.h"
> > arch/arm/plat-omap/omap-pm-noop.c:#include "../mach-omap2/omap-pm.h"
> > arch/arm/plat-omap/sram.c:#include "../mach-omap2/soc.h"
> > arch/arm/plat-omap/sram.c:#include "../mach-omap2/iomap.h"
> > arch/arm/plat-omap/sram.c:#include "../mach-omap2/prm2xxx_3xxx.h"
> > arch/arm/plat-omap/sram.c:#include "../mach-omap2/sdrc.h"
> >
> > I don't like the relative include paths too much. I would have preferred
> > adding the mach-omap2/include/mach path in the plat-omap Makefile, but
> > I suppose you want to leave it like it is now since you mention you
> > have already built on top of it.
>
> Well I wanted to keep them local to arch/arm/*omap*/ directories,
> and not have them exposed at all for drivers.
>
> Other than that I don't have an issue using non-relative paths, except
> mach-omap2/include/mach traditionally has been exposed to drivers
> as the legacy #include <mach/*.h>, so IMHO local headers in the
> arch/arm/*omap*/ directories are better.
>
> But now I wonder if we can somehow have drivers not be able to
> include these local headers?
Well, once CONFIG_MULTIPLATFORM gets enabled, the mach/*.h files are
not visible to drivers any more, but they are still visible to files
in plat-omap if you add a line like
ccflags-$(CONFIG_ARCH_OMAP2) := -I$(srctree)/arch/arm/mach-omap2/include
ccflags-$(CONFIG_ARCH_OMAP1) := -I$(srctree)/arch/arm/mach-omap1/include
to arch/arm/plat-omap/Makefile. That is how the other multiplatform
Makefiles do it. If a driver writer really wants to cheat, they can of
course do the same thing in their directory, but they can also do
#include "../../../../arch/arm/mach-omap2/foo.h"
> > sound/soc/omap/am3517evm.c:#include <mach-omap2/hardware.h>
> > sound/soc/omap/am3517evm.c:#include <mach-omap2/gpio.h>
> > sound/soc/omap/ams-delta.c:#include <mach-omap2/board-ams-delta.h>
> > sound/soc/omap/n810.c:#include <mach-omap2/hardware.h>
> > sound/soc/omap/sdp3430.c:#include <mach-omap2/hardware.h>
> > sound/soc/omap/sdp3430.c:#include <mach-omap2/gpio.h>
> > sound/soc/omap/zoom2.c:#include <mach-omap2/hardware.h>
> > sound/soc/omap/zoom2.c:#include <mach-omap2/gpio.h>
> > sound/soc/omap/zoom2.c:#include <mach-omap2/board-zoom.h>
> >
> > Not sure if you were just missing these or if you already have other
> > patch lined up for them.
>
> In which branch do you see the above?
>
> I'm not seeing them in v3.7-rc2, looks like all sound/soc/omap/*.c
> files have already been fixed up.
I am looking at the arm-soc for-next branch, which is based on v3.7-rc2.
Note that before my script, this reads
#include <mach/hardware.h>
not
#include <mach-omap2/hardware.h>
but the effect is the same if the file is not available.
> In any case, let's not have #include <mach-omap1/*.h> or
> #include <mach-omap2/*.h> includes in the drivers, they are
> wrong. Those headers are meant to be local, the legacy shared
> headers should be in #include <mach/*.h>. Whatever needs to
> be passed from arch/arm/*omap*/ to drivers, should be done
> using include/linux/platform_data/*.h files.
I'm not suggesting to use mach-omap2/*.h, it's just what my
old script shows when hunting for platform header files that are
used in device drivers.
> For omap1, we might as well keep the existing ones from
> #include <mach/*.h> as they are until somebody wants to fix
> up things properly for omap1 for CONFIG_MULTIPLATFORM.
Fair enough.
Arnd
next prev parent reply other threads:[~2012-10-26 17:28 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-19 2:33 [GIT PULL] omap plat header removal for v3.8 merge window, part1 Tony Lindgren
2012-10-19 2:33 ` Tony Lindgren
2012-10-26 14:02 ` Arnd Bergmann
2012-10-26 14:02 ` Arnd Bergmann
2012-10-26 17:09 ` Tony Lindgren
2012-10-26 17:09 ` Tony Lindgren
2012-10-26 17:28 ` Arnd Bergmann [this message]
2012-10-26 17:28 ` Arnd Bergmann
2012-10-26 17:55 ` Tony Lindgren
2012-10-26 17:55 ` Tony Lindgren
2012-10-26 22:38 ` Tony Lindgren
2012-10-26 22:38 ` Tony Lindgren
2012-10-27 8:09 ` Arnd Bergmann
2012-10-27 8:09 ` Arnd Bergmann
2012-10-27 16:29 ` Tony Lindgren
2012-10-27 16:29 ` Tony Lindgren
2012-10-27 9:02 ` Russell King - ARM Linux
2012-10-27 9:02 ` Russell King - ARM Linux
2012-10-27 16:32 ` Tony Lindgren
2012-10-27 16:32 ` Tony Lindgren
2012-10-30 23:54 ` Tony Lindgren
2012-10-30 23:54 ` Tony Lindgren
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=201210261728.22132.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=olof@lixom.net \
--cc=omar.ramirez@ti.com \
--cc=tony@atomide.com \
/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.