Re: [GIT PULL] interconnect changes for 5.5

From: Greg Kroah-Hartman
Date: Sat Nov 09 2019 - 03:48:32 EST


On Fri, Nov 08, 2019 at 05:36:46PM -0800, Bjorn Andersson wrote:
> On Fri, Nov 8, 2019 at 2:39 AM Greg Kroah-Hartman
> <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Thu, Nov 07, 2019 at 05:42:13PM +0200, Georgi Djakov wrote:
> > > Hi Greg,
> > >
> > > On 11/7/19 16:21, Greg Kroah-Hartman wrote:
> > > > On Thu, Nov 07, 2019 at 02:46:53PM +0200, Georgi Djakov wrote:
> > > >> Hi Greg,
> > > >>
> > > >> This is a pull request with interconnect patches for the 5.5 merge window.
> > > >> All patches have been for a while in linux-next without reported issues. The
> > > >> details are in the signed tag. Please consider pulling into char-misc-next.
> > > >
> > > > I don't know about
> > > > 0003-interconnect-Disallow-interconnect-core-to-be-built-.patch here.
> > > > Shouldn't you just fix up the dependancies of subsystems that rely on
> > > > this? We are moving more and more to kernels that "just work" with
> > > > everything as modules, even on arm64 systems. So forbiding the
> > > > interconnect code from being able to be built as a module does not feel
> > > > good to me at all.
> > >
> > > Thank you for commenting on this! The initial idea was to keep everything as
> > > modular as possible. The reasons behind this change is that other core
> > > frameworks like cpufreq (and possibly others) want to call the interconnect
> > > APIs. Some of these frameworks are built-in only and it would be easier to
> > > handle dependencies if interconnect core built-in too. Now each user that
> > > can be built-in has to specify in Kconfig that it depends on INTERCONNECT ||
> > > !INTERCONNECT.
> >
> > That's fine, when those subsystems start to use those apis, that
> > dependency needs to be added. Nothing new here, and you forcing it to
> > either be "on or off" isn't going to change that. Let's do it correctly
> > please.
> >
>
> Please no!
>
> Making our frameworks tristate means that we can no longer rely on
> include file stubs (as framework=m, client=y will fail), so every
> single client must add the "depends on framework || framework=n" - in
> contrast to nothing the framework itself is bool.

What's wrong with a single "depends on framework"? If your code relies
on this framework, you should depend on it, right? Include file stubs
feels odd for a core functionality, if you can live without that
functionality, then sure, don't depend on it and all should be just
fine.

thanks,

greg k-h