Thread (9 messages) read the whole thread 9 messages, 3 authors, 2018-02-27

[RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'

From: Masahiro Yamada <hidden>
Date: 2018-02-27 00:47:46
Also in: linux-clk, linux-usb, lkml

2018-02-26 21:43 GMT+09:00 Arnd Bergmann [off-list ref]:
On Mon, Feb 26, 2018 at 12:53 PM, Masahiro Yamada
[off-list ref] wrote:
quoted
2018-02-26 17:43 GMT+09:00 Arnd Bergmann [off-list ref]:
quoted
On Sat, Feb 24, 2018 at 3:50 PM, Masahiro Yamada
[off-list ref] wrote:
quoted
As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
used with care - it forces a lower limit of another symbol, ignoring
the dependency.

MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
select it.

This causes unmet dependencies for architecture without HAS_IOMEM.

  $ make ARCH=score randconfig
  scripts/kconfig/conf  --randconfig Kconfig
  KCONFIG_SEED=0x27C47F43
  warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
  selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)

Use 'depends on' to observe the dependency.

This commit was created by the following command:

  $ find drivers -name 'Kconfig*' | xargs sed -i -e \
    's/select MFD_SYSCON$/depends on MFD_SYSCON/'

Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.

Also, make MFD_SYSCON 'default y' because some defconfig files may
rely on someone select's MFD_SYSCON.

Signed-off-by: Masahiro Yamada <redacted>
---

If you have a better idea to fix 'unmet dependencies',
please suggest.
Changing 'select MFD_SYSCON' to 'depends on' will definitely break lots
of defconfig configurations, I'd rather not do that.

Could you explain why?

I set 'default y' for MFD_SYSCON.

Would it still break defconfig configurations?
No, you are right, that would not break defconfigs, it would just mean one
useless driver being enabled for many configurations that don't need it.
If we are unhappy about this,
we can send per-arch patches
to add CONFIG_MTD_SYSCON=y to defconfigs that need it.

But, we need to decide what the right solution is.

quoted
quoted
Only score, tile and um have some configurations that select 'NO_IOMEM'.
Score is getting removed now, tile might get removed later (we could make
PCI mandatory in the meantime to avoid that configuration), and I think for
um, we already have a workaround for the NO_IOMEM dependencies
(I forget the details).
I do not think this is a stable solution.

Or, do you mean to remove NO_IOMEM and HAS_IOMEM completely?
We could either leave it for arch/um only and have that deal with the
issues (which I think we already have), or we could remove the options
entirely.

      Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


-- 
Best Regards
Masahiro Yamada
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help