linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 0/7] uml: add unspecified HAS_IOMEM dependencies
@ 2019-12-11 19:27 Brendan Higgins
  2019-12-11 19:27 ` [PATCH v1 1/7] pinctrl: equilibrium: add unspecified HAS_IOMEM dependency Brendan Higgins
  0 siblings, 1 reply; 6+ messages in thread
From: Brendan Higgins @ 2019-12-11 19:27 UTC (permalink / raw)
  To: jdike, richard, anton.ivanov, David S. Miller, Alistar Popple,
	Andrew Jeffery, Antoine Tenart, Arnd Bergmann,
	Bartlomiej Zolnierkiewicz, Boris Brezillon, Corentin Labbe,
	Eddie James, Greg Kroah-Hartman, Herbert Xu, Jeremy Kerr,
	Joel Stanley, Linus Walleij, Michal Simek, Miquel Raynal,
	Moses Christopher, Piotr Sroka, Radhey Shyam Pandey,
	Vignesh Raghavendra
  Cc: linux-um, linux-kernel, davidgow, Brendan Higgins, devel,
	linux-amlogic, linux-arm-kernel, linux-aspeed, linux-crypto,
	linux-fsi, linux-gpio, linux-mtd, netdev

# TL;DR

This patchset adds a missing HAS_IOMEM dependency to several drivers in
an attempt to get allyesconfig closer to working for ARCH=um.

# What am I trying to do?

This patchset is part of my attempt to get `make ARCH=um allyesconfig`
to produce a config that will build *and* boot to init, so that I can
use it as a mechanism to run tests[1].

This patchset is attempting to deal with

CONFIG_PINCTRL_EQUILIBRIUM=y
CONFIG_MTD_NAND_CADENCE=y
CONFIG_FSI_MASTER_ASPEED=y
CONFIG_CRYPTO_DEV_SAFEXCEL=y
CONFIG_XIL_AXIS_FIFO=y
CONFIG_CRYPTO_DEV_AMLOGIC_GXL=y
CONFIG_XILINX_AXI_EMAC=y

which are selected by `make ARCH=um allyesconfig`, but prevent it from
building.

# How far away are we from an allyesconfig UML kernel?

I have identified 33 Kconfigs that are selected by allyesconfig, but
will either not build on UML, or prevent it from booting. They are:

CONFIG_STATIC_LINK=y
CONFIG_UML_NET_PCAP=y
CONFIG_NET_PTP_CLASSIFY=y
CONFIG_IP_VS=y
CONFIG_BRIDGE_EBT_BROUTE=y
CONFIG_BRIDGE_EBT_T_FILTER=y
CONFIG_BRIDGE_EBT_T_NAT=y
CONFIG_MTD_NAND_CADENCE=y
CONFIG_MTD_NAND_NANDSIM=y
CONFIG_BLK_DEV_NULL_BLK=y
CONFIG_BLK_DEV_RAM=y
CONFIG_SCSI_DEBUG=y
CONFIG_NET_VENDOR_XILINX=y
CONFIG_NULL_TTY=y
CONFIG_PTP_1588_CLOCK=y
CONFIG_PINCTRL_EQUILIBRIUM=y
CONFIG_DMABUF_SELFTESTS=y
CONFIG_COMEDI=y
CONFIG_XIL_AXIS_FIFO=y
CONFIG_EXFAT_FS=y
CONFIG_STM_DUMMY=y
CONFIG_FSI_MASTER_ASPEED=y
CONFIG_JFS_FS=y
CONFIG_UBIFS_FS=y
CONFIG_CRAMFS=y
CONFIG_CRYPTO_DEV_SAFEXCEL=y
CONFIG_CRYPTO_DEV_AMLOGIC_GXL=y
CONFIG_KCOV=y
CONFIG_LKDTM=y
CONFIG_REED_SOLOMON_TEST=y
CONFIG_TEST_RHASHTABLE=y
CONFIG_TEST_MEMINIT=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y

CONFIG_STATIC_LINK=y and CONFIG_UML_NET_PCAP=y already have fixes on
their way.

I also have a patchset that just got accepted to fix
CONFIG_EXFAT_FS=y[2].

So with this patchset and these other three fixes mentioned here, we
will be about a third of the way there. There is only one more broken
config that prevents UML from building, CONFIG_LKDTM=y. After this there
will still be 22 broken configs which will prevent the UML allyesconfig
kernel from reaching the end of init; nevertheless, this is a good
milestone where, once reached, we can stop some of this bleeding by
adding a build test.

# Why won't allyesconfig break again after this series of fixes?

As I mentioned above, I am using UML for testing the kernel, and I am
currently working on getting my tests to run on KernelCI. As part of our
testing procedure for KernelCI, we are planning on building a UML kernel
using allyesconfig and running our tests on it. Thus, we will find out
very quickly once someone breaks allyesconfig again once we get this all
working.

Brendan Higgins (7):
  pinctrl: equilibrium: add unspecified HAS_IOMEM dependency
  mtd: rawnand: add unspecified HAS_IOMEM dependency
  net: axienet: add unspecified HAS_IOMEM dependency
  crypto: inside-secure: add unspecified HAS_IOMEM dependency
  crypto: amlogic: add unspecified HAS_IOMEM dependency
  staging: axis-fifo: add unspecified HAS_IOMEM dependency
  fsi: aspeed: add unspecified HAS_IOMEM dependency

 drivers/crypto/Kconfig              | 2 +-
 drivers/crypto/amlogic/Kconfig      | 1 +
 drivers/fsi/Kconfig                 | 1 +
 drivers/mtd/nand/raw/Kconfig        | 2 +-
 drivers/net/ethernet/xilinx/Kconfig | 1 +
 drivers/pinctrl/Kconfig             | 1 +
 drivers/staging/axis-fifo/Kconfig   | 2 +-
 7 files changed, 7 insertions(+), 3 deletions(-)

[1] https://bugzilla.kernel.org/show_bug.cgi?id=205223
[2] https://patchwork.kernel.org/patch/11273771/

-- 
2.24.0.525.g8f36a354ae-goog


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v1 1/7] pinctrl: equilibrium: add unspecified HAS_IOMEM dependency
  2019-12-11 19:27 [PATCH v1 0/7] uml: add unspecified HAS_IOMEM dependencies Brendan Higgins
@ 2019-12-11 19:27 ` Brendan Higgins
  2019-12-16  8:42   ` Linus Walleij
  2019-12-16 10:39   ` Linus Walleij
  0 siblings, 2 replies; 6+ messages in thread
