diff mbox series

[1/2] arm64: dts: exynos: drop mshc aliases

Message ID 20230203204000.14410-2-henrik@grimler.se (mailing list archive)
State New
Headers show
Series arm64: dts: add mmc aliases for Exynos devicse | expand

Commit Message

Henrik Grimler Feb. 3, 2023, 8:39 p.m. UTC
They are no longer needed after commit a13e8ef6008d ("mmc: dw_mmc:
exynos: use common_caps").

Signed-off-by: Henrik Grimler <henrik@grimler.se>
---
 arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi | 2 --
 arch/arm64/boot/dts/exynos/exynos7-espresso.dts       | 2 --
 2 files changed, 4 deletions(-)

Comments

David Virag Feb. 4, 2023, 11:43 a.m. UTC | #1
On Fri, 2023-02-03 at 21:39 +0100, Henrik Grimler wrote:
> They are no longer needed after commit a13e8ef6008d ("mmc: dw_mmc:
> exynos: use common_caps").
> 
> Signed-off-by: Henrik Grimler <henrik@grimler.se>
> ---
>  arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi | 2 --
>  arch/arm64/boot/dts/exynos/exynos7-espresso.dts       | 2 --
>  2 files changed, 4 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
> b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
> index f54f30633417..c895b70b3cec 100644
> --- a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
> @@ -40,8 +40,6 @@ aliases {
>                 spi2 = &spi_2;
>                 spi3 = &spi_3;
>                 spi4 = &spi_4;
> -               mshc0 = &mshc_0;
> -               mshc2 = &mshc_2;
>         };
>  
>         chosen {
> diff --git a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
> b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
> index f3f4a6ab4b49..686f0923a4a7 100644
> --- a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
> +++ b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
> @@ -18,8 +18,6 @@ / {
>  
>         aliases {
>                 serial0 = &serial_2;
> -               mshc0 = &mmc_0;
> -               mshc2 = &mmc_2;
>         };
>  
>         chosen {

In dw_mmc-exynos.c, there's a caps array specified like this:

/* Common capabilities of Exynos4/Exynos5 SoC */
static unsigned long exynos_dwmmc_caps[4] = {
	MMC_CAP_1_8V_DDR | MMC_CAP_8_BIT_DATA,
	0,
	0,
	0,
};

As I understand these capabilities are added to the mmc controllers
based on mshc alias id. Shouldn't these capabilities be moved to
device-tree before removing these aliases? This also applies to the
32bit arm patch. If I understand correctly, removing these aliases
without adding the capabilities to dt removes the capability
"MMC_CAP_1_8V_DDR" and "MMC_CAP_8_BIT_DATA" from mshc_0/mmc_0.

Best regards,
David
David Virag Feb. 4, 2023, 12:45 p.m. UTC | #2
On Sat, 2023-02-04 at 12:43 +0100, David Virag wrote:
> On Fri, 2023-02-03 at 21:39 +0100, Henrik Grimler wrote:
> > They are no longer needed after commit a13e8ef6008d ("mmc: dw_mmc:
> > exynos: use common_caps").
> > 
> > Signed-off-by: Henrik Grimler <henrik@grimler.se>
> > ---
> >  arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi | 2 --
> >  arch/arm64/boot/dts/exynos/exynos7-espresso.dts       | 2 --
> >  2 files changed, 4 deletions(-)
[...]
> In dw_mmc-exynos.c, there's a caps array specified like this:
> 
> /* Common capabilities of Exynos4/Exynos5 SoC */
> static unsigned long exynos_dwmmc_caps[4] = {
>         MMC_CAP_1_8V_DDR | MMC_CAP_8_BIT_DATA,
>         0,
>         0,
>         0,
> };
> 
> As I understand these capabilities are added to the mmc controllers
> based on mshc alias id. Shouldn't these capabilities be moved to
> device-tree before removing these aliases? This also applies to the
> 32bit arm patch. If I understand correctly, removing these aliases
> without adding the capabilities to dt removes the capability
> "MMC_CAP_1_8V_DDR" and "MMC_CAP_8_BIT_DATA" from mshc_0/mmc_0.

Actually, it defaults to 0, so these capabilities will be added to all
mmc nodes, not just those with mshc0 alias. That may cause problems.


Best regards,
David
Henrik Grimler Feb. 4, 2023, 4:27 p.m. UTC | #3
Hi David,

On Sat, Feb 04, 2023 at 01:45:15PM +0100, David Virag wrote:
> On Sat, 2023-02-04 at 12:43 +0100, David Virag wrote:
> > On Fri, 2023-02-03 at 21:39 +0100, Henrik Grimler wrote:
> > > They are no longer needed after commit a13e8ef6008d ("mmc: dw_mmc:
> > > exynos: use common_caps").
> > > 
> > > Signed-off-by: Henrik Grimler <henrik@grimler.se>
> > > ---
> > >  arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi | 2 --
> > >  arch/arm64/boot/dts/exynos/exynos7-espresso.dts       | 2 --
> > >  2 files changed, 4 deletions(-)
> [...]
> > In dw_mmc-exynos.c, there's a caps array specified like this:
> > 
> > /* Common capabilities of Exynos4/Exynos5 SoC */
> > static unsigned long exynos_dwmmc_caps[4] = {
> >         MMC_CAP_1_8V_DDR | MMC_CAP_8_BIT_DATA,
> >         0,
> >         0,
> >         0,
> > };
> > 
> > As I understand these capabilities are added to the mmc controllers
> > based on mshc alias id. Shouldn't these capabilities be moved to
> > device-tree before removing these aliases? This also applies to the
> > 32bit arm patch. If I understand correctly, removing these aliases
> > without adding the capabilities to dt removes the capability
> > "MMC_CAP_1_8V_DDR" and "MMC_CAP_8_BIT_DATA" from mshc_0/mmc_0.

Thanks for pointing this out (I should have seen it already), will
send a new version to update device trees and remove the need for
those mshc alias based capabilities.

> Actually, it defaults to 0, so these capabilities will be added to all
> mmc nodes, not just those with mshc0 alias. That may cause problems.

I think I see what you mean: ctrl_id will be set to 0 if mshc alias is
missing, and then caps is set as
    mmc->caps |= drv_data->caps[ctrl_id];
where
    drv_data->caps[0] = MMC_CAP_1_8V_DDR | MMC_CAP_8_BIT_DATA

Should be fixed in next version of patchset then in any case, maybe it
deserves a "Fixes:" tag as well, will have a look in git history if
there is a particular commit that introduced this situation.

> Best regards,
> David

Best regards,
Henrik Grimler
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
index f54f30633417..c895b70b3cec 100644
--- a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
@@ -40,8 +40,6 @@  aliases {
 		spi2 = &spi_2;
 		spi3 = &spi_3;
 		spi4 = &spi_4;
-		mshc0 = &mshc_0;
-		mshc2 = &mshc_2;
 	};
 
 	chosen {
diff --git a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
index f3f4a6ab4b49..686f0923a4a7 100644
--- a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
+++ b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
@@ -18,8 +18,6 @@  / {
 
 	aliases {
 		serial0 = &serial_2;
-		mshc0 = &mmc_0;
-		mshc2 = &mmc_2;
 	};
 
 	chosen {