mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH master 00/14] treewide: fixes for master
@ 2023-04-11  7:14 Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 01/14] test: riscv: fix YAMLs after defconfig rename Ahmad Fatoum
                   ` (14 more replies)
  0 siblings, 15 replies; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox

I am packaging barebox for NixOS, which is a tad different (and newer)
than Debian, which I was previously using. This had me run into a couple
of issues, which this PR addresses. All of them apply onto master.
The fixes for next will be posted separately.

Ahmad Fatoum (14):
  test: riscv: fix YAMLs after defconfig rename
  RISC-V: board-dt-2nd: fix hang in startup
  RISC-V: sifive: disable non-functional SPI nodes
  video: qemu-ramfb: reduce -ENODEV lo level to debug
  gpiolib: fix gpio label generation with gpiod_get
  test: emulate.pl: fix firmware use with non-tuxmake out-of-tree build
  RISC-V: restrict GCC optimization some more
  RISC-V: configs: rv64i_defconfig: disable SBI serial
  net: dsa: realtek: include needed headers directly
  net: linux/mdio.h: add missing init.h header
  Kbuild: export CROSS_PKG_CONFIG
  treewide: fix includes missed by multiarch support
  mci: dw_mmc: make reset optional
  kbuild: remove useless use of /usr/bin/env

 Documentation/boards/imx.rst                  |  4 ++--
 Makefile                                      |  2 +-
 arch/riscv/Makefile                           |  3 +++
 arch/riscv/boot/board-dt-2nd.c                |  6 +++++
 arch/riscv/configs/rv64i_defconfig            |  1 -
 arch/riscv/dts/hifive-unleashed-a00.dts       |  4 ++++
 arch/riscv/dts/hifive-unmatched-a00.dts       |  5 +++++
 drivers/aiodev/am335x_adc.c                   |  2 +-
 drivers/aiodev/imx_thermal.c                  |  2 +-
 drivers/gpio/gpiolib.c                        |  2 +-
 drivers/hab/hab.c                             |  2 +-
 drivers/mci/dw_mmc.c                          |  2 +-
 drivers/net/realtek-dsa/realtek-mdio.c        |  1 +
 drivers/net/realtek-dsa/realtek-smi.c         |  1 +
 drivers/net/realtek-dsa/rtl8365mb.c           |  2 ++
 drivers/net/realtek-dsa/rtl8366rb.c           |  2 ++
 drivers/net/realtek-dsa/tag_rtl4_a.c          |  1 +
 drivers/net/realtek-dsa/tag_rtl8_4.c          |  1 +
 drivers/nvmem/ocotp.c                         |  4 ++--
 drivers/pci/pci-imx6.c                        |  6 ++---
 drivers/pinctrl/imx-iomux-v2.c                |  2 +-
 drivers/spi/atmel-quadspi.c                   |  6 ++---
 drivers/video/imx-ipu-fb.c                    |  4 ++--
 drivers/video/ramfb.c                         |  2 +-
 include/linux/mdio.h                          |  1 +
 scripts/Makefile.lib                          |  2 +-
 scripts/regsubst.pl                           |  8 +++----
 scripts/socfpga_xml_to_config.sh              |  4 ++--
 test/emulate.pl                               | 22 ++++++++++---------
 ....yaml => qemu-virt64@rv64i_defconfig.yaml} |  0
 test/riscv/rv64i_defconfig.yaml               |  1 +
 ...onfig.yaml => sifive@rv64i_defconfig.yaml} |  0
 ...nfig.yaml => tinyemu@rv64i_defconfig.yaml} |  0
 test/riscv/virt64_defconfig.yaml              |  1 -
 34 files changed, 67 insertions(+), 39 deletions(-)
 rename test/riscv/{qemu@virt64_defconfig.yaml => qemu-virt64@rv64i_defconfig.yaml} (100%)
 create mode 120000 test/riscv/rv64i_defconfig.yaml
 rename test/riscv/{sifive_defconfig.yaml => sifive@rv64i_defconfig.yaml} (100%)
 rename test/riscv/{tinyemu@virt64_defconfig.yaml => tinyemu@rv64i_defconfig.yaml} (100%)
 delete mode 120000 test/riscv/virt64_defconfig.yaml

-- 
2.39.2




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

* [PATCH master 01/14] test: riscv: fix YAMLs after defconfig rename
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
@ 2023-04-11  7:14 ` Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 02/14] RISC-V: board-dt-2nd: fix hang in startup Ahmad Fatoum
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

With the recent consolidation of 64-bit RISC-V defconfigs into
a single rv64i_defconfig, the YAMLs for QEMUs become outdated.
Sync them with the new naming.

Fixes: 42089e3f532b ("RISC-V: squash 64bit defconfigs into rv64i_defconfig")
Reported-by: Antony Pavlov <antonynpavlov@gmail.com>
Link: https://lore.barebox.org/barebox/20221022105554.c9bbe152814a3c7a682df735@gmail.com/
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 ...mu@virt64_defconfig.yaml => qemu-virt64@rv64i_defconfig.yaml} | 0
 test/riscv/rv64i_defconfig.yaml                                  | 1 +
 .../riscv/{sifive_defconfig.yaml => sifive@rv64i_defconfig.yaml} | 0
 ...inyemu@virt64_defconfig.yaml => tinyemu@rv64i_defconfig.yaml} | 0
 test/riscv/virt64_defconfig.yaml                                 | 1 -
 5 files changed, 1 insertion(+), 1 deletion(-)
 rename test/riscv/{qemu@virt64_defconfig.yaml => qemu-virt64@rv64i_defconfig.yaml} (100%)
 create mode 120000 test/riscv/rv64i_defconfig.yaml
 rename test/riscv/{sifive_defconfig.yaml => sifive@rv64i_defconfig.yaml} (100%)
 rename test/riscv/{tinyemu@virt64_defconfig.yaml => tinyemu@rv64i_defconfig.yaml} (100%)
 delete mode 120000 test/riscv/virt64_defconfig.yaml

