[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOCOHw4d0q3uGTAh_UrNWr+Wi6ObDKUFn7M_zkD8cFTkNFEUDA@mail.gmail.com>
Date: Fri, 8 Nov 2019 17:36:46 -0800
From: Bjorn Andersson <bjorn.andersson@...aro.org>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Georgi Djakov <georgi.djakov@...aro.org>,
Linux PM list <linux-pm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Viresh Kumar <viresh.kumar@...aro.org>
Subject: Re: [GIT PULL] interconnect changes for 5.5
On Fri, Nov 8, 2019 at 2:39 AM Greg Kroah-Hartman
<gregkh@...uxfoundation.org> 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.
An example of this is that there's almost 500 files referencing the
regulator api and all Kconfig entries referencing these files must be
updated with a "depends on REGULATOR || REGULATOR=n" if we're going to
start tristating frameworks.
For individual drivers behind these frameworks, definitely tristate.
But the only thing you're going to get out of making the frameworks
tristate is more build failures.
Regards,
Bjorn
Powered by blists - more mailing lists