From: Brendan Higgins @ 2019-12-11 19:27 UTC (permalink / raw)
  To: jdike, richard, anton.ivanov, Linus Walleij
  Cc: linux-um, linux-kernel, davidgow, Brendan Higgins, linux-gpio

Currently CONFIG_PINCTRL_EQUILIBRIUM=y implicitly depends on
CONFIG_HAS_IOMEM=y; consequently, on architectures without IOMEM we get
the following build error:

ld: drivers/pinctrl/pinctrl-equilibrium.o: in function `eqbr_pinctrl_probe':
drivers/pinctrl/pinctrl-equilibrium.c:908: undefined reference to `devm_platform_ioremap_resource'
ld: drivers/pinctrl/pinctrl-equilibrium.c:223: undefined reference to `devm_ioremap_resource'

Fix the build error by adding the CONFIG_HAS_IOMEM=y dependency.

Reported-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Brendan Higgins <brendanhiggins@google.com>
---
 drivers/pinctrl/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index 3bfbf2ff6e2bd..2c0b30477f7d0 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -422,6 +422,7 @@ config PINCTRL_TB10X
 
 config PINCTRL_EQUILIBRIUM
 	tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC"
+	depends on HAS_IOMEM
 	select PINMUX
 	select PINCONF
 	select GPIOLIB
-- 
2.24.0.525.g8f36a354ae-goog


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v1 1/7] pinctrl: equilibrium: add unspecified HAS_IOMEM dependency
  2019-12-11 19:27 ` [PATCH v1 1/7] pinctrl: equilibrium: add unspecified HAS_IOMEM dependency Brendan Higgins