diff --git a/test/riscv/qemu@virt64_defconfig.yaml b/test/riscv/qemu-virt64@rv64i_defconfig.yaml
similarity index 100%
rename from test/riscv/qemu@virt64_defconfig.yaml
rename to test/riscv/qemu-virt64@rv64i_defconfig.yaml
diff --git a/test/riscv/rv64i_defconfig.yaml b/test/riscv/rv64i_defconfig.yaml
new file mode 120000
index 000000000000..46080baed60d
--- /dev/null
+++ b/test/riscv/rv64i_defconfig.yaml
@@ -0,0 +1 @@
+qemu-virt64@rv64i_defconfig.yaml
\ No newline at end of file
diff --git a/test/riscv/sifive_defconfig.yaml b/test/riscv/sifive@rv64i_defconfig.yaml
similarity index 100%
rename from test/riscv/sifive_defconfig.yaml
rename to test/riscv/sifive@rv64i_defconfig.yaml
diff --git a/test/riscv/tinyemu@virt64_defconfig.yaml b/test/riscv/tinyemu@rv64i_defconfig.yaml
similarity index 100%
rename from test/riscv/tinyemu@virt64_defconfig.yaml
rename to test/riscv/tinyemu@rv64i_defconfig.yaml
diff --git a/test/riscv/virt64_defconfig.yaml b/test/riscv/virt64_defconfig.yaml
deleted file mode 120000
index ab419d5e7fb4..000000000000
--- a/test/riscv/virt64_defconfig.yaml
+++ /dev/null
@@ -1 +0,0 @@
-qemu@virt64_defconfig.yaml
\ No newline at end of file
-- 
2.39.2




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

* [PATCH master 02/14] RISC-V: board-dt-2nd: fix hang in startup
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 01/14] test: riscv: fix YAMLs after defconfig rename Ahmad Fatoum
@ 2023-04-11  7:14 ` Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 03/14] RISC-V: sifive: disable non-functional SPI nodes Ahmad Fatoum
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox; +Cc: Marco Felsch, Ahmad Fatoum

relocate_to_current_adr() will do a sync_caches_for_execution() after
concluding. The method used for icache synchronization depends on the
CPU being used. Allwinner D1 support added the assumption that any
code running in S-Mode will have populated sscratch with the flags
before calling riscv_vendor_id(). This is not the case for
barebox-dt-2nd, which does relocation before riscv_set_flags().

Quick fix this by calling riscv_set_flags manually.

Cc: Marco Felsch <m.felsch@pengutronix.de>
Fixes: c986c565b023 ("RISC-V: use m/sscratch registers for barebox_riscv_pbl_flags")
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 arch/riscv/boot/board-dt-2nd.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/riscv/boot/board-dt-2nd.c b/arch/riscv/boot/board-dt-2nd.c
index 8b78e1b11d31..f1479d834615 100644
--- a/arch/riscv/boot/board-dt-2nd.c
+++ b/arch/riscv/boot/board-dt-2nd.c
@@ -50,6 +50,12 @@ static void noinline __noreturn start_dt_2nd_nonnaked(unsigned long hartid,
 	if (!fdt)
 		hang();
 
+	/*
+	 * We need to call this here, as a multiplatform build
+	 * depends on querying mode for riscv_vendor_id()
+	 */
+	riscv_set_flags(RISCV_S_MODE);
+
 	relocate_to_current_adr();
 	setup_c();
 
-- 
2.39.2




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

* [PATCH master 03/14] RISC-V: sifive: disable non-functional SPI nodes
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 01/14] test: riscv: fix YAMLs after defconfig rename Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 02/14] RISC-V: board-dt-2nd: fix hang in startup Ahmad Fatoum
@ 2023-04-11  7:14 ` Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 04/14] video: qemu-ramfb: reduce -ENODEV lo level to debug Ahmad Fatoum
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

For some reasons,newer QEMU versions (tested v5.2.0) trigger a load
fault at the first readl of the driver. For now disable the nodes,
until this issue is looked into.

Reported-by: Antony Pavlov <antonynpavlov@gmail.com>
Link: https://lore.barebox.org/barebox/20220830140533.deb229d3e3f32c827e6ff521@gmail.com/
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 arch/riscv/dts/hifive-unleashed-a00.dts | 4 ++++
 arch/riscv/dts/hifive-unmatched-a00.dts | 5 +++++
 2 files changed, 9 insertions(+)

diff --git a/arch/riscv/dts/hifive-unleashed-a00.dts b/arch/riscv/dts/hifive-unleashed-a00.dts
index 65694bfd246a..3b82c16ff0f7 100644
--- a/arch/riscv/dts/hifive-unleashed-a00.dts
+++ b/arch/riscv/dts/hifive-unleashed-a00.dts
@@ -1,3 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0 OR X11 */
 
 #include <riscv/sifive/hifive-unleashed-a00.dts>
+
+/* probing on QEMU v5.2.0 triggers load access fault @0x10040014 */
+&qspi0 { status = "disabled"; };
+&qspi2 { status = "disabled"; };
diff --git a/arch/riscv/dts/hifive-unmatched-a00.dts b/arch/riscv/dts/hifive-unmatched-a00.dts
index b8793e910555..24a4c798a941 100644
--- a/arch/riscv/dts/hifive-unmatched-a00.dts
+++ b/arch/riscv/dts/hifive-unmatched-a00.dts
@@ -1,3 +1,8 @@
 /* SPDX-License-Identifier: GPL-2.0 OR X11 */
 
 #include <riscv/sifive/hifive-unmatched-a00.dts>
+
+/* probing on QEMU v5.2.0 triggers load access fault @0x10040014 */
+&qspi0 { status = "disabled"; };
+&qspi1 { status = "disabled"; };
+&spi0  { status = "disabled"; };
-- 
2.39.2




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

* [PATCH master 04/14] video: qemu-ramfb: reduce -ENODEV lo level to debug
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
                   ` (2 preceding siblings ...)
  2023-04-11  7:14 ` [PATCH master 03/14] RISC-V: sifive: disable non-functional SPI nodes Ahmad Fatoum
