[PATCH 2/3] drivers: mmc: uclass: Set removable flag based on device tree property

Balaji Selvanathan balaji.selvanathan at oss.qualcomm.com
Tue Apr 21 15:05:59 CEST 2026


On 4/13/2026 3:15 PM, Sumit Garg wrote:
> On Tue, Mar 24, 2026 at 11:22:35AM +0530, Balaji Selvanathan wrote:
>> The block device removable flag should reflect whether the MMC
>> device is physically removable (SD card) or soldered (eMMC). This
>> information is specified in the device tree via the "non-removable"
>> property and stored in the MMC_CAP_NONREMOVABLE capability flag.
>>
>> Update the removable flag in the block device descriptor after
>> successful MMC initialization to properly reflect the device's
>> removable status. This allows the block layer and upper layers to
>> distinguish between eMMC and SD cards for appropriate handling.
>>
>> The default removable=1 is set in mmc_bind(), and this change
>> overrides it only for non-removable devices after confirming
>> successful initialization.
>>
>> Signed-off-by: Balaji Selvanathan <balaji.selvanathan at oss.qualcomm.com>
>> ---
>>   drivers/mmc/mmc-uclass.c | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/mmc/mmc-uclass.c b/drivers/mmc/mmc-uclass.c
>> index 698530088fe..b218c69b494 100644
>> --- a/drivers/mmc/mmc-uclass.c
>> +++ b/drivers/mmc/mmc-uclass.c
>> @@ -507,6 +507,7 @@ static int mmc_blk_probe(struct udevice *dev)
>>   	struct udevice *mmc_dev = dev_get_parent(dev);
>>   	struct mmc_uclass_priv *upriv = dev_get_uclass_priv(mmc_dev);
>>   	struct mmc *mmc = upriv->mmc;
>> +	struct blk_desc *bdesc = dev_get_uclass_plat(dev);
>>   	int ret;
>>   
>>   	ret = mmc_init(mmc);
>> @@ -515,6 +516,10 @@ static int mmc_blk_probe(struct udevice *dev)
>>   		return ret;
>>   	}
>>   
>> +	/* Update removable flag based on device capabilities */
>> +	if (mmc->cfg->host_caps & MMC_CAP_NONREMOVABLE)
>> +		bdesc->removable = 0;
> Looking at other MMC drivers, this update happens in platform specific
> driver. Check if this rather belongs to msm_sdhci.c.
>
> -Sumit

Hi Sumit,

Thanks for the feedback, moved the codes to msm specific codes in v2: 
https://lore.kernel.org/u-boot/20260421-emmc-v2-0-0ebd3322b676@oss.qualcomm.com/

Thanks,

Balaji



More information about the U-Boot mailing list