linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@gmail.com>
To: Dmitry Osipenko <digetx@gmail.com>
Cc: Jonathan Hunter <jonathanh@nvidia.com>,
	MyungJoo Ham <myungjoo.ham@samsung.com>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	Tomeu Vizoso <tomeu.vizoso@collabora.com>,
	linux-pm@vger.kernel.org, linux-tegra@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 14/16] PM / devfreq: tegra: Enable COMPILE_TEST for the driver
Date: Tue, 4 Jun 2019 16:50:04 +0200	[thread overview]
Message-ID: <20190604145004.GA3208@ulmo> (raw)
In-Reply-To: <02a6651f-17f3-2e79-7780-57657596ba23@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4358 bytes --]

On Tue, Jun 04, 2019 at 05:41:53PM +0300, Dmitry Osipenko wrote:
> 04.06.2019 17:18, Thierry Reding пишет:
> > On Tue, Jun 04, 2019 at 04:10:31PM +0200, Thierry Reding wrote:
> >> On Tue, Jun 04, 2019 at 04:53:17PM +0300, Dmitry Osipenko wrote:
> >>> 04.06.2019 14:20, Thierry Reding пишет:
> >>>> On Thu, May 02, 2019 at 02:38:13AM +0300, Dmitry Osipenko wrote:
> >>>>> The driver's compilation doesn't have any specific dependencies, hence
> >>>>> the COMPILE_TEST option can be supported in Kconfig.
> >>>>>
> >>>>> Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
> >>>>> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
> >>>>> ---
> >>>>>  drivers/devfreq/Kconfig | 2 +-
> >>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>>
> >>>>> diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig
> >>>>> index 56db9dc05edb..a6bba6e1e7d9 100644
> >>>>> --- a/drivers/devfreq/Kconfig
> >>>>> +++ b/drivers/devfreq/Kconfig
> >>>>> @@ -93,7 +93,7 @@ config ARM_EXYNOS_BUS_DEVFREQ
> >>>>>  
> >>>>>  config ARM_TEGRA_DEVFREQ
> >>>>>  	tristate "NVIDIA Tegra30/114/124/210 DEVFREQ Driver"
> >>>>> -	depends on ARCH_TEGRA
> >>>>> +	depends on ARCH_TEGRA || COMPILE_TEST
> >>>>>  	select PM_OPP
> >>>>>  	help
> >>>>>  	  This adds the DEVFREQ driver for the Tegra family of SoCs.
> >>>>
> >>>> You need to be careful with these. You're using I/O register accessors,
> >>>> which are not supported on the UM architecture, for example.
> >>>>
> >>>> This may end up getting flagged during build testing.
> >>>
> >>> We have similar cases in other drivers and it doesn't cause any known
> >>> problems because (I think) build-bots are aware of this detail. Hence
> >>
> >> I don't understand how the build-bots would be aware of this detail.
> >> Unless you explicitly state what the dependencies are, how would the
> >> build-bots know? Perhaps there's some logic built-in somewhere that I
> >> don't know about?
> > 
> > So looks like COMPILE_TEST has a !UML dependency, so this might just
> > work.
> > 
> > Acked-by: Thierry Reding <treding@nvidia.com>
> > 
> 
> Thank you very much for the clarification! Certainly that would caused
> problems already since there are such cases all over the kernel,
> including Tegra drivers.

In the cases that I'm aware of we used to explicitly list all the
dependencies that would've otherwise been pulled in by the ARCH_TEGRA
dependency to make sure there were no issues.

Now that we've been discussing this I vaguely recall a discussion about
the only real issue nowadays being HAS_IOMEM and since that's only
missing on UML, that may have been the reason for why the !UML
dependency was added.

Yes, looks like that was it:

	commit bc083a64b6c035135c0f80718f9e9192cc0867c6
	Author: Richard Weinberger <richard@nod.at>
	Date:   Tue Aug 2 14:03:27 2016 -0700

	    init/Kconfig: make COMPILE_TEST depend on !UML

	    UML is a bit special since it does not have iomem nor dma.  That means a
	    lot of drivers will not build if they miss a dependency on HAS_IOMEM.
	    s390 used to have the same issues but since it gained PCI support UML is
	    the only stranger.

	    We are tired of patching dozens of new drivers after every merge window
	    just to un-break allmod/yesconfig UML builds.  One could argue that a
	    decent driver has to know on what it depends and therefore a missing
	    HAS_IOMEM dependency is a clear driver bug.  But the dependency not
	    obvious and not everyone does UML builds with COMPILE_TEST enabled when
	    developing a device driver.

	    A possible solution to make these builds succeed on UML would be
	    providing stub functions for ioremap() and friends which fail upon
	    runtime.  Another one is simply disabling COMPILE_TEST for UML.  Since
	    it is the least hassle and does not force use to fake iomem support
	    let's do the latter.

	    Link: http://lkml.kernel.org/r/1466152995-28367-1-git-send-email-richard@nod.at
	    Signed-off-by: Richard Weinberger <richard@nod.at>
	    Acked-by: Arnd Bergmann <arnd@arndb.de>
	    Cc: Al Viro <viro@zeniv.linux.org.uk>
	    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
	    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Oh wow... almost three years now.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2019-06-04 14:50 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20190501234148epcas5p1cc9a8dafa9ee6d8d046d1292b8270727@epcas5p1.samsung.com>
2019-05-01 23:37 ` [PATCH v4 00/16] NVIDIA Tegra devfreq improvements and Tegra20/30 support Dmitry Osipenko
2019-05-01 23:38   ` [PATCH v4 01/16] PM / devfreq: tegra: Fix kHz to Hz conversion Dmitry Osipenko
2019-06-04 10:54     ` Thierry Reding
2019-05-01 23:38   ` [PATCH v4 02/16] PM / devfreq: tegra: Replace readl-writel with relaxed versions Dmitry Osipenko
2019-06-04 10:55     ` Thierry Reding
2019-05-01 23:38   ` [PATCH v4 03/16] PM / devfreq: tegra: Replace write memory barrier with the read barrier Dmitry Osipenko
2019-06-04 10:56     ` Thierry Reding
2019-05-01 23:38   ` [PATCH v4 04/16] PM / devfreq: tegra: Don't ignore clk errors Dmitry Osipenko
2019-06-04 10:57     ` Thierry Reding
2019-05-01 23:38   ` [PATCH v4 05/16] PM / devfreq: tegra: Don't set EMC clock rate to maximum on probe Dmitry Osipenko
2019-06-04 11:00     ` Thierry Reding
2019-06-04 13:05       ` Dmitry Osipenko
2019-05-01 23:38   ` [PATCH v4 06/16] PM / devfreq: tegra: Drop primary interrupt handler Dmitry Osipenko
2019-06-04 11:02     ` Thierry Reding
2019-05-01 23:38   ` [PATCH v4 07/16] PM / devfreq: tegra: Properly disable interrupts Dmitry Osipenko
2019-06-04 11:07     ` Thierry Reding
2019-06-04 13:40       ` Dmitry Osipenko
2019-06-04 14:06         ` Thierry Reding
2019-06-04 14:59           ` Dmitry Osipenko
2019-06-04 22:55         ` Dmitry Osipenko
2019-06-07 16:58           ` Dmitry Osipenko
2019-05-01 23:38   ` [PATCH v4 08/16] PM / devfreq: tegra: Clean up driver's probe / remove Dmitry Osipenko
2019-06-04 11:09     ` Thierry Reding
2019-05-01 23:38   ` [PATCH v4 09/16] PM / devfreq: tegra: Avoid inconsistency of current frequency value Dmitry Osipenko
2019-06-04 11:14     ` Thierry Reding
2019-05-01 23:38   ` [PATCH v4 10/16] PM / devfreq: tegra: Mark ACTMON's governor as immutable Dmitry Osipenko
2019-06-04 11:15     ` Thierry Reding
2019-05-01 23:38   ` [PATCH v4 11/16] PM / devfreq: tegra: Move governor registration to driver's probe Dmitry Osipenko
2019-06-04 11:15     ` Thierry Reding
2019-05-01 23:38   ` [PATCH v4 12/16] PM / devfreq: tegra: Reconfigure hardware on governor's restart Dmitry Osipenko
2019-06-04 11:17     ` Thierry Reding
2019-05-01 23:38   ` [PATCH v4 13/16] PM / devfreq: tegra: Support Tegra30 Dmitry Osipenko
2019-06-04 11:18     ` Thierry Reding
2019-05-01 23:38   ` [PATCH v4 14/16] PM / devfreq: tegra: Enable COMPILE_TEST for the driver Dmitry Osipenko
2019-06-04 11:20     ` Thierry Reding
2019-06-04 13:53       ` Dmitry Osipenko
2019-06-04 14:10         ` Thierry Reding
2019-06-04 14:18           ` Thierry Reding
2019-06-04 14:41             ` Dmitry Osipenko
2019-06-04 14:50               ` Thierry Reding [this message]
2019-06-04 15:15                 ` Dmitry Osipenko
2019-05-01 23:38   ` [PATCH v4 15/16] PM / devfreq: tegra: Rename tegra-devfreq.c to tegra30-devfreq.c Dmitry Osipenko
2019-06-04 11:23     ` Thierry Reding
2019-06-04 14:35       ` Dmitry Osipenko
2019-05-01 23:38   ` [PATCH v4 16/16] PM / devfreq: Introduce driver for NVIDIA Tegra20 Dmitry Osipenko
2019-06-04 11:25     ` Thierry Reding
2019-06-04 13:57       ` Dmitry Osipenko
2019-05-03  0:31   ` [PATCH v4 00/16] NVIDIA Tegra devfreq improvements and Tegra20/30 support Chanwoo Choi
2019-05-03  0:52     ` Dmitry Osipenko
2019-06-03 16:52       ` Dmitry Osipenko
2019-06-04  0:49         ` Chanwoo Choi
2019-06-04 23:09           ` Dmitry Osipenko
2019-06-23 17:17             ` Dmitry Osipenko
2019-06-23 23:50               ` Chanwoo Choi
2019-06-24  0:35                 ` Dmitry Osipenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190604145004.GA3208@ulmo \
    --to=thierry.reding@gmail.com \
    --cc=cw00.choi@samsung.com \
    --cc=digetx@gmail.com \
    --cc=jonathanh@nvidia.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=myungjoo.ham@samsung.com \
    --cc=tomeu.vizoso@collabora.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).