@ 2023-04-11  7:14 ` Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 05/14] gpiolib: fix gpio label generation with gpiod_get Ahmad Fatoum
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

It's perfectly normal for fw_cfg to be available, but ramfb not being
configured. Driver core handles -ENODEV silently to accommodate this
case. The initcall calling ramfb_probe does too, but ramfb_probe itself
prints an error. Replace that with a debug print.

Fixes: 1db52e5a1039 ("video: add support for QEMU ramfb")
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 drivers/video/ramfb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/video/ramfb.c b/drivers/video/ramfb.c
index 26e01196fc02..3442e81b9e51 100644
--- a/drivers/video/ramfb.c
+++ b/drivers/video/ramfb.c
@@ -131,7 +131,7 @@ static int ramfb_probe(struct device *parent_dev, int fd)
 
 	ret = fw_cfg_find_file(parent_dev, fd, "etc/ramfb");
 	if (ret < 0) {
-		dev_err(parent_dev, "ramfb: fw_cfg (etc/ramfb) file not found\n");
+		dev_dbg(parent_dev, "ramfb: fw_cfg (etc/ramfb) file not found\n");
 		return -ENODEV;
 	}
 
-- 
2.39.2




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

* [PATCH master 05/14] gpiolib: fix gpio label generation with gpiod_get
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
                   ` (3 preceding siblings ...)
  2023-04-11  7:14 ` [PATCH master 04/14] video: qemu-ramfb: reduce -ENODEV lo level to debug Ahmad Fatoum
@ 2023-04-11  7:14 ` Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 06/14] test: emulate.pl: fix firmware use with non-tuxmake out-of-tree build Ahmad Fatoum
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

Current mistaken use of con_id instead of _con_id, can lead to labels
being called regulator.of-<NULL>. Fix this, so the label becomes
regulator.of instead.

