On Mon, Jul 04, 2022 at 03:29:57PM +0530, Richard Henderson wrote:
> On 7/4/22 02:58, Stafford Horne wrote:
> > -static const MemoryRegionOps goldfish_rtc_ops = {
> > -    .read = goldfish_rtc_read,
> > -    .write = goldfish_rtc_write,
> > -    .endianness = DEVICE_NATIVE_ENDIAN,
> > -    .valid = {
> > -        .min_access_size = 4,
> > -        .max_access_size = 4
> > -    }
> > +static const MemoryRegionOps goldfish_rtc_ops[3] = {
> > +    [DEVICE_NATIVE_ENDIAN] = {
> > +        .read = goldfish_rtc_read,
> > +        .write = goldfish_rtc_write,
> > +        .endianness = DEVICE_NATIVE_ENDIAN,
> > +        .valid = {
> > +            .min_access_size = 4,
> > +            .max_access_size = 4
> > +        }
> > +    },
> > +    [DEVICE_LITTLE_ENDIAN] = {
> > +        .read = goldfish_rtc_read,
> > +        .write = goldfish_rtc_write,
> > +        .endianness = DEVICE_LITTLE_ENDIAN,
> > +        .valid = {
> > +            .min_access_size = 4,
> > +            .max_access_size = 4
> > +        }
> > +    },
> > +    [DEVICE_BIG_ENDIAN] = {
> > +        .read = goldfish_rtc_read,
> > +        .write = goldfish_rtc_write,
> > +        .endianness = DEVICE_BIG_ENDIAN,
> > +        .valid = {
> > +            .min_access_size = 4,
> > +            .max_access_size = 4
> > +        }
> > +    },
> >   };
> 
> You don't need 3 copies, only big and little.
> 
> > +static Property goldfish_rtc_properties[] = {
> > +    DEFINE_PROP_UINT8("endianness", GoldfishRTCState, endianness,
> > +                      DEVICE_NATIVE_ENDIAN),
> > +    DEFINE_PROP_END_OF_LIST(),
> > +};
> 
> ... and I think the clear desire for default is little-endian.  I would make
> the property be bool, and add a comment that this is only for m68k
> compatibility, so don't use it in new code.

Yeah, that makes sense.

-Stafford

Reply via email to