2023-07-25 15:25:30

by Thomas Weißschuh

[permalink] [raw]
Subject: [PATCH] mmc: core: propagate removable attribute to driver core

Userspace can use this to distinguish hotpluggable mmc devices such as
sdcards from non-hotpluggable ones such as eMMC.
One example is the lsblk tool from util-linux.

Note that dev_set_removable() is not related to GENHD_FL_REMOVABLE which
is not applicable as per the comment in drivers/mmc/core/block.c

Link: https://github.com/util-linux/util-linux/issues/2379
Signed-off-by: Thomas Weißschuh <[email protected]>
---
drivers/mmc/core/bus.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c
index 2c3074a605fc..0af96548e7da 100644
--- a/drivers/mmc/core/bus.c
+++ b/drivers/mmc/core/bus.c
@@ -310,6 +310,9 @@ int mmc_add_card(struct mmc_card *card)


dev_set_name(&card->dev, "%s:%04x", mmc_hostname(card->host), card->rca);
+ dev_set_removable(&card->dev,
+ mmc_card_is_removable(card->host) ?
+ DEVICE_REMOVABLE : DEVICE_FIXED);

switch (card->type) {
case MMC_TYPE_MMC:

---
base-commit: 0b5547c51827e053cc754db47d3ec3e6c2c451d2
change-id: 20230725-mmc-removable-5cfdca9ed062

Best regards,
--
Thomas Weißschuh <[email protected]>



2023-07-29 13:49:39

by Avri Altman

[permalink] [raw]
Subject: RE: [PATCH] mmc: core: propagate removable attribute to driver core

>
> Userspace can use this to distinguish hotpluggable mmc devices such as
> sdcards from non-hotpluggable ones such as eMMC.
> One example is the lsblk tool from util-linux.
>
> Note that dev_set_removable() is not related to GENHD_FL_REMOVABLE
> which
> is not applicable as per the comment in drivers/mmc/core/block.c
>
> Link: https://github.com/util-linux/util-linux/issues/2379
> Signed-off-by: Thomas Weißschuh <[email protected]>
Reviewed-by: Avri Altman <[email protected]>

> ---
> drivers/mmc/core/bus.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c
> index 2c3074a605fc..0af96548e7da 100644
> --- a/drivers/mmc/core/bus.c
> +++ b/drivers/mmc/core/bus.c
> @@ -310,6 +310,9 @@ int mmc_add_card(struct mmc_card *card)
>
>
> dev_set_name(&card->dev, "%s:%04x", mmc_hostname(card->host),
> card->rca);
> + dev_set_removable(&card->dev,
> + mmc_card_is_removable(card->host) ?
> + DEVICE_REMOVABLE : DEVICE_FIXED);
>
> switch (card->type) {
> case MMC_TYPE_MMC:
>
> ---
> base-commit: 0b5547c51827e053cc754db47d3ec3e6c2c451d2
> change-id: 20230725-mmc-removable-5cfdca9ed062
>
> Best regards,
> --
> Thomas Weißschuh <[email protected]>

2023-08-07 16:54:50

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH] mmc: core: propagate removable attribute to driver core

On Tue, 25 Jul 2023 at 16:17, Thomas Weißschuh <[email protected]> wrote:
>
> Userspace can use this to distinguish hotpluggable mmc devices such as
> sdcards from non-hotpluggable ones such as eMMC.
> One example is the lsblk tool from util-linux.
>
> Note that dev_set_removable() is not related to GENHD_FL_REMOVABLE which
> is not applicable as per the comment in drivers/mmc/core/block.c
>
> Link: https://github.com/util-linux/util-linux/issues/2379
> Signed-off-by: Thomas Weißschuh <[email protected]>

Applied for next, thanks!

Kind regards
Uffe


> ---
> drivers/mmc/core/bus.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c
> index 2c3074a605fc..0af96548e7da 100644
> --- a/drivers/mmc/core/bus.c
> +++ b/drivers/mmc/core/bus.c
> @@ -310,6 +310,9 @@ int mmc_add_card(struct mmc_card *card)
>
>
> dev_set_name(&card->dev, "%s:%04x", mmc_hostname(card->host), card->rca);
> + dev_set_removable(&card->dev,
> + mmc_card_is_removable(card->host) ?
> + DEVICE_REMOVABLE : DEVICE_FIXED);
>
> switch (card->type) {
> case MMC_TYPE_MMC:
>
> ---
> base-commit: 0b5547c51827e053cc754db47d3ec3e6c2c451d2
> change-id: 20230725-mmc-removable-5cfdca9ed062
>
> Best regards,
> --
> Thomas Weißschuh <[email protected]>
>