diff options
author | Peter Maydell | 2016-02-18 15:16:18 +0100 |
---|---|---|
committer | Peter Maydell | 2016-02-18 15:26:33 +0100 |
commit | ba3ed0fa94ee9473ef8f454512b6ca3e10fcb885 (patch) | |
tree | 42e49dd75805e3088bb629dc0f6b7e95edc15755 /hw/sd | |
parent | hw/sd/sd.c: QOMify (diff) | |
download | qemu-ba3ed0fa94ee9473ef8f454512b6ca3e10fcb885.tar.gz qemu-ba3ed0fa94ee9473ef8f454512b6ca3e10fcb885.tar.xz qemu-ba3ed0fa94ee9473ef8f454512b6ca3e10fcb885.zip |
hw/sd/sd.c: Convert sd_reset() function into Device reset method
Convert the sd_reset() function into a proper Device reset method.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Reviewed-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
Message-id: 1455646193-13238-4-git-send-email-peter.maydell@linaro.org
Diffstat (limited to 'hw/sd')
-rw-r--r-- | hw/sd/sd.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 16817280e5..edd4c82f6f 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -394,8 +394,9 @@ static inline uint64_t sd_addr_to_wpnum(uint64_t addr) return addr >> (HWBLOCK_SHIFT + SECTOR_SHIFT + WPGROUP_SHIFT); } -static void sd_reset(SDState *sd) +static void sd_reset(DeviceState *dev) { + SDState *sd = SD_CARD(dev); uint64_t size; uint64_t sect; @@ -436,7 +437,7 @@ static void sd_cardchange(void *opaque, bool load) qemu_set_irq(sd->inserted_cb, blk_is_inserted(sd->blk)); if (blk_is_inserted(sd->blk)) { - sd_reset(sd); + sd_reset(DEVICE(sd)); qemu_set_irq(sd->readonly_cb, sd->wp_switch); } } @@ -680,7 +681,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, default: sd->state = sd_idle_state; - sd_reset(sd); + sd_reset(DEVICE(sd)); return sd->spi ? sd_r1 : sd_r0; } break; @@ -1787,8 +1788,6 @@ static void sd_realize(DeviceState *dev, Error **errp) if (sd->blk) { blk_set_dev_ops(sd->blk, &sd_block_ops, sd); } - - sd_reset(sd); } static Property sd_properties[] = { @@ -1808,6 +1807,7 @@ static void sd_class_init(ObjectClass *klass, void *data) dc->realize = sd_realize; dc->props = sd_properties; dc->vmsd = &sd_vmstate; + dc->reset = sd_reset; } static const TypeInfo sd_info = { |