[PATCH] msm: add single-wire serial bus interface (SSBI) driver

Nicolas Pitre nico at fluxnic.net
Tue Feb 22 21:37:28 EST 2011


On Tue, 22 Feb 2011, David Brown wrote:

> On Tue, Feb 22 2011, Daniel Walker wrote:
> 
> > On Tue, 2011-02-22 at 12:47 -0800, Dima Zavin wrote:
> >
> >> What is the problem leaving it under arch/arm/mach-msm?
> >
> > Because it's a driver.
> 
> There are a lot of other drivers currently under various arch
> subsystems.  

And they are wrong.  Probably because of some historical reasons.

> I'm not sure if a driver that is specific to only one arch
> has a strong reason to be elsewhere in the kernel.

You'll find plenty of examples for that, far more than drivers in arch 
specific directories.

> If there was a possibility of there being other devices that used 
> SSBI, it might make sense to put it elsewhere.  But, as far as I know, 
> this device is only found on MSM chips.

That doesn't matter.

The main reasoning is that Linux has no stable internal API by design. 
When large scale driver API changes happen, it is the responsibility of 
the person doing that change to also fix up all the in-tree users of 
that API.  And it is far more trouble for that person who probably has 
no knowledge about msm to go and hunt for all scattered drivers 
throughout the tree than it is for you to remember that all your drivers 
are under linux/drivers/.

And if someone else comes up with a SSBI interface, then it will be much 
easier to notice the already existing driver if it is in the driver 
directory rather than somewhere else in some unrelated (from that 
person's pov) obscure directory.

This was discussed in the past already.  I would have liked to provide a 
link to some archived discussions (they do exist) but I can't find them 
at the moment.

> It seems kind of unusual to create an entirely new directory under
> drivers to hold what will only ever be a single driver.

Well, a couple examples exist already: drivers/dca, drivers/nfc, 
drivers/sn, drivers/tc, drivers/vlynq, etc.  And if you expect to have 
more oddball msm drivers then you can create a drivers/msm directory, 
similar to the existing drivers/macintosh, drivers/parisc, drivers/s390, 
drivers/sh, drivers/video/omap, drivers/video/omap2, etc.


Nicolas



More information about the linux-arm-kernel mailing list