Fixes: 9fb2fa240d58 ("gpiolib: implement dev_gpiod_get_index")
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 drivers/gpio/gpiolib.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 736279875856..6ec63b1119b5 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -583,7 +583,7 @@ int dev_gpiod_get_index(struct device *dev,
 	buf = NULL;
 
 	if (!label) {
-		if (con_id)
+		if (_con_id)
 			label = buf = basprintf("%s-%s", dev_name(dev), _con_id);
 		else
 			label = dev_name(dev);
-- 
2.39.2




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

* [PATCH master 06/14] test: emulate.pl: fix firmware use with non-tuxmake out-of-tree build
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
                   ` (4 preceding siblings ...)
  2023-04-11  7:14 ` [PATCH master 05/14] gpiolib: fix gpio label generation with gpiod_get Ahmad Fatoum
@ 2023-04-11  7:14 ` Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 07/14] RISC-V: restrict GCC optimization some more Ahmad Fatoum
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

The YAMLs may contain URLs for firmware that needs to be fetched before
starting Qemu. This firmware needs to be installed where Qemu will find
it, which is _not_ the source directory for out-of-tree builds. This
adjust the path.

Fixes: 7271ce78d0fc ("test: add emulate.pl, a runner for barebox on emulated targets")
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 test/emulate.pl | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/test/emulate.pl b/test/emulate.pl
index b5e2188b86dd..a4ca6b7aee6e 100755
--- a/test/emulate.pl
+++ b/test/emulate.pl
@@ -18,6 +18,17 @@ my @QEMU_INTERACTIVE_OPTS = qw(-serial mon:stdio -trace file=/dev/null);
 
 my %targets;
 
+my $LG_BUILDDIR;
+
+if (exists $ENV{KBUILD_OUTPUT}) {
+    $LG_BUILDDIR = $ENV{KBUILD_OUTPUT};
+} elsif (-d 'build') {
+    $LG_BUILDDIR = 'build';
+} else {
+    $LG_BUILDDIR = getcwd();
+}
+
+
 for my $arch (glob dirname(__FILE__) . "/*/") {
     for my $cfg (glob "$arch/*.yaml") {
 	my $linkdest = readlink $cfg // '';
@@ -152,7 +163,7 @@ sub process {
 		    or die "Failed to download resource `$v': $?\n";
 	    }
 
-	    symlink_force("$dir/$k", "$k") unless $tuxmake;
+	    symlink_force("$dir/$k", "$LG_BUILDDIR/$k") unless $tuxmake;
 	}
 
 	if ($shell) {
@@ -388,20 +399,11 @@ sub rel2abs {
 
 sub abs_configpath {
     my ($path, $args) = @_;
-    my $LG_BUILDDIR;
 
     return unless defined $path;
     $path = $args->{target}{images}{$path};
     return unless defined $path;
 
-    if (exists $ENV{KBUILD_OUTPUT}) {
-	$LG_BUILDDIR = $ENV{KBUILD_OUTPUT};
-    } elsif (-d 'build') {
-	$LG_BUILDDIR = 'build';
-    } else {
-	$LG_BUILDDIR = getcwd();
-    }
-
     $path =~ s/\$LG_BUILDDIR\b/$LG_BUILDDIR/g;
 
     return rel2abs($path, $args->{builddir})
-- 
2.39.2




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

* [PATCH master 07/14] RISC-V: restrict GCC optimization some more
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
                   ` (5 preceding siblings ...)
  2023-04-11  7:14 ` [PATCH master 06/14] test: emulate.pl: fix firmware use with non-tuxmake out-of-tree build Ahmad Fatoum
@ 2023-04-11  7:14 ` Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 08/14] RISC-V: configs: rv64i_defconfig: disable SBI serial Ahmad Fatoum
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

Some of these we are already setting for ARM and all of them are already
in use by the Linux RISC-V arch Makefile.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 arch/riscv/Makefile | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile
index 1371f17e7c90..71ca82fe8dc0 100644
--- a/arch/riscv/Makefile
+++ b/arch/riscv/Makefile
@@ -22,6 +22,9 @@ toolchain-need-zicsr-zifencei := $(call cc-option-yn, -march=$(riscv-march-y)_zi
 riscv-march-$(toolchain-need-zicsr-zifencei) := $(riscv-march-y)_zicsr_zifencei
 
 KBUILD_CPPFLAGS += -march=$(riscv-march-y)
+KBUILD_CFLAGS += -mno-save-restore
+KBUILD_CFLAGS += -fno-asynchronous-unwind-tables -fno-unwind-tables
+KBUILD_CFLAGS += $(call cc-option,-mstrict-align)
 KBUILD_CPPFLAGS += -Wstrict-prototypes -mcmodel=medany -fpic
 riscv-ldflags-y += -pie -static
 
-- 
2.39.2




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

* [PATCH master 08/14] RISC-V: configs: rv64i_defconfig: disable SBI serial
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
                   ` (6 preceding siblings ...)
  2023-04-11  7:14 ` [PATCH master 07/14] RISC-V: restrict GCC optimization some more Ahmad Fatoum
@ 2023-04-11  7:14 ` Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 09/14] net: dsa: realtek: include needed headers directly Ahmad Fatoum
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

On Virt64, enabling SBI serial leads to doubled output, because both
OpenSBI and barebox use the same serial for output and all consoles
are enabled by default.

Given that SBI PUTCHAR is no longer part of newer SBI specs, we can
just disable the sbi console driver in the defconfig to work around
this.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 arch/riscv/configs/rv64i_defconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/riscv/configs/rv64i_defconfig b/arch/riscv/configs/rv64i_defconfig
index 2c5bfd2df131..53c367c5e415 100644
--- a/arch/riscv/configs/rv64i_defconfig
+++ b/arch/riscv/configs/rv64i_defconfig
@@ -97,7 +97,6 @@ CONFIG_NET_FASTBOOT=y
 CONFIG_OF_BAREBOX_DRIVERS=y
 CONFIG_OF_BAREBOX_ENV_IN_FS=y
 CONFIG_DRIVER_SERIAL_NS16550=y
-CONFIG_SERIAL_SBI=y
 CONFIG_VIRTIO_CONSOLE=y
 CONFIG_SERIAL_SIFIVE=y
 CONFIG_DRIVER_NET_MACB=y
-- 
2.39.2




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

* [PATCH master 09/14] net: dsa: realtek: include needed headers directly
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
                   ` (7 preceding siblings ...)
  2023-04-11  7:14 ` [PATCH master 08/14] RISC-V: configs: rv64i_defconfig: disable SBI serial Ahmad Fatoum
@ 2023-04-11  7:14 ` Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 10/14] net: linux/mdio.h: add missing init.h header Ahmad Fatoum
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

Building the driver for RISC-V instead of ARM, shows that the
headers of some symbols depended on were included indirectly
before. Fix this to enable RISC-V build.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 drivers/net/realtek-dsa/realtek-mdio.c | 1 +
 drivers/net/realtek-dsa/realtek-smi.c  | 1 +
 drivers/net/realtek-dsa/rtl8365mb.c    | 2 ++
 drivers/net/realtek-dsa/rtl8366rb.c    | 2 ++
 drivers/net/realtek-dsa/tag_rtl4_a.c   | 1 +
 drivers/net/realtek-dsa/tag_rtl8_4.c   | 1 +
 6 files changed, 8 insertions(+)

diff --git a/drivers/net/realtek-dsa/realtek-mdio.c b/drivers/net/realtek-dsa/realtek-mdio.c
index 8b32c3cf539e..579eefebe233 100644
--- a/drivers/net/realtek-dsa/realtek-mdio.c
+++ b/drivers/net/realtek-dsa/realtek-mdio.c
@@ -23,6 +23,7 @@
 #include <regmap.h>
 #include <clock.h>
 #include <gpiod.h>
+#include <linux/printk.h>
 #include <linux/mdio.h>
 
 #include "realtek.h"
diff --git a/drivers/net/realtek-dsa/realtek-smi.c b/drivers/net/realtek-dsa/realtek-smi.c
index 83d197dcdfcd..a12cb7ffd4be 100644
--- a/drivers/net/realtek-dsa/realtek-smi.c
+++ b/drivers/net/realtek-dsa/realtek-smi.c
@@ -31,6 +31,7 @@
 #include <of.h>
 #include <of_device.h>
 #include <linux/mdio.h>
+#include <linux/printk.h>
 #include <clock.h>
 #include <gpiod.h>
 #include <driver.h>
diff --git a/drivers/net/realtek-dsa/rtl8365mb.c b/drivers/net/realtek-dsa/rtl8365mb.c
index 1f11ed4ed4bc..d8e8ac714deb 100644
--- a/drivers/net/realtek-dsa/rtl8365mb.c
+++ b/drivers/net/realtek-dsa/rtl8365mb.c
@@ -94,6 +94,8 @@
 #include <linux/bitops.h>
 #include <linux/mutex.h>
 #include <linux/spinlock.h>
+#include <linux/printk.h>
+#include <linux/export.h>
 #include <regmap.h>
 #include <net.h>
 #include <linux/if_bridge.h>
diff --git a/drivers/net/realtek-dsa/rtl8366rb.c b/drivers/net/realtek-dsa/rtl8366rb.c
index 67dcb7fb704f..5449b9481cf7 100644
--- a/drivers/net/realtek-dsa/rtl8366rb.c
+++ b/drivers/net/realtek-dsa/rtl8366rb.c
@@ -15,6 +15,8 @@
 #include <linux/bitops.h>
 #include <net.h>
 #include <linux/if_bridge.h>
+#include <linux/printk.h>
+#include <linux/export.h>
 #include <regmap.h>
 
 #include "realtek.h"
diff --git a/drivers/net/realtek-dsa/tag_rtl4_a.c b/drivers/net/realtek-dsa/tag_rtl4_a.c
index dabd4ccba2d9..30c6a712d9bf 100644
--- a/drivers/net/realtek-dsa/tag_rtl4_a.c
+++ b/drivers/net/realtek-dsa/tag_rtl4_a.c
@@ -16,6 +16,7 @@
  */
 
 #include <net.h>
+#include <linux/printk.h>
 
 #include "realtek.h"
 #include "dsa_priv.h"
diff --git a/drivers/net/realtek-dsa/tag_rtl8_4.c b/drivers/net/realtek-dsa/tag_rtl8_4.c
index a6762fc4e90d..80e977a65d4d 100644
--- a/drivers/net/realtek-dsa/tag_rtl8_4.c
+++ b/drivers/net/realtek-dsa/tag_rtl8_4.c
@@ -74,6 +74,7 @@
  */
 
 #include <linux/bitfield.h>
+#include <linux/printk.h>
 #include <net.h>
 
 #include "realtek.h"
-- 
2.39.2




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

* [PATCH master 10/14] net: linux/mdio.h: add missing init.h header
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
                   ` (8 preceding siblings ...)
  2023-04-11  7:14 ` [PATCH master 09/14] net: dsa: realtek: include needed headers directly Ahmad Fatoum
@ 2023-04-11  7:14 ` Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 11/14] Kbuild: export CROSS_PKG_CONFIG Ahmad Fatoum
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

The header defines device_mdio_driver, which requires the macros in
init.h to be usable. Therefore include the appropriate header.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 include/linux/mdio.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/mdio.h b/include/linux/mdio.h
index a4aee49d8db3..c441a074ec7f 100644
--- a/include/linux/mdio.h
+++ b/include/linux/mdio.h
@@ -13,6 +13,7 @@
 
 #include <linux/types.h>
 #include <linux/mii.h>
+#include <init.h>
 
 /* MDIO Manageable Devices (MMDs). */
 #define MDIO_MMD_PMAPMD		1	/* Physical Medium Attachment/
-- 
2.39.2




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

* [PATCH master 11/14] Kbuild: export CROSS_PKG_CONFIG
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
                   ` (9 preceding siblings ...)
  2023-04-11  7:14 ` [PATCH master 10/14] net: linux/mdio.h: add missing init.h header Ahmad Fatoum
@ 2023-04-11  7:14 ` Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 12/14] treewide: fix includes missed by multiarch support Ahmad Fatoum
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

CROSS_PKG_CONFIG is referenced in both Kconfig and Makefiles. To be
visibile everywhere, its default needs to be exported, but it wasn't.

This wasn't noticed, because usual usage was:

  CROSS_PKG_CONFIG=some-pkg-config make scripts

where the shell took care to export the variable. On NixOS, cross
pkg-config is actually called ${CROSS_COMPILE}pkg-config and it didn't
work out of the box. Fix this.

Fixes: 1c1198a3f252 ("scripts: allow building USB loader tools for target as well")
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 6f2f4ce74800..3debf5b42799 100644
--- a/Makefile
+++ b/Makefile
@@ -364,7 +364,7 @@ KCONFIG_CONFIG	?= .config
 
 CROSS_PKG_CONFIG ?= $(CROSS_COMPILE)pkg-config
 
-export KCONFIG_CONFIG
+export KCONFIG_CONFIG CROSS_PKG_CONFIG
 
 # SHELL used by kbuild
 CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
-- 
2.39.2




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

* [PATCH master 12/14] treewide: fix includes missed by multiarch support
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
                   ` (10 preceding siblings ...)
  2023-04-11  7:14 ` [PATCH master 11/14] Kbuild: export CROSS_PKG_CONFIG Ahmad Fatoum
@ 2023-04-11  7:14 ` Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 13/14] mci: dw_mmc: make reset optional Ahmad Fatoum
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

