Re: [GIT PULL] voltage regulator updates for 2.6.31-rc1

From: Mark Brown
Date: Mon Jun 15 2009 - 14:04:58 EST


On Mon, Jun 15, 2009 at 10:28:31AM -0700, Linus Torvalds wrote:
> On Mon, 15 Jun 2009, Mark Brown wrote:

> > It defines a platform data structure for the architecture code which
> > instantiates the driver to use to pass configuration to the driver. If

> A quick grep shows:

> [torvalds@nehalem linux]$ git grep lp3971.h
> drivers/regulator/lp3971.c:#include <linux/regulator/lp3971.h>

> ie _nobody_ includes lp3971.h except for lp3971.c.

> So tell me again, why is that lp3971.h file separate from the only driver
> that uses it?

Currently there are no in-tree users of the driver at all - being an I2C
device it requires explict instantiation. When users do get merged they
will need to provide this platform data so it seems to make sense to add
the ability to specify the platform data along with the driver. If we
omit the platform data for now then any users of the driver would need
to be submitted along with a patch adding the platform data (and would
need to carry that patch while out of tree).

We could also say we won't merge any drivers that don't have an in-tree
user but that goes against the general approach to driver merging and
increases the barrier to upstream submission for people working on
systems using regulators.

This situation where you've got drivers merged that are never actually
used in mainline isn't very unusual - sometimes people produce drivers
while working on systems that are never going to be mainlined, sometimes
it's simply a case of the driver support being ready for mainline before
the board code itself is in a mainlineable state. It's also not unique
to regulator drivers - one other example I just turned up is the tsc2007
touchscreen driver.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/