[PATCH] hw/arm/aspeed: Do not create and attach empty SD cards by default

Philippe Mathieu-Daudé posted 1 patch 3 years, 9 months ago
Test docker-quick@centos7 passed
Test FreeBSD passed
Test checkpatch passed
Test docker-mingw@fedora passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200705173402.15620-1-f4bug@amsat.org
hw/arm/aspeed.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
[PATCH] hw/arm/aspeed: Do not create and attach empty SD cards by default
Posted by Philippe Mathieu-Daudé 3 years, 9 months ago
Since added in commit 2bea128c3d, each SDHCI is wired with a SD
card, using empty card when no block drive provided. This is not
the desired behavior. The SDHCI exposes a SD bus to plug cards
on, if no card available, it is fine to have an unplugged bus.

Avoid creating unnecessary SD card device when no block drive
provided.

Fixes: 2bea128c3d ("hw/sd/aspeed_sdhci: New device")
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
Cc: Eddie James <eajames@linux.ibm.com>
Cc: Cédric Le Goater <clg@kaod.org>
Cc: Joel Stanley <joel@jms.id.au>
Cc: Andrew Jeffery <andrew@aj.id.au>
---
 hw/arm/aspeed.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
index 379f9672a5..11521c4be1 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -246,11 +246,12 @@ static void sdhci_attach_drive(SDHCIState *sdhci, DriveInfo *dinfo)
 {
         DeviceState *card;
 
-        card = qdev_new(TYPE_SD_CARD);
-        if (dinfo) {
-            qdev_prop_set_drive_err(card, "drive", blk_by_legacy_dinfo(dinfo),
-                                    &error_fatal);
+        if (!dinfo) {
+            return;
         }
+        card = qdev_new(TYPE_SD_CARD);
+        qdev_prop_set_drive_err(card, "drive", blk_by_legacy_dinfo(dinfo),
+                                &error_fatal);
         qdev_realize_and_unref(card,
                                qdev_get_child_bus(DEVICE(sdhci), "sd-bus"),
                                &error_fatal);
-- 
2.21.3


Re: [PATCH] hw/arm/aspeed: Do not create and attach empty SD cards by default
Posted by Cédric Le Goater 3 years, 9 months ago
On 7/5/20 7:34 PM, Philippe Mathieu-Daudé wrote:
> Since added in commit 2bea128c3d, each SDHCI is wired with a SD
> card, using empty card when no block drive provided. This is not
> the desired behavior. The SDHCI exposes a SD bus to plug cards
> on, if no card available, it is fine to have an unplugged bus.
> 
> Avoid creating unnecessary SD card device when no block drive
> provided.
> 
> Fixes: 2bea128c3d ("hw/sd/aspeed_sdhci: New device")
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.

> ---
> Cc: Eddie James <eajames@linux.ibm.com>
> Cc: Cédric Le Goater <clg@kaod.org>
> Cc: Joel Stanley <joel@jms.id.au>
> Cc: Andrew Jeffery <andrew@aj.id.au>
> ---
>  hw/arm/aspeed.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
> index 379f9672a5..11521c4be1 100644
> --- a/hw/arm/aspeed.c
> +++ b/hw/arm/aspeed.c
> @@ -246,11 +246,12 @@ static void sdhci_attach_drive(SDHCIState *sdhci, DriveInfo *dinfo)
>  {
>          DeviceState *card;
>  
> -        card = qdev_new(TYPE_SD_CARD);
> -        if (dinfo) {
> -            qdev_prop_set_drive_err(card, "drive", blk_by_legacy_dinfo(dinfo),
> -                                    &error_fatal);
> +        if (!dinfo) {
> +            return;
>          }
> +        card = qdev_new(TYPE_SD_CARD);
> +        qdev_prop_set_drive_err(card, "drive", blk_by_legacy_dinfo(dinfo),
> +                                &error_fatal);
>          qdev_realize_and_unref(card,
>                                 qdev_get_child_bus(DEVICE(sdhci), "sd-bus"),
>                                 &error_fatal);
> 


Re: [PATCH] hw/arm/aspeed: Do not create and attach empty SD cards by default
Posted by Peter Maydell 3 years, 9 months ago
On Mon, 13 Jul 2020 at 13:20, Cédric Le Goater <clg@kaod.org> wrote:
>
> On 7/5/20 7:34 PM, Philippe Mathieu-Daudé wrote:
> > Since added in commit 2bea128c3d, each SDHCI is wired with a SD
> > card, using empty card when no block drive provided. This is not
> > the desired behavior. The SDHCI exposes a SD bus to plug cards
> > on, if no card available, it is fine to have an unplugged bus.
> >
> > Avoid creating unnecessary SD card device when no block drive
> > provided.
> >
> > Fixes: 2bea128c3d ("hw/sd/aspeed_sdhci: New device")
> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>
> Reviewed-by: Cédric Le Goater <clg@kaod.org>

Applied to target-arm.next for 5.1, thanks.

-- PMM