Messages in this thread | | | Date | Mon, 15 Jun 2009 19:04:44 +0100 | From | Mark Brown <> | Subject | Re: [GIT PULL] voltage regulator updates for 2.6.31-rc1 |
| |
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.
| |