@ 2019-12-16  8:42   ` Linus Walleij
  2019-12-16  9:31     ` Arnd Bergmann
  2019-12-16 10:39   ` Linus Walleij
  1 sibling, 1 reply; 6+ messages in thread
From: Linus Walleij @ 2019-12-16  8:42 UTC (permalink / raw)
  To: Brendan Higgins, Rahul Tanwar, Arnd Bergmann
  Cc: jdike, Richard Weinberger, anton.ivanov, linux-um, linux-kernel,
	davidgow, open list:GPIO SUBSYSTEM

On Wed, Dec 11, 2019 at 8:28 PM Brendan Higgins
<brendanhiggins@google.com> wrote:

> Currently CONFIG_PINCTRL_EQUILIBRIUM=y implicitly depends on
> CONFIG_HAS_IOMEM=y; consequently, on architectures without IOMEM we get
> the following build error:
>
> ld: drivers/pinctrl/pinctrl-equilibrium.o: in function `eqbr_pinctrl_probe':
> drivers/pinctrl/pinctrl-equilibrium.c:908: undefined reference to `devm_platform_ioremap_resource'
> ld: drivers/pinctrl/pinctrl-equilibrium.c:223: undefined reference to `devm_ioremap_resource'
>
> Fix the build error by adding the CONFIG_HAS_IOMEM=y dependency.
>
> Reported-by: Brendan Higgins <brendanhiggins@google.com>
> Signed-off-by: Brendan Higgins <brendanhiggins@google.com>

We recently fixed a compile error by adding
depends on OF
and I think OF implies HAS_IOMEM so this should be fixed
now.

Can you confirm?

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v1 1/7] pinctrl: equilibrium: add unspecified HAS_IOMEM dependency
  2019-12-16  8:42   ` Linus Walleij
@ 2019-12-16  9:31     ` Arnd Bergmann
  0 siblings, 0 replies; 6+ messages in thread
From: Arnd Bergmann @ 2019-12-16  9:31 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Brendan Higgins, Rahul Tanwar, Jeff Dike, Richard Weinberger,
	Anton Ivanov, linux-um, linux-kernel, davidgow,
	open list:GPIO SUBSYSTEM

On Mon, Dec 16, 2019 at 9:42 AM Linus Walleij <linus.walleij@linaro.org> wrote:
>
> On Wed, Dec 11, 2019 at 8:28 PM Brendan Higgins
> <brendanhiggins@google.com> wrote:
>
> > Currently CONFIG_PINCTRL_EQUILIBRIUM=y implicitly depends on
> > CONFIG_HAS_IOMEM=y; consequently, on architectures without IOMEM we get
> > the following build error:
> >
> > ld: drivers/pinctrl/pinctrl-equilibrium.o: in function `eqbr_pinctrl_probe':
> > drivers/pinctrl/pinctrl-equilibrium.c:908: undefined reference to `devm_platform_ioremap_resource'
> > ld: drivers/pinctrl/pinctrl-equilibrium.c:223: undefined reference to `devm_ioremap_resource'
> >
> > Fix the build error by adding the CONFIG_HAS_IOMEM=y dependency.
> >
> > Reported-by: Brendan Higgins <brendanhiggins@google.com>
> > Signed-off-by: Brendan Higgins <brendanhiggins@google.com>
>
> We recently fixed a compile error by adding
> depends on OF
> and I think OF implies HAS_IOMEM so this should be fixed
> now.
>
> Can you confirm?

I'm fairly sure it does not, so both patches are needed.

      Arnd

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v1 1/7] pinctrl: equilibrium: add unspecified HAS_IOMEM dependency
  2019-12-11 19:27 ` [PATCH v1 1/7] pinctrl: equilibrium: add unspecified HAS_IOMEM dependency Brendan Higgins
  2019-12-16  8:42   ` Linus Walleij
@ 2019-12-16 10:39   ` Linus Walleij
  2020-01-23 22:15     ` Brendan Higgins
  1 sibling, 1 reply; 6+ messages in thread
From: Linus Walleij @ 2019-12-16 10:39 UTC (permalink / raw)
  To: Brendan Higgins
  Cc: jdike, Richard Weinberger, anton.ivanov, linux-um, linux-kernel,
	David Gow, open list:GPIO SUBSYSTEM

On Wed, Dec 11, 2019 at 8:28 PM Brendan Higgins
<brendanhiggins@google.com> wrote:

> Currently CONFIG_PINCTRL_EQUILIBRIUM=y implicitly depends on
> CONFIG_HAS_IOMEM=y; consequently, on architectures without IOMEM we get
> the following build error:
>
> ld: drivers/pinctrl/pinctrl-equilibrium.o: in function `eqbr_pinctrl_probe':
> drivers/pinctrl/pinctrl-equilibrium.c:908: undefined reference to `devm_platform_ioremap_resource'
> ld: drivers/pinctrl/pinctrl-equilibrium.c:223: undefined reference to `devm_ioremap_resource'
>
> Fix the build error by adding the CONFIG_HAS_IOMEM=y dependency.
>
> Reported-by: Brendan Higgins <brendanhiggins@google.com>
> Signed-off-by: Brendan Higgins <brendanhiggins@google.com>

