Re: [PATCH 2/2] mmc: dw_mmc: use standard "mmc" alias stem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/24/21 4:34 AM, Ulf Hansson wrote:
> On Tue, 16 Nov 2021 at 20:02, John Keeping <john@xxxxxxxxxxxx> wrote:
>>
>> The standard stem for MMC aliases is "mmc" and this is used by the MMC
>> core to set the slot index.
> 
> This isn't the correct description of the mmc aliases. The below text
> is copied from the DT doc:
> 
> "It is possible to assign a fixed index mmcN to an MMC host controller
> (and the corresponding mmcblkN devices) by defining an alias in the
> /aliases device tree node."
> 
>>
>> Use this in preference to the non-standard "mshc" stem when setting the
>> controller ID to avoid needing two aliases for each MMC device in order
>> to cover both the core and dw_mmc-specific functionality.
>>
>> The old "mshc" lookup is kept for backwards compatibility.
> 
> The mshc alias is really weird!
> 
> It looks like some leftover from when the dw_mmc controller supported
> multiple slots. This support was dropped a long time ago, simply
> because it never really worked - and it was not worth trying to. Only
> one slot per controller is supported.

As Ulf mentioned, dw_mmc controller can be supported multiple slot.
But I didn't see its case to use multiple slot. And I had been done to drop a long time ago.

mshc was used because of Mobile Storage Host Controller.

> 
> Rather than re-using the mmc alias in the same weird way as the mshc
> alias, I suggest we try to remove parsing of the mshc aliases
> completely. By looking at the corresponding code and in combination
> with the DTS files, it certainly looks doable to me. Do you want to
> have a look at it?

If possible to remove mshc, it's best.
I will check that removing mshc parsing in dw_mmc.c.

Best Regards,
Jaehoon Chung

> 
> Additionally, there is no need to deprecate the mshc alias binding, as
> it seems like it has never been documented. :-)
> 
> Kind regards
> Uffe
> 
>>
>> Signed-off-by: John Keeping <john@xxxxxxxxxxxx>
>> ---
>>  drivers/mmc/host/dw_mmc.c | 6 +++++-
>>  1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>> index 37af1245304b..6ffaa354410a 100644
>> --- a/drivers/mmc/host/dw_mmc.c
>> +++ b/drivers/mmc/host/dw_mmc.c
>> @@ -112,7 +112,11 @@ int dw_mci_of_alias_get_id(struct dw_mci *host)
>>         if (WARN_ON(!host->dev->of_node))
>>                 return 0;
>>
>> -       ctrl_id = of_alias_get_id(host->dev->of_node, "mshc");
>> +       ctrl_id = of_alias_get_id(host->dev->of_node, "mmc");
>> +
>> +       /* Compatibility fallback for old device trees. */
>> +       if (ctrl_id < 0)
>> +               ctrl_id = of_alias_get_id(host->dev->of_node, "mshc");
>>
>>         if (ctrl_id < 0)
>>                 ctrl_id = 0;
>> --
>> 2.34.0
>>
> 




[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux