mirror of
https://git.proxmox.com/git/qemu
synced 2025-08-07 11:28:46 +00:00
block/nand: QOM casting sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST and direct -> style casting. Cc: afaerber@suse.de Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
f3c8fac25f
commit
e12078cc62
@ -82,6 +82,11 @@ struct NANDFlashState {
|
|||||||
uint32_t ioaddr_vmstate;
|
uint32_t ioaddr_vmstate;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define TYPE_NAND "nand"
|
||||||
|
|
||||||
|
#define NAND(obj) \
|
||||||
|
OBJECT_CHECK(NANDFlashState, (obj), TYPE_NAND)
|
||||||
|
|
||||||
static void mem_and(uint8_t *dest, const uint8_t *src, size_t n)
|
static void mem_and(uint8_t *dest, const uint8_t *src, size_t n)
|
||||||
{
|
{
|
||||||
/* Like memcpy() but we logical-AND the data into the destination */
|
/* Like memcpy() but we logical-AND the data into the destination */
|
||||||
@ -224,7 +229,7 @@ static const struct {
|
|||||||
|
|
||||||
static void nand_reset(DeviceState *dev)
|
static void nand_reset(DeviceState *dev)
|
||||||
{
|
{
|
||||||
NANDFlashState *s = FROM_SYSBUS(NANDFlashState, SYS_BUS_DEVICE(dev));
|
NANDFlashState *s = NAND(dev);
|
||||||
s->cmd = NAND_CMD_READ0;
|
s->cmd = NAND_CMD_READ0;
|
||||||
s->addr = 0;
|
s->addr = 0;
|
||||||
s->addrlen = 0;
|
s->addrlen = 0;
|
||||||
@ -279,7 +284,7 @@ static void nand_command(NANDFlashState *s)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case NAND_CMD_RESET:
|
case NAND_CMD_RESET:
|
||||||
nand_reset(&s->busdev.qdev);
|
nand_reset(DEVICE(s));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NAND_CMD_PAGEPROGRAM1:
|
case NAND_CMD_PAGEPROGRAM1:
|
||||||
@ -319,14 +324,14 @@ static void nand_command(NANDFlashState *s)
|
|||||||
|
|
||||||
static void nand_pre_save(void *opaque)
|
static void nand_pre_save(void *opaque)
|
||||||
{
|
{
|
||||||
NANDFlashState *s = opaque;
|
NANDFlashState *s = NAND(opaque);
|
||||||
|
|
||||||
s->ioaddr_vmstate = s->ioaddr - s->io;
|
s->ioaddr_vmstate = s->ioaddr - s->io;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int nand_post_load(void *opaque, int version_id)
|
static int nand_post_load(void *opaque, int version_id)
|
||||||
{
|
{
|
||||||
NANDFlashState *s = opaque;
|
NANDFlashState *s = NAND(opaque);
|
||||||
|
|
||||||
if (s->ioaddr_vmstate > sizeof(s->io)) {
|
if (s->ioaddr_vmstate > sizeof(s->io)) {
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -365,7 +370,7 @@ static const VMStateDescription vmstate_nand = {
|
|||||||
static int nand_device_init(SysBusDevice *dev)
|
static int nand_device_init(SysBusDevice *dev)
|
||||||
{
|
{
|
||||||
int pagesize;
|
int pagesize;
|
||||||
NANDFlashState *s = FROM_SYSBUS(NANDFlashState, dev);
|
NANDFlashState *s = NAND(dev);
|
||||||
|
|
||||||
s->buswidth = nand_flash_ids[s->chip_id].width >> 3;
|
s->buswidth = nand_flash_ids[s->chip_id].width >> 3;
|
||||||
s->size = nand_flash_ids[s->chip_id].size << 20;
|
s->size = nand_flash_ids[s->chip_id].size << 20;
|
||||||
@ -436,7 +441,7 @@ static void nand_class_init(ObjectClass *klass, void *data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo nand_info = {
|
static const TypeInfo nand_info = {
|
||||||
.name = "nand",
|
.name = TYPE_NAND,
|
||||||
.parent = TYPE_SYS_BUS_DEVICE,
|
.parent = TYPE_SYS_BUS_DEVICE,
|
||||||
.instance_size = sizeof(NANDFlashState),
|
.instance_size = sizeof(NANDFlashState),
|
||||||
.class_init = nand_class_init,
|
.class_init = nand_class_init,
|
||||||
@ -456,7 +461,8 @@ static void nand_register_types(void)
|
|||||||
void nand_setpins(DeviceState *dev, uint8_t cle, uint8_t ale,
|
void nand_setpins(DeviceState *dev, uint8_t cle, uint8_t ale,
|
||||||
uint8_t ce, uint8_t wp, uint8_t gnd)
|
uint8_t ce, uint8_t wp, uint8_t gnd)
|
||||||
{
|
{
|
||||||
NANDFlashState *s = (NANDFlashState *) dev;
|
NANDFlashState *s = NAND(dev);
|
||||||
|
|
||||||
s->cle = cle;
|
s->cle = cle;
|
||||||
s->ale = ale;
|
s->ale = ale;
|
||||||
s->ce = ce;
|
s->ce = ce;
|
||||||
@ -477,7 +483,8 @@ void nand_getpins(DeviceState *dev, int *rb)
|
|||||||
void nand_setio(DeviceState *dev, uint32_t value)
|
void nand_setio(DeviceState *dev, uint32_t value)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
NANDFlashState *s = (NANDFlashState *) dev;
|
NANDFlashState *s = NAND(dev);
|
||||||
|
|
||||||
if (!s->ce && s->cle) {
|
if (!s->ce && s->cle) {
|
||||||
if (nand_flash_ids[s->chip_id].options & NAND_SAMSUNG_LP) {
|
if (nand_flash_ids[s->chip_id].options & NAND_SAMSUNG_LP) {
|
||||||
if (s->cmd == NAND_CMD_READ0 && value == NAND_CMD_LPREAD2)
|
if (s->cmd == NAND_CMD_READ0 && value == NAND_CMD_LPREAD2)
|
||||||
@ -581,7 +588,7 @@ uint32_t nand_getio(DeviceState *dev)
|
|||||||
{
|
{
|
||||||
int offset;
|
int offset;
|
||||||
uint32_t x = 0;
|
uint32_t x = 0;
|
||||||
NANDFlashState *s = (NANDFlashState *) dev;
|
NANDFlashState *s = NAND(dev);
|
||||||
|
|
||||||
/* Allow sequential reading */
|
/* Allow sequential reading */
|
||||||
if (!s->iolen && s->cmd == NAND_CMD_READ0) {
|
if (!s->iolen && s->cmd == NAND_CMD_READ0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user