Am 8. März 2025 21:36:28 UTC schrieb "Philippe Mathieu-Daudé"
<phi...@linaro.org>:
>All instances of TYPE_IMX_USDHC set vendor=SDHCI_VENDOR_IMX.
>No need to special-case it.
>
>Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
>---
> hw/sd/sdhci-internal.h | 1 -
> include/hw/sd/sdhci.h | 4 ----
> hw/arm/fsl-imx25.c | 2 --
> hw/arm/fsl-imx6.c | 2 --
> hw/arm/fsl-imx6ul.c | 2 --
> hw/arm/fsl-imx7.c | 2 --
> hw/arm/fsl-imx8mp.c | 2 --
> hw/sd/sdhci.c | 14 ++++----------
> 8 files changed, 4 insertions(+), 25 deletions(-)
>
>diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h
>index 9f768c418e0..9072b06bdde 100644
>--- a/hw/sd/sdhci-internal.h
>+++ b/hw/sd/sdhci-internal.h
>@@ -311,7 +311,6 @@ extern const VMStateDescription sdhci_vmstate;
> DEFINE_PROP_UINT8("endianness", _state, endianness,
> DEVICE_LITTLE_ENDIAN), \
> DEFINE_PROP_UINT8("sd-spec-version", _state, sd_spec_version, 2), \
> DEFINE_PROP_UINT8("uhs", _state, uhs_mode, UHS_NOT_SUPPORTED), \
>- DEFINE_PROP_UINT8("vendor", _state, vendor, SDHCI_VENDOR_NONE), \
> \
> /* Capabilities registers provide information on supported
> * features of this specific host controller implementation */ \
>diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h
>index 38c08e28598..48247e9a20f 100644
>--- a/include/hw/sd/sdhci.h
>+++ b/include/hw/sd/sdhci.h
>@@ -99,7 +99,6 @@ struct SDHCIState {
> uint8_t endianness;
> uint8_t sd_spec_version;
> uint8_t uhs_mode;
>- uint8_t vendor; /* For vendor specific functionality */
> /*
> * Write Protect pin default active low for detecting SD card
> * to be protected. Set wp_inverted to invert the signal.
>@@ -108,9 +107,6 @@ struct SDHCIState {
> };
> typedef struct SDHCIState SDHCIState;
>
>-#define SDHCI_VENDOR_NONE 0
>-#define SDHCI_VENDOR_IMX 1
>-
> /*
> * Controller does not provide transfer-complete interrupt when not
> * busy.
>diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c
>index 5359a6d8d3b..02214ca1a1c 100644
>--- a/hw/arm/fsl-imx25.c
>+++ b/hw/arm/fsl-imx25.c
>@@ -243,8 +243,6 @@ static void fsl_imx25_realize(DeviceState *dev, Error
>**errp)
> &error_abort);
> object_property_set_uint(OBJECT(&s->esdhc[i]), "capareg",
> IMX25_ESDHC_CAPABILITIES, &error_abort);
>- object_property_set_uint(OBJECT(&s->esdhc[i]), "vendor",
>- SDHCI_VENDOR_IMX, &error_abort);
> if (!sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), errp)) {
> return;
> }
>diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c
>index dc86338b3a5..a114dc0d63d 100644
>--- a/hw/arm/fsl-imx6.c
>+++ b/hw/arm/fsl-imx6.c
>@@ -327,8 +327,6 @@ static void fsl_imx6_realize(DeviceState *dev, Error
>**errp)
> &error_abort);
> object_property_set_uint(OBJECT(&s->esdhc[i]), "capareg",
> IMX6_ESDHC_CAPABILITIES, &error_abort);
>- object_property_set_uint(OBJECT(&s->esdhc[i]), "vendor",
>- SDHCI_VENDOR_IMX, &error_abort);
> if (!sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), errp)) {
> return;
> }
>diff --git a/hw/arm/fsl-imx6ul.c b/hw/arm/fsl-imx6ul.c
>index 34c4aa15cd0..ce8d3ef535f 100644
>--- a/hw/arm/fsl-imx6ul.c
>+++ b/hw/arm/fsl-imx6ul.c
>@@ -531,8 +531,6 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error
>**errp)
> FSL_IMX6UL_USDHC2_IRQ,
> };
>
>- object_property_set_uint(OBJECT(&s->usdhc[i]), "vendor",
>- SDHCI_VENDOR_IMX, &error_abort);
> sysbus_realize(SYS_BUS_DEVICE(&s->usdhc[i]), &error_abort);
>
> sysbus_mmio_map(SYS_BUS_DEVICE(&s->usdhc[i]), 0,
>diff --git a/hw/arm/fsl-imx7.c b/hw/arm/fsl-imx7.c
>index 3374018cde0..ed1f10bca26 100644
>--- a/hw/arm/fsl-imx7.c
>+++ b/hw/arm/fsl-imx7.c
>@@ -471,8 +471,6 @@ static void fsl_imx7_realize(DeviceState *dev, Error
>**errp)
> FSL_IMX7_USDHC3_IRQ,
> };
>
>- object_property_set_uint(OBJECT(&s->usdhc[i]), "vendor",
>- SDHCI_VENDOR_IMX, &error_abort);
> sysbus_realize(SYS_BUS_DEVICE(&s->usdhc[i]), &error_abort);
>
> sysbus_mmio_map(SYS_BUS_DEVICE(&s->usdhc[i]), 0,
>diff --git a/hw/arm/fsl-imx8mp.c b/hw/arm/fsl-imx8mp.c
>index 1ea98e14635..c3f6da63220 100644
>--- a/hw/arm/fsl-imx8mp.c
>+++ b/hw/arm/fsl-imx8mp.c
>@@ -524,8 +524,6 @@ static void fsl_imx8mp_realize(DeviceState *dev, Error
>**errp)
> { fsl_imx8mp_memmap[FSL_IMX8MP_USDHC3].addr,
> FSL_IMX8MP_USDHC3_IRQ },
> };
>
>- object_property_set_uint(OBJECT(&s->usdhc[i]), "vendor",
>- SDHCI_VENDOR_IMX, &error_abort);
> if (!sysbus_realize(SYS_BUS_DEVICE(&s->usdhc[i]), errp)) {
> return;
> }
>diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
>index 1f45a77566c..149b748cbee 100644
>--- a/hw/sd/sdhci.c
>+++ b/hw/sd/sdhci.c
>@@ -1731,16 +1731,10 @@ usdhc_write(void *opaque, hwaddr offset, uint64_t val,
>unsigned size)
>
> case USDHC_VENDOR_SPEC:
> s->vendor_spec = value;
>- switch (s->vendor) {
>- case SDHCI_VENDOR_IMX:
>- if (value & USDHC_IMX_FRC_SDCLK_ON) {
>- s->prnsts &= ~SDHC_IMX_CLOCK_GATE_OFF;
>- } else {
>- s->prnsts |= SDHC_IMX_CLOCK_GATE_OFF;
>- }
>- break;
>- default:
>- break;
>+ if (value & USDHC_IMX_FRC_SDCLK_ON) {
>+ s->prnsts &= ~SDHC_IMX_CLOCK_GATE_OFF;
>+ } else {
>+ s->prnsts |= SDHC_IMX_CLOCK_GATE_OFF;
> }
> break;
>
Reviewed-by: Bernhard Beschow <shen...@gmail.com>