[PATCH v3 1/8] ARM: Samsung: Add register definitions for Samsung S5P SoC camera interface
Russell King - ARM Linux
linux at arm.linux.org.uk
Mon Aug 2 08:09:14 EDT 2010
On Mon, Aug 02, 2010 at 08:51:06AM -0300, Mauro Carvalho Chehab wrote:
> Em 02-08-2010 07:52, Russell King - ARM Linux escreveu:
> > On Mon, Aug 02, 2010 at 12:32:20PM +0200, Pawel Osciak wrote:
> >> Well, some of them are indeed unused, but it's not an uncommon practice in
> >> kernel and might help future developers.
> >
> > On the other hand, arch/arm is getting soo big that we need to do
> > something about this - and one solution is to avoid unnecessary
> > definitions that we're not using.
> >
> > Another good idea is to put definitions along side the drivers which
> > they're relevant to - maybe in a local driver-name.h file which
> > driver-name.c includes, or maybe even within driver-name.c if they're
> > not excessive. This has the advantage of distributing the "bloat" to
> > where its actually used, and means that the driver isn't dependent so
> > much on arch/arm or even the SoC itself.
>
> Very much appreciated from my side. It is very hard to sync changes that
> happen via arm trees when merging from my tree. There were several cases
> in the past were I needed to coordinate with an ARM maintainer about when
> he would merge from his tree, as the patches I had on media tree were
> highly dependent on the patches at arch.
That's a separate problem - one which occurs when there's platform
code in arch/arm/ which shares a common data structure with driver
code under drivers/.
I don't think there's an easy resolution to that one, because if
you split the arch/arm/ change (which may depend on other arch/arm/
changes) from the drivers/ change, someone ends up losing no matter
where the header file with the common data structure is placed.
One answer to that is to kill the idea that every ARM architecture
needs to define their own watchdog platform data - and instead
replace it with a shared watchdog_platform_data structure, much like
the flash_platform_data structure in arch/arm/include/asm/mach/flash.h
(which'd would be nice to be under include/linux ...)
More information about the linux-arm-kernel
mailing list