The endianness property was only explicitly set in the e500 machine which now instantiates TYPE_FSL_ESDHC_BE. The property could also not be used meaningfully in a hypothetical, common TYPE_FSL_ESDHC device model since sdhci_common_realize() would fail in that case or it would need to know all MMIO implementations upfront. Remove the property in favor of dedicated device models.
Signed-off-by: Bernhard Beschow <[email protected]> --- hw/sd/sdhci-internal.h | 1 - include/hw/sd/sdhci.h | 1 - hw/sd/sdhci.c | 35 ++--------------------------------- 3 files changed, 2 insertions(+), 35 deletions(-) diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h index f24532eed2..50fb746a17 100644 --- a/hw/sd/sdhci-internal.h +++ b/hw/sd/sdhci-internal.h @@ -307,7 +307,6 @@ extern const VMStateDescription sdhci_vmstate; #define SDHC_CAPAB_REG_DEFAULT 0x057834b4 #define DEFINE_SDHCI_COMMON_PROPERTIES(_state) \ - 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), \ diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 32c52c7d0b..51551348cf 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -96,7 +96,6 @@ struct SDHCIState { /* Configurable properties */ bool pending_insert_quirk; /* Quirk for Raspberry Pi card insert int */ uint32_t quirks; - uint8_t endianness; uint8_t sd_spec_version; uint8_t uhs_mode; uint8_t vendor; /* For vendor specific functionality */ diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 6001b71c61..eab814096d 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1374,7 +1374,7 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size) value >> shift, value >> shift); } -static const MemoryRegionOps sdhci_mmio_le_ops = { +static const MemoryRegionOps sdhci_mmio_ops = { .read = sdhci_read, .write = sdhci_write, .valid = { @@ -1385,21 +1385,6 @@ static const MemoryRegionOps sdhci_mmio_le_ops = { .endianness = DEVICE_LITTLE_ENDIAN, }; -static const MemoryRegionOps sdhci_mmio_be_ops = { - .read = sdhci_read, - .write = sdhci_write, - .impl = { - .min_access_size = 4, - .max_access_size = 4, - }, - .valid = { - .min_access_size = 1, - .max_access_size = 4, - .unaligned = false - }, - .endianness = DEVICE_BIG_ENDIAN, -}; - static void sdhci_init_readonly_registers(SDHCIState *s, Error **errp) { ERRP_GUARD(); @@ -1430,7 +1415,7 @@ void sdhci_initfn(SDHCIState *s) s->transfer_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, sdhci_data_transfer, s); - s->io_ops = &sdhci_mmio_le_ops; + s->io_ops = &sdhci_mmio_ops; } void sdhci_uninitfn(SDHCIState *s) @@ -1446,22 +1431,6 @@ void sdhci_common_realize(SDHCIState *s, Error **errp) { ERRP_GUARD(); - switch (s->endianness) { - case DEVICE_LITTLE_ENDIAN: - /* s->io_ops is little endian by default */ - break; - case DEVICE_BIG_ENDIAN: - if (s->io_ops != &sdhci_mmio_le_ops) { - error_setg(errp, "SD controller doesn't support big endianness"); - return; - } - s->io_ops = &sdhci_mmio_be_ops; - break; - default: - error_setg(errp, "Incorrect endianness"); - return; - } - sdhci_init_readonly_registers(s, errp); if (*errp) { return; -- 2.52.0
