diff mbox series

[v1] riscv: dts: starfive: remove non-existant spi device from jh7110-common.dtsi

Message ID 20240716-majesty-antler-d9bedc7fd0af@wendy (mailing list archive)
State Accepted
Delegated to: Conor Dooley
Headers show
Series [v1] riscv: dts: starfive: remove non-existant spi device from jh7110-common.dtsi | expand

Checks

Context Check Description
conchuod/vmtest-for-next-PR success PR summary
conchuod/patch-1-test-1 success .github/scripts/patches/tests/build_rv32_defconfig.sh
conchuod/patch-1-test-2 success .github/scripts/patches/tests/build_rv64_clang_allmodconfig.sh
conchuod/patch-1-test-3 success .github/scripts/patches/tests/build_rv64_gcc_allmodconfig.sh
conchuod/patch-1-test-4 success .github/scripts/patches/tests/build_rv64_nommu_k210_defconfig.sh
conchuod/patch-1-test-5 success .github/scripts/patches/tests/build_rv64_nommu_virt_defconfig.sh
conchuod/patch-1-test-6 success .github/scripts/patches/tests/checkpatch.sh
conchuod/patch-1-test-7 success .github/scripts/patches/tests/dtb_warn_rv64.sh
conchuod/patch-1-test-8 success .github/scripts/patches/tests/header_inline.sh
conchuod/patch-1-test-9 success .github/scripts/patches/tests/kdoc.sh
conchuod/patch-1-test-10 success .github/scripts/patches/tests/module_param.sh
conchuod/patch-1-test-11 success .github/scripts/patches/tests/verify_fixes.sh
conchuod/patch-1-test-12 success .github/scripts/patches/tests/verify_signedoff.sh

Commit Message

Conor Dooley July 16, 2024, 10:54 a.m. UTC
There is no rohm,dh2228fv on any of supported JH7110 boards - in fact
the dh2228fv almost certainly does not exist as it is not a valid Rohm
part number. Likely a typo by Maxime when adding the device originally,
and should have been bh2228fv, but these boards do not have a bh2228fv
either! Remove it from jh7110-common.dtsi - pretending to have a device
so that the spidev driver will be bound by Linux is not acceptable.

Fixes: 74fb20c8f05d ("riscv: dts: starfive: Add spi node and pins configuration")
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
---
CC: Emil Renner Berthing <kernel@esmil.dk>
CC: Conor Dooley <conor@kernel.org>
CC: Rob Herring <robh@kernel.org>
CC: Krzysztof Kozlowski <krzk+dt@kernel.org>
CC: Paul Walmsley <paul.walmsley@sifive.com>
CC: Palmer Dabbelt <palmer@dabbelt.com>
CC: Albert Ou <aou@eecs.berkeley.edu>
CC: William Qiu <william.qiu@starfivetech.com>
CC: linux-riscv@lists.infradead.org
CC: devicetree@vger.kernel.org
CC: linux-kernel@vger.kernel.org
---
 arch/riscv/boot/dts/starfive/jh7110-common.dtsi | 6 ------
 1 file changed, 6 deletions(-)

Comments

Krzysztof Kozlowski July 17, 2024, 8:42 a.m. UTC | #1
On 16/07/2024 12:54, Conor Dooley wrote:
> There is no rohm,dh2228fv on any of supported JH7110 boards - in fact
> the dh2228fv almost certainly does not exist as it is not a valid Rohm
> part number. Likely a typo by Maxime when adding the device originally,
> and should have been bh2228fv, but these boards do not have a bh2228fv
> either! Remove it from jh7110-common.dtsi - pretending to have a device
> so that the spidev driver will be bound by Linux is not acceptable.
> 
> Fixes: 74fb20c8f05d ("riscv: dts: starfive: Add spi node and pins configuration")
> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
Emil Renner Berthing July 26, 2024, 12:29 p.m. UTC | #2
Conor Dooley wrote:
> There is no rohm,dh2228fv on any of supported JH7110 boards - in fact
> the dh2228fv almost certainly does not exist as it is not a valid Rohm
> part number. Likely a typo by Maxime when adding the device originally,
> and should have been bh2228fv, but these boards do not have a bh2228fv
> either! Remove it from jh7110-common.dtsi - pretending to have a device
> so that the spidev driver will be bound by Linux is not acceptable.

Hi Conor,

This patch is correct, but as you mention the fake device was most likely added
in order to use spidev from userspace with random devices added on the exposed
pins. In case someone actually makes use of this wouldn't this be a regression?
What is the right way to support this?

/Emil

>
> Fixes: 74fb20c8f05d ("riscv: dts: starfive: Add spi node and pins configuration")
> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
> ---
> CC: Emil Renner Berthing <kernel@esmil.dk>
> CC: Conor Dooley <conor@kernel.org>
> CC: Rob Herring <robh@kernel.org>
> CC: Krzysztof Kozlowski <krzk+dt@kernel.org>
> CC: Paul Walmsley <paul.walmsley@sifive.com>
> CC: Palmer Dabbelt <palmer@dabbelt.com>
> CC: Albert Ou <aou@eecs.berkeley.edu>
> CC: William Qiu <william.qiu@starfivetech.com>
> CC: linux-riscv@lists.infradead.org
> CC: devicetree@vger.kernel.org
> CC: linux-kernel@vger.kernel.org
> ---
>  arch/riscv/boot/dts/starfive/jh7110-common.dtsi | 6 ------
>  1 file changed, 6 deletions(-)
>
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> index 8ff6ea64f048..395436ec0f97 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> +++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> @@ -346,12 +346,6 @@ &spi0 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&spi0_pins>;
>  	status = "okay";
> -
> -	spi_dev0: spi@0 {
> -		compatible = "rohm,dh2228fv";
> -		reg = <0>;
> -		spi-max-frequency = <10000000>;
> -	};
>  };
>
>  &sysgpio {
> --
> 2.43.2
>
Conor Dooley July 26, 2024, 12:46 p.m. UTC | #3
On Fri, Jul 26, 2024 at 08:29:39AM -0400, Emil Renner Berthing wrote:
> Conor Dooley wrote:
> > There is no rohm,dh2228fv on any of supported JH7110 boards - in fact
> > the dh2228fv almost certainly does not exist as it is not a valid Rohm
> > part number. Likely a typo by Maxime when adding the device originally,
> > and should have been bh2228fv, but these boards do not have a bh2228fv
> > either! Remove it from jh7110-common.dtsi - pretending to have a device
> > so that the spidev driver will be bound by Linux is not acceptable.
> 
> This patch is correct, but as you mention the fake device was most likely added
> in order to use spidev from userspace with random devices added on the exposed
> pins. In case someone actually makes use of this wouldn't this be a regression?
> What is the right way to support this?

Unfortunately, there's no "right way" that's supported for for this
particular case. If people want to use spidev for their device, they
should either document it in the bindings, add the compatible to the
spidev driver and use an overlay to add the device to the dts or they
can r bind the spidev driver to the device from userspace.

The other thing, which doesn't exist yet, is a connector binding. The
folks are Beagle are currently working on creating a connector binding
for the Mikrobus connector - but that's rather far from complete at the
moment.

Cheers,
Conor.

> > Fixes: 74fb20c8f05d ("riscv: dts: starfive: Add spi node and pins configuration")
> > Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
> > ---
> > CC: Emil Renner Berthing <kernel@esmil.dk>
> > CC: Conor Dooley <conor@kernel.org>
> > CC: Rob Herring <robh@kernel.org>
> > CC: Krzysztof Kozlowski <krzk+dt@kernel.org>
> > CC: Paul Walmsley <paul.walmsley@sifive.com>
> > CC: Palmer Dabbelt <palmer@dabbelt.com>
> > CC: Albert Ou <aou@eecs.berkeley.edu>
> > CC: William Qiu <william.qiu@starfivetech.com>
> > CC: linux-riscv@lists.infradead.org
> > CC: devicetree@vger.kernel.org
> > CC: linux-kernel@vger.kernel.org
> > ---
> >  arch/riscv/boot/dts/starfive/jh7110-common.dtsi | 6 ------
> >  1 file changed, 6 deletions(-)
> >
> > diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> > index 8ff6ea64f048..395436ec0f97 100644
> > --- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> > +++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> > @@ -346,12 +346,6 @@ &spi0 {
> >  	pinctrl-names = "default";
> >  	pinctrl-0 = <&spi0_pins>;
> >  	status = "okay";
> > -
> > -	spi_dev0: spi@0 {
> > -		compatible = "rohm,dh2228fv";
> > -		reg = <0>;
> > -		spi-max-frequency = <10000000>;
> > -	};
> >  };
> >
> >  &sysgpio {
> > --
> > 2.43.2
> >
Emil Renner Berthing July 26, 2024, 12:59 p.m. UTC | #4
Conor Dooley wrote:
> On Fri, Jul 26, 2024 at 08:29:39AM -0400, Emil Renner Berthing wrote:
> > Conor Dooley wrote:
> > > There is no rohm,dh2228fv on any of supported JH7110 boards - in fact
> > > the dh2228fv almost certainly does not exist as it is not a valid Rohm
> > > part number. Likely a typo by Maxime when adding the device originally,
> > > and should have been bh2228fv, but these boards do not have a bh2228fv
> > > either! Remove it from jh7110-common.dtsi - pretending to have a device
> > > so that the spidev driver will be bound by Linux is not acceptable.
> >
> > This patch is correct, but as you mention the fake device was most likely added
> > in order to use spidev from userspace with random devices added on the exposed
> > pins. In case someone actually makes use of this wouldn't this be a regression?
> > What is the right way to support this?
>
> Unfortunately, there's no "right way" that's supported for for this
> particular case. If people want to use spidev for their device, they
> should either document it in the bindings, add the compatible to the
> spidev driver and use an overlay to add the device to the dts or they
> can r bind the spidev driver to the device from userspace.
>
> The other thing, which doesn't exist yet, is a connector binding. The
> folks are Beagle are currently working on creating a connector binding
> for the Mikrobus connector - but that's rather far from complete at the
> moment.
>

I see. Thanks for the explanation. At least now there is this thread
any potential users might find.

Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Conor Dooley Aug. 7, 2024, 5:26 p.m. UTC | #5
From: Conor Dooley <conor.dooley@microchip.com>

On Tue, 16 Jul 2024 11:54:00 +0100, Conor Dooley wrote:
> There is no rohm,dh2228fv on any of supported JH7110 boards - in fact
> the dh2228fv almost certainly does not exist as it is not a valid Rohm
> part number. Likely a typo by Maxime when adding the device originally,
> and should have been bh2228fv, but these boards do not have a bh2228fv
> either! Remove it from jh7110-common.dtsi - pretending to have a device
> so that the spidev driver will be bound by Linux is not acceptable.
> 
> [...]

Applied to riscv-dt-fixes, thanks!

[1/1] riscv: dts: starfive: remove non-existant spi device from jh7110-common.dtsi
      https://git.kernel.org/conor/c/db6efa5e81a5

Thanks,
Conor.
diff mbox series

Patch

diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
index 8ff6ea64f048..395436ec0f97 100644
--- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
+++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
@@ -346,12 +346,6 @@  &spi0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&spi0_pins>;
 	status = "okay";
-
-	spi_dev0: spi@0 {
-		compatible = "rohm,dh2228fv";
-		reg = <0>;
-		spi-max-frequency = <10000000>;
-	};
 };
 
 &sysgpio {