Found by manual inspection of the results of:

  rg '#include\s*<mach/[^/]+>' | rg -v 'arch/(powerpc|sandbox|mips|x86|kvx)'

Fixes: 68b778c24314 ("ARM: Drop mach dir include path")
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 Documentation/boards/imx.rst     | 4 ++--
 drivers/aiodev/am335x_adc.c      | 2 +-
 drivers/aiodev/imx_thermal.c     | 2 +-
 drivers/hab/hab.c                | 2 +-
 drivers/nvmem/ocotp.c            | 4 ++--
 drivers/pci/pci-imx6.c           | 6 +++---
 drivers/pinctrl/imx-iomux-v2.c   | 2 +-
 drivers/spi/atmel-quadspi.c      | 6 +++---
 drivers/video/imx-ipu-fb.c       | 4 ++--
 scripts/regsubst.pl              | 8 ++++----
 scripts/socfpga_xml_to_config.sh | 4 ++--
 11 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/Documentation/boards/imx.rst b/Documentation/boards/imx.rst
index 6fbf1554d10e..5cc4676a9613 100644
--- a/Documentation/boards/imx.rst
+++ b/Documentation/boards/imx.rst
@@ -168,13 +168,13 @@ keys/certificates are expected in these config variables (assuming HABv4):
   CONFIG_HABV4_IMG_CRT_PEM
 
 A CSF template is located in
-``arch/arm/mach-imx/include/mach/habv4-imx6-gencsf.h`` which is preprocessed
+``include/mach/imx/habv4-imx6-gencsf.h`` which is preprocessed
 by barebox.
 It must be included in the board's flash header:
 
 .. code-block:: none
 
-  #include <mach/habv4-imx6-gencsf.h>
+  #include <mach/imx/habv4-imx6-gencsf.h>
 
 Analogous to HABv4 options and a template exist for HABv3.
 
diff --git a/drivers/aiodev/am335x_adc.c b/drivers/aiodev/am335x_adc.c
index ceb7531dc0d6..491866ca36e6 100644
--- a/drivers/aiodev/am335x_adc.c
+++ b/drivers/aiodev/am335x_adc.c
@@ -19,7 +19,7 @@
 #include <io.h>
 #include <linux/log2.h>
 #include <aiodev.h>