Patch applied but I augmented it with the recently added
OF dependency so it now says:
depends on OF && HAS_IOMEM

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v1 1/7] pinctrl: equilibrium: add unspecified HAS_IOMEM dependency
  2019-12-16 10:39   ` Linus Walleij
@ 2020-01-23 22:15     ` Brendan Higgins
  0 siblings, 0 replies; 6+ messages in thread
From: Brendan Higgins @ 2020-01-23 22:15 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Jeff Dike, Richard Weinberger, Anton Ivanov, linux-um,
	linux-kernel, David Gow, open list:GPIO SUBSYSTEM

Sorry for not getting to this before I went on vacation.

On Mon, Dec 16, 2019 at 2:39 AM Linus Walleij <linus.walleij@linaro.org> wrote:
>
> On Wed, Dec 11, 2019 at 8:28 PM Brendan Higgins
> <brendanhiggins@google.com> wrote:
>
> > Currently CONFIG_PINCTRL_EQUILIBRIUM=y implicitly depends on
> > CONFIG_HAS_IOMEM=y; consequently, on architectures without IOMEM we get
> > the following build error:
> >
> > ld: drivers/pinctrl/pinctrl-equilibrium.o: in function `eqbr_pinctrl_probe':
> > drivers/pinctrl/pinctrl-equilibrium.c:908: undefined reference to `devm_platform_ioremap_resource'
> > ld: drivers/pinctrl/pinctrl-equilibrium.c:223: undefined reference to `devm_ioremap_resource'
> >
> > Fix the build error by adding the CONFIG_HAS_IOMEM=y dependency.
> >
> > Reported-by: Brendan Higgins <brendanhiggins@google.com>
> > Signed-off-by: Brendan Higgins <brendanhiggins@google.com>
>
> Patch applied but I augmented it with the recently added
> OF dependency so it now says:
> depends on OF && HAS_IOMEM

Probably too late now to be helpful, but I can confirm that OF does
NOT depend on HAS_IOMEM, so this patch was still needed.

Thanks regardless!

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-01-23 22:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-11 19:27 [PATCH v1 0/7] uml: add unspecified HAS_IOMEM dependencies Brendan Higgins
2019-12-11 19:27 ` [PATCH v1 1/7] pinctrl: equilibrium: add unspecified HAS_IOMEM dependency Brendan Higgins
2019-12-16  8:42   ` Linus Walleij
2019-12-16  9:31     ` Arnd Bergmann
2019-12-16 10:39   ` Linus Walleij
2020-01-23 22:15     ` Brendan Higgins

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).