On Wed, Mar 03, 2021 at 05:33:46PM +0100, Arnd Bergmann wrote: > On Wed, Mar 3, 2021 at 4:46 PM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote: > > On 03/03/2021 16:09, Greg Kroah-Hartman wrote: > > > On Wed, Mar 03, 2021 at 06:56:38AM -0800, Guenter Roeck wrote: > > >> On 3/3/21 6:05 AM, Greg Kroah-Hartman wrote: > > >> [ ... ] > > >>>> Anyway, that's the convention or consensus so far for entire SoC. If we > > >>>> want to change it - sure, but let's make it for everyone, not for just > > >>>> this one USB driver. > > >>> > > >>> Great, let's change it for everyone, I don't see a need for ARCH_* > > >>> symbols except for people who want to make it simpler for their one > > >>> board type. And for that, use a defconfig. > > >>> > > >> > > >> I don't think that will work in practice. Many ARCH_ symbols for various > > >> architectures contradict with each other. Almost all watchdog drivers > > >> only _build_ for specific platforms/architectures. > > > > > > Great, that's horrible to hear, so much for a "generic arm64 kernel > > > binary" which I _thought_ was the goal. > > > > > > ugh, you would have thought we would have learned our lesson with > > > arm32... > > I have no idea what you are talking about here. arm64 kernels have > always been generic, but you still need drivers for each piece of > hardware, we unfortunately can't stop SoC vendors from reinventing > the wheel with each new platform and then having to add yet another > driver for each subsystems. That's fine, drivers are easy, but when I see comments like "ARCH_ symbols contradict" that means that we can not make a generic kernel image. Otherwise there's no contradiction :) And "new drivers" are almost always not really "new" as everyone uses much the same IP blocks. As proof of this patch where the DWC3 IP block is being used by multiple SoC vendors. To handle that, you split out the SoC-specific portions into sub-drivers, so that you can build a single image of the driver that works on multiple platforms. Nothing new, we've been doing this for years, it's just that out-of-mainline SoC trees that think they can touch "core IP block code" break this all the time, which is what I am pushing back on. Anyway, this is just me as a driver subsystem maintainer being grumpy to see ARCH_ dependancies on tiny little things like SoC-portions for generic IP drivers. Or on individual drivers (i.e. Samsung serial port driver), where they don't belong at all. So the overall goal of the original patch here is great, I want to see that happen, as long as it's done in a way that does not ignore feedback of arch maintainers... thanks, greg k-h