-#include <mach/am33xx-clock.h>
+#include <mach/omap/am33xx-clock.h>
 #include "ti_am335x_tscadc.h"
 
 struct am335x_adc_data {
diff --git a/drivers/aiodev/imx_thermal.c b/drivers/aiodev/imx_thermal.c
index 4d24f6cae32f..0b1670708fc9 100644
--- a/drivers/aiodev/imx_thermal.c
+++ b/drivers/aiodev/imx_thermal.c
@@ -22,7 +22,7 @@
 #include <linux/math64.h>
 #include <linux/log2.h>
 #include <linux/clk.h>
-#include <mach/imx6-anadig.h>
+#include <mach/imx/imx6-anadig.h>
 #include <io.h>
 #include <aiodev.h>
 #include <mfd/syscon.h>
diff --git a/drivers/hab/hab.c b/drivers/hab/hab.c
index 65384a6c10db..5bb97c4b689b 100644
--- a/drivers/hab/hab.c
+++ b/drivers/hab/hab.c
@@ -5,7 +5,7 @@
 #include <fcntl.h>
 #include <environment.h>
 #include <libfile.h>
-#include <mach/generic.h>
+#include <mach/imx/generic.h>
 #include <hab.h>
 #include <regmap.h>
 #include <fs.h>
diff --git a/drivers/nvmem/ocotp.c b/drivers/nvmem/ocotp.c
index ff1e815c6b98..f3bd377f844d 100644
--- a/drivers/nvmem/ocotp.c
+++ b/drivers/nvmem/ocotp.c
@@ -30,8 +30,8 @@
 #include <mach/imx/ocotp.h>
 #include <mach/imx/ocotp-fusemap.h>
 #else
-#include <mach/ocotp.h>
-#include <mach/ocotp-fusemap.h>
+#include <mach/mxs/ocotp.h>
+#include <mach/mxs/ocotp-fusemap.h>
 #endif
 #include <soc/imx8m/featctrl.h>
 #include <linux/nvmem-provider.h>
diff --git a/drivers/pci/pci-imx6.c b/drivers/pci/pci-imx6.c
index 6212a00913a5..40bcf3d89033 100644
--- a/drivers/pci/pci-imx6.c
+++ b/drivers/pci/pci-imx6.c
@@ -30,9 +30,9 @@
 #include <mfd/imx6q-iomuxc-gpr.h>
 #include <mfd/imx7-iomuxc-gpr.h>
 
-#include <mach/imx6-regs.h>
-#include <mach/imx7-regs.h>
-#include <mach/imx8mq-regs.h>
+#include <mach/imx/imx6-regs.h>
+#include <mach/imx/imx7-regs.h>
+#include <mach/imx/imx8mq-regs.h>
 
 #include "pcie-designware.h"
 
diff --git a/drivers/pinctrl/imx-iomux-v2.c b/drivers/pinctrl/imx-iomux-v2.c
index 806c3f882c07..cc5b8f11bcfe 100644
--- a/drivers/pinctrl/imx-iomux-v2.c
+++ b/drivers/pinctrl/imx-iomux-v2.c
@@ -7,7 +7,7 @@
 #include <io.h>
 #include <init.h>
 #include <linux/err.h>
-#include <mach/iomux-mx31.h>
+#include <mach/imx/iomux-mx31.h>
 
 /*
  * IOMUX register (base) addresses
diff --git a/drivers/spi/atmel-quadspi.c b/drivers/spi/atmel-quadspi.c
index e579fcaed6ee..923a170844f6 100644
--- a/drivers/spi/atmel-quadspi.c
+++ b/drivers/spi/atmel-quadspi.c
@@ -21,9 +21,9 @@
 #include <of_gpio.h>
 #include <io.h>
 #include <spi/spi.h>
-#include <mach/iomux.h>
-#include <mach/board.h>
-#include <mach/cpu.h>
+#include <mach/at91/iomux.h>
+#include <mach/at91/board.h>
+#include <mach/at91/cpu.h>
 #include <linux/clk.h>
 #include <linux/err.h>
 
diff --git a/drivers/video/imx-ipu-fb.c b/drivers/video/imx-ipu-fb.c
index 77c0ba2c9ca8..e2ff01929be2 100644
--- a/drivers/video/imx-ipu-fb.c
+++ b/drivers/video/imx-ipu-fb.c
@@ -8,14 +8,14 @@
 #include <dma.h>
 #include <init.h>
 #include <io.h>
-#include <mach/imx35-regs.h>
+#include <mach/imx/imx35-regs.h>
 #include <fb.h>
 #include <platform_data/imxfb.h>
 #include <malloc.h>
 #include <errno.h>
 #include <linux/math64.h>
 #include <mmu.h>
-#include <mach/imx-ipu-fb.h>
+#include <mach/imx/imx-ipu-fb.h>
 #include <linux/clk.h>
 #include <linux/err.h>
 
diff --git a/scripts/regsubst.pl b/scripts/regsubst.pl
index 026c4eed2f12..1aaab4f6a20e 100755
--- a/scripts/regsubst.pl
+++ b/scripts/regsubst.pl
@@ -47,8 +47,8 @@ First you have to add the right #include directives to your file:
  loadaddr 0x20000000
  ivtofs 0x400
  
- #include <mach/imx6-ddr-regs.h>
- #include <mach/imx6dl-ddr-regs.h>
+ #include <mach/imx/imx6-ddr-regs.h>
+ #include <mach/imx/imx6dl-ddr-regs.h>
  
  wm 32 0x020e0774 0x000C0000
  wm 32 0x020e0754 0x00000000
@@ -61,8 +61,8 @@ Then you can process the file with B<regsubst.pl>:
  loadaddr 0x20000000
  ivtofs 0x400
  
- #include <mach/imx6-ddr-regs.h>
- #include <mach/imx6dl-ddr-regs.h>
+ #include <mach/imx/imx6-ddr-regs.h>
+ #include <mach/imx/imx6dl-ddr-regs.h>
  
  wm 32 MX6_IOM_GRP_DDR_TYPE 0x000C0000
  wm 32 MX6_IOM_GRP_DDRPKE 0x00000000
diff --git a/scripts/socfpga_xml_to_config.sh b/scripts/socfpga_xml_to_config.sh
index 1e6056cfb461..2ec2788865b0 100755
--- a/scripts/socfpga_xml_to_config.sh
+++ b/scripts/socfpga_xml_to_config.sh
@@ -41,7 +41,7 @@ pll_config() {
         sed -e "s/^/\t./g" |
         sort`
 
-    echo "#include <mach/arria10-clock-manager.h>" > $tgt
+    echo "#include <mach/socfpga/arria10-clock-manager.h>" > $tgt
     echo >> $tgt
     echo "static struct arria10_mainpll_cfg mainpll_cfg = {" >> $tgt
     echo "$MAINPLL" >> $tgt
@@ -107,7 +107,7 @@ pinmux_config() {
             sed -e "s/\.sel' value='/] = /g" | \
             sed -e "s/' \/>/,/g"`
 
-    echo "#include <mach/arria10-pinmux.h>" > $tgt
+    echo "#include <mach/socfpga/arria10-pinmux.h>" > $tgt
     echo >> $tgt
     echo "static uint32_t pinmux[] = {" >> $tgt
     echo "$SHARED" >> $tgt
-- 
2.39.2




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

* [PATCH master 13/14] mci: dw_mmc: make reset optional
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
                   ` (11 preceding siblings ...)
  2023-04-11  7:14 ` [PATCH master 12/14] treewide: fix includes missed by multiarch support Ahmad Fatoum
@ 2023-04-11  7:14 ` Ahmad Fatoum
  2023-04-11  7:14 ` [PATCH master 14/14] kbuild: remove useless use of /usr/bin/env Ahmad Fatoum
  2023-04-11 11:44 ` [PATCH master 00/14] treewide: fixes for master Sascha Hauer
  14 siblings, 0 replies; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

The reset is optional, so no point in warning about it unless there
was an actual error getting the reset.

reset_control_get_optional() reports the case of no reset being
specified by returning NULL, so use that instead.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 drivers/mci/dw_mmc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mci/dw_mmc.c b/drivers/mci/dw_mmc.c
index 8f3317deb51a..73a8ebbc152e 100644
--- a/drivers/mci/dw_mmc.c
+++ b/drivers/mci/dw_mmc.c
@@ -570,7 +570,7 @@ static int dw_mmc_probe(struct device *dev)
 	clk_enable(host->clk_biu);
 	clk_enable(host->clk_ciu);
 
-	rst = reset_control_get(dev, "reset");
+	rst = reset_control_get_optional(dev, "reset");
 	if (IS_ERR(rst)) {
 		dev_warn(dev, "error claiming reset: %pe\n", rst);
 	} else if (rst) {
-- 
2.39.2




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

* [PATCH master 14/14] kbuild: remove useless use of /usr/bin/env
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
                   ` (12 preceding siblings ...)
  2023-04-11  7:14 ` [PATCH master 13/14] mci: dw_mmc: make reset optional Ahmad Fatoum
@ 2023-04-11  7:14 ` Ahmad Fatoum
  2023-04-11 11:57   ` Sascha Hauer
  2023-04-11 11:44 ` [PATCH master 00/14] treewide: fixes for master Sascha Hauer
  14 siblings, 1 reply; 17+ messages in thread
From: Ahmad Fatoum @ 2023-04-11  7:14 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

For some reason, NixOS failed to build device trees, because of the use
of `/usr/bin/env echo -e` here. Given that calling /usr/bin/env is
unneeded anyway for echo, let's just drop it and make the NixOS build
problem go away as well.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 scripts/Makefile.lib | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 4deaa5dfa73c..8f6dcd7430a1 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -372,7 +372,7 @@ $(obj)/%.dtb.z: $(obj)/%.dtb FORCE
 dts-frags = $(subst $(quote),,$(CONFIG_EXTERNAL_DTS_FRAGMENTS))
 quiet_cmd_dtc = DTC     $@
 # For compatibility between make 4.2 and 4.3
-cmd_dtc = /usr/bin/env echo -e '$(pound)define $(subst -,_,$(*F))_dts 1\n'$(foreach f,$< $(2),'$(pound)include "$(f)"\n') | \
+cmd_dtc = echo -e '$(pound)define $(subst -,_,$(*F))_dts 1\n'$(foreach f,$< $(2),'$(pound)include "$(f)"\n') | \
 	$(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) - ; \
 	$(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 \
 		-i $(srctree)/arch/$(SRCARCH)/dts $(DTC_FLAGS) \
-- 
2.39.2




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

* Re: [PATCH master 00/14] treewide: fixes for master
  2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
                   ` (13 preceding siblings ...)
  2023-04-11  7:14 ` [PATCH master 14/14] kbuild: remove useless use of /usr/bin/env Ahmad Fatoum
@ 2023-04-11 11:44 ` Sascha Hauer
  14 siblings, 0 replies; 17+ messages in thread
From: Sascha Hauer @ 2023-04-11 11:44 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: barebox

On Tue, Apr 11, 2023 at 09:14:22AM +0200, Ahmad Fatoum wrote:
> I am packaging barebox for NixOS, which is a tad different (and newer)
> than Debian, which I was previously using. This had me run into a couple
> of issues, which this PR addresses. All of them apply onto master.
> The fixes for next will be posted separately.
> 
> Ahmad Fatoum (14):
>   test: riscv: fix YAMLs after defconfig rename
>   RISC-V: board-dt-2nd: fix hang in startup
>   RISC-V: sifive: disable non-functional SPI nodes
>   video: qemu-ramfb: reduce -ENODEV lo level to debug
>   gpiolib: fix gpio label generation with gpiod_get
>   test: emulate.pl: fix firmware use with non-tuxmake out-of-tree build
>   RISC-V: restrict GCC optimization some more
>   RISC-V: configs: rv64i_defconfig: disable SBI serial
>   net: dsa: realtek: include needed headers directly
>   net: linux/mdio.h: add missing init.h header
>   Kbuild: export CROSS_PKG_CONFIG
>   treewide: fix includes missed by multiarch support
>   mci: dw_mmc: make reset optional

Applied 1-13, thanks

Sascha

>   kbuild: remove useless use of /usr/bin/env
> 
>  Documentation/boards/imx.rst                  |  4 ++--
>  Makefile                                      |  2 +-
>  arch/riscv/Makefile                           |  3 +++
>  arch/riscv/boot/board-dt-2nd.c                |  6 +++++
>  arch/riscv/configs/rv64i_defconfig            |  1 -
>  arch/riscv/dts/hifive-unleashed-a00.dts       |  4 ++++
>  arch/riscv/dts/hifive-unmatched-a00.dts       |  5 +++++
>  drivers/aiodev/am335x_adc.c                   |  2 +-
>  drivers/aiodev/imx_thermal.c                  |  2 +-
>  drivers/gpio/gpiolib.c                        |  2 +-
>  drivers/hab/hab.c                             |  2 +-
>  drivers/mci/dw_mmc.c                          |  2 +-
>  drivers/net/realtek-dsa/realtek-mdio.c        |  1 +
>  drivers/net/realtek-dsa/realtek-smi.c         |  1 +
>  drivers/net/realtek-dsa/rtl8365mb.c           |  2 ++
>  drivers/net/realtek-dsa/rtl8366rb.c           |  2 ++
>  drivers/net/realtek-dsa/tag_rtl4_a.c          |  1 +
>  drivers/net/realtek-dsa/tag_rtl8_4.c          |  1 +
>  drivers/nvmem/ocotp.c                         |  4 ++--
>  drivers/pci/pci-imx6.c                        |  6 ++---
>  drivers/pinctrl/imx-iomux-v2.c                |  2 +-
>  drivers/spi/atmel-quadspi.c                   |  6 ++---
>  drivers/video/imx-ipu-fb.c                    |  4 ++--
>  drivers/video/ramfb.c                         |  2 +-
>  include/linux/mdio.h                          |  1 +
>  scripts/Makefile.lib                          |  2 +-
>  scripts/regsubst.pl                           |  8 +++----
>  scripts/socfpga_xml_to_config.sh              |  4 ++--
>  test/emulate.pl                               | 22 ++++++++++---------
>  ....yaml => qemu-virt64@rv64i_defconfig.yaml} |  0
>  test/riscv/rv64i_defconfig.yaml               |  1 +
>  ...onfig.yaml => sifive@rv64i_defconfig.yaml} |  0
>  ...nfig.yaml => tinyemu@rv64i_defconfig.yaml} |  0
>  test/riscv/virt64_defconfig.yaml              |  1 -
>  34 files changed, 67 insertions(+), 39 deletions(-)
>  rename test/riscv/{qemu@virt64_defconfig.yaml => qemu-virt64@rv64i_defconfig.yaml} (100%)
>  create mode 120000 test/riscv/rv64i_defconfig.yaml
>  rename test/riscv/{sifive_defconfig.yaml => sifive@rv64i_defconfig.yaml} (100%)
>  rename test/riscv/{tinyemu@virt64_defconfig.yaml => tinyemu@rv64i_defconfig.yaml} (100%)
>  delete mode 120000 test/riscv/virt64_defconfig.yaml
> 
> -- 
> 2.39.2
> 
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



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

* Re: [PATCH master 14/14] kbuild: remove useless use of /usr/bin/env
  2023-04-11  7:14 ` [PATCH master 14/14] kbuild: remove useless use of /usr/bin/env Ahmad Fatoum
@ 2023-04-11 11:57   ` Sascha Hauer
  0 siblings, 0 replies; 17+ messages in thread
From: Sascha Hauer @ 2023-04-11 11:57 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: barebox

On Tue, Apr 11, 2023 at 09:14:36AM +0200, Ahmad Fatoum wrote:
> For some reason, NixOS failed to build device trees, because of the use
> of `/usr/bin/env echo -e` here. Given that calling /usr/bin/env is
> unneeded anyway for echo, let's just drop it and make the NixOS build
> problem go away as well.

/usr/bin/env was used on purpose here, likely because for example the
dash echo builtin does not support the -e option.

See
https://lore.barebox.org/barebox/20220120091433.GJ7102@pengutronix.de/

Michael suggested to use printf back then.

Sascha

> 
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> ---
>  scripts/Makefile.lib | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> index 4deaa5dfa73c..8f6dcd7430a1 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -372,7 +372,7 @@ $(obj)/%.dtb.z: $(obj)/%.dtb FORCE
>  dts-frags = $(subst $(quote),,$(CONFIG_EXTERNAL_DTS_FRAGMENTS))
>  quiet_cmd_dtc = DTC     $@
>  # For compatibility between make 4.2 and 4.3
> -cmd_dtc = /usr/bin/env echo -e '$(pound)define $(subst -,_,$(*F))_dts 1\n'$(foreach f,$< $(2),'$(pound)include "$(f)"\n') | \
> +cmd_dtc = echo -e '$(pound)define $(subst -,_,$(*F))_dts 1\n'$(foreach f,$< $(2),'$(pound)include "$(f)"\n') | \
>  	$(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) - ; \
>  	$(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 \
>  		-i $(srctree)/arch/$(SRCARCH)/dts $(DTC_FLAGS) \
> -- 
> 2.39.2
> 
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



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

end of thread, other threads:[~2023-04-11 11:58 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-11  7:14 [PATCH master 00/14] treewide: fixes for master Ahmad Fatoum
2023-04-11  7:14 ` [PATCH master 01/14] test: riscv: fix YAMLs after defconfig rename Ahmad Fatoum
2023-04-11  7:14 ` [PATCH master 02/14] RISC-V: board-dt-2nd: fix hang in startup Ahmad Fatoum
2023-04-11  7:14 ` [PATCH master 03/14] RISC-V: sifive: disable non-functional SPI nodes Ahmad Fatoum
2023-04-11  7:14 ` [PATCH master 04/14] video: qemu-ramfb: reduce -ENODEV lo level to debug Ahmad Fatoum
2023-04-11  7:14 ` [PATCH master 05/14] gpiolib: fix gpio label generation with gpiod_get Ahmad Fatoum
2023-04-11  7:14 ` [PATCH master 06/14] test: emulate.pl: fix firmware use with non-tuxmake out-of-tree build Ahmad Fatoum
2023-04-11  7:14 ` [PATCH master 07/14] RISC-V: restrict GCC optimization some more Ahmad Fatoum
2023-04-11  7:14 ` [PATCH master 08/14] RISC-V: configs: rv64i_defconfig: disable SBI serial Ahmad Fatoum
2023-04-11  7:14 ` [PATCH master 09/14] net: dsa: realtek: include needed headers directly Ahmad Fatoum
2023-04-11  7:14 ` [PATCH master 10/14] net: linux/mdio.h: add missing init.h header Ahmad Fatoum
2023-04-11  7:14 ` [PATCH master 11/14] Kbuild: export CROSS_PKG_CONFIG Ahmad Fatoum
2023-04-11  7:14 ` [PATCH master 12/14] treewide: fix includes missed by multiarch support Ahmad Fatoum
2023-04-11  7:14 ` [PATCH master 13/14] mci: dw_mmc: make reset optional Ahmad Fatoum
2023-04-11  7:14 ` [PATCH master 14/14] kbuild: remove useless use of /usr/bin/env Ahmad Fatoum
2023-04-11 11:57   ` Sascha Hauer
2023-04-11 11:44 ` [PATCH master 00/14] treewide: fixes for master Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox