On Monday 29 April 2013, Linus Torvalds wrote: > And I'm calling the ARM people out on this idiocy. Arnd and Nico - > stop encouraging this kind of crap. Move things to drivers only once > there is actual reason for it. If it's some proprierary single-SoC > thing, it can damn well stay away from other people. And it definitely > shouldn't mess up autocomplete in some core location.
First of all, I have to admit that I did not notice ssbi getting submitted, otherwise I would have suggested adding it to the drivers/bus directory that we created a while ago for bus drivers. I think there are good reasons for most of the drivers we have moved out of arch/arm to stay out of there: we have added subdirectories for a lot of drivers that are alike: * drivers/irqchip * drivers/clocksource * drivers/cpufreq * drivers/pinctrl * drivers/pci/host * drivers/pwm All of these (and probably a couple I missed) now have a subsystem maintainer who can look at the bigger picture across multiple platforms, create common infrastructure to avoid code duplication and point out when people create new drivers for hardware that already has an existing driver in the same subsystem (this happens more than you'd think). Moreoever, a lot of ARM platforms in share even the most basic building blocks with platforms on other architectures: powerpc, mips, hexagon, c6x, sh, and even x86. I think it's much better to consistently move those drivers into on directory per subsystem rather than having only half the irqchip drivers in one directory when they are shared across two architectures, and the rest hidden away in some platform. In the end, it's not much different from having a platform specific network driver sit under drivers/net/ethernet rather than arch/arm/mach-foo even if we know it's never going to be used elsewhere. In case of SSBI, I assume it's also being used by arch/hexagon, which is the other CPU core on many Qualcomm SoCs, but I'm sure that David can comment better on that one, maybe it's only used exclusively on SoCs that are ARM-only. I think about two years ago, I tried to move a lot of simple "bus" drivers into a common drivers/bus/ directory: amba, bcma, dio, eisa, hsi, nubus, vlynq, vme, zorro out of their own top-level drivers directory. That idea was almost universally rejected. I did ask people submitting new bus infrastructure to use drivers/bus though, and at least three of them were subsequently merged that way (or are queued up for this merge window). If you like, we can try to find a different place for those along with ssbi. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/