Message ID | 20211124184603.3897245-5-john@metanate.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mmc: dw_mmc: start deprecating mshcN aliases | expand |
On 11/25/21 3:46 AM, John Keeping wrote: > Move the common MMC_CAP_CMD23 capability to common_caps so that only the > special case of MMC_CAP_1_8V_DDR and MMC_CAP_8_BIT_DATA are set via > caps/num_caps. Both of those can, and should, be set via device tree > properties instead, so we can now say that exynos_dwmmc_caps is only > used for backwards compatibility. > > Signed-off-by: John Keeping <john@metanate.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Added minor comment.. > --- > drivers/mmc/host/dw_mmc-exynos.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/mmc/host/dw_mmc-exynos.c b/drivers/mmc/host/dw_mmc-exynos.c > index c2dd29ef45c6..f76eeeb0cc53 100644 > --- a/drivers/mmc/host/dw_mmc-exynos.c > +++ b/drivers/mmc/host/dw_mmc-exynos.c > @@ -526,15 +526,16 @@ static int dw_mci_exynos_prepare_hs400_tuning(struct dw_mci *host, > > /* Common capabilities of Exynos4/Exynos5 SoC */ > static unsigned long exynos_dwmmc_caps[4] = { > - MMC_CAP_1_8V_DDR | MMC_CAP_8_BIT_DATA | MMC_CAP_CMD23, > - MMC_CAP_CMD23, > - MMC_CAP_CMD23, > - MMC_CAP_CMD23, > + MMC_CAP_1_8V_DDR | MMC_CAP_8_BIT_DATA, > + 0, > + 0, > + 0, > }; It can be removed all things. Best Regards, Jaehoon Chung > > static const struct dw_mci_drv_data exynos_drv_data = { > .caps = exynos_dwmmc_caps, > .num_caps = ARRAY_SIZE(exynos_dwmmc_caps), > + .common_caps = MMC_CAP_CMD23, > .init = dw_mci_exynos_priv_init, > .set_ios = dw_mci_exynos_set_ios, > .parse_dt = dw_mci_exynos_parse_dt, >
On Fri, Nov 26, 2021 at 08:38:20AM +0900, Jaehoon Chung wrote: > On 11/25/21 3:46 AM, John Keeping wrote: > > Move the common MMC_CAP_CMD23 capability to common_caps so that only the > > special case of MMC_CAP_1_8V_DDR and MMC_CAP_8_BIT_DATA are set via > > caps/num_caps. Both of those can, and should, be set via device tree > > properties instead, so we can now say that exynos_dwmmc_caps is only > > used for backwards compatibility. > > > > Signed-off-by: John Keeping <john@metanate.com> > > > Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> > > Added minor comment.. > > > --- > > drivers/mmc/host/dw_mmc-exynos.c | 9 +++++---- > > 1 file changed, 5 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/mmc/host/dw_mmc-exynos.c b/drivers/mmc/host/dw_mmc-exynos.c > > index c2dd29ef45c6..f76eeeb0cc53 100644 > > --- a/drivers/mmc/host/dw_mmc-exynos.c > > +++ b/drivers/mmc/host/dw_mmc-exynos.c > > @@ -526,15 +526,16 @@ static int dw_mci_exynos_prepare_hs400_tuning(struct dw_mci *host, > > > > /* Common capabilities of Exynos4/Exynos5 SoC */ > > static unsigned long exynos_dwmmc_caps[4] = { > > - MMC_CAP_1_8V_DDR | MMC_CAP_8_BIT_DATA | MMC_CAP_CMD23, > > - MMC_CAP_CMD23, > > - MMC_CAP_CMD23, > > - MMC_CAP_CMD23, > > + MMC_CAP_1_8V_DDR | MMC_CAP_8_BIT_DATA, > > + 0, > > + 0, > > + 0, > > }; > > It can be removed all things. Do you mean that the MMC_CAP_1_8V_DDR | MMC_CAP_8_BIT_DATA entries are not needed at all? I know those can be set via DT but I don't think any Exynos DTs are currently using mmc-ddr-1_8v, so removing MMC_CAP_1_8V_DDR looks like a change in behaviour. MMC_CAP_8_BIT_DATA looks easier to remove, although exynos4412-p4note.dtsi seems to set the incorrect bus-width for mshc_0 so there would be a change of behaviour on that platform from removing this. Maybe it makes sense to add a warning in dw_mci_init_slot_caps() if any new caps are set by drv_data->caps[ctrl_id], to make it clear that this is deprecated. Regards, John
diff --git a/drivers/mmc/host/dw_mmc-exynos.c b/drivers/mmc/host/dw_mmc-exynos.c index c2dd29ef45c6..f76eeeb0cc53 100644 --- a/drivers/mmc/host/dw_mmc-exynos.c +++ b/drivers/mmc/host/dw_mmc-exynos.c @@ -526,15 +526,16 @@ static int dw_mci_exynos_prepare_hs400_tuning(struct dw_mci *host, /* Common capabilities of Exynos4/Exynos5 SoC */ static unsigned long exynos_dwmmc_caps[4] = { - MMC_CAP_1_8V_DDR | MMC_CAP_8_BIT_DATA | MMC_CAP_CMD23, - MMC_CAP_CMD23, - MMC_CAP_CMD23, - MMC_CAP_CMD23, + MMC_CAP_1_8V_DDR | MMC_CAP_8_BIT_DATA, + 0, + 0, + 0, }; static const struct dw_mci_drv_data exynos_drv_data = { .caps = exynos_dwmmc_caps, .num_caps = ARRAY_SIZE(exynos_dwmmc_caps), + .common_caps = MMC_CAP_CMD23, .init = dw_mci_exynos_priv_init, .set_ios = dw_mci_exynos_set_ios, .parse_dt = dw_mci_exynos_parse_dt,
Move the common MMC_CAP_CMD23 capability to common_caps so that only the special case of MMC_CAP_1_8V_DDR and MMC_CAP_8_BIT_DATA are set via caps/num_caps. Both of those can, and should, be set via device tree properties instead, so we can now say that exynos_dwmmc_caps is only used for backwards compatibility. Signed-off-by: John Keeping <john@metanate.com> --- drivers/mmc/host/dw_mmc-exynos.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)