> > diff --git a/include/uapi/linux/virtio_pmem.h > > b/include/uapi/linux/virtio_pmem.h > > new file mode 100644 > > index 000000000000..7a3e2fe52415 > > --- /dev/null > > +++ b/include/uapi/linux/virtio_pmem.h > > @@ -0,0 +1,35 @@ > > +/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ > > +/* > > + * Definitions for virtio-pmem devices. > > + * > > + * Copyright (C) 2019 Red Hat, Inc. > > + * > > + * Author(s): Pankaj Gupta <pagupta@xxxxxxxxxx> > > + */ > > + > > +#ifndef _UAPI_LINUX_VIRTIO_PMEM_H > > +#define _UAPI_LINUX_VIRTIO_PMEM_H > > + > > +#include <linux/types.h> > > +#include <linux/virtio_types.h> > > +#include <linux/virtio_ids.h> > > +#include <linux/virtio_config.h> > > + > > +struct virtio_pmem_config { > > + __le64 start; > > + __le64 size; > > +}; > > + > > config generally should be __u64. > Are you sure sparse does not complain? I used this because VIRTIO 1.1 spec says: "The device configuration space uses the little-endian format for multi-byte fields. " and __le64 looks ok to me. Also, its used in other driver config as welle.g virtio-vsock > > > > +#define VIRTIO_PMEM_REQ_TYPE_FLUSH 0 > > + > > +struct virtio_pmem_resp { > > + /* Host return status corresponding to flush request */ > > + __virtio32 ret; > > +}; > > + > > +struct virtio_pmem_req { > > + /* command type */ > > + __virtio32 type; > > +}; > > + > > +#endif > > -- > > 2.20.1 > > Sorry why are these __virtio32 not __le32? I used __virtio32 for data fields for guest and host supporting different endianess. Thanks, Pankaj > > -- > MST > >