Re: [PATCH v3] Add virtio-input driver.
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2015-03-24 10:48:12
Also in:
lkml, virtualization
On Tue, Mar 24, 2015 at 11:26:50AM +0100, Gerd Hoffmann wrote:
Hi,quoted
+static void virtinput_cfg_abs(struct virtio_input *vi, int abs) +{ + u32 mi, ma, re, fu, fl; + + virtinput_cfg_select(vi, VIRTIO_INPUT_CFG_ABS_INFO, abs); + virtio_cread(vi->vdev, struct virtio_input_config, u.abs.min, &mi); + virtio_cread(vi->vdev, struct virtio_input_config, u.abs.max, &ma); + virtio_cread(vi->vdev, struct virtio_input_config, u.abs.res, &re); + virtio_cread(vi->vdev, struct virtio_input_config, u.abs.fuzz, &fu); + virtio_cread(vi->vdev, struct virtio_input_config, u.abs.flat, &fl); + input_set_abs_params(vi->idev, abs, mi, ma, fu, fl); + input_abs_set_res(vi->idev, abs, re); +}quoted
+struct virtio_input_absinfo { + __virtio32 min; + __virtio32 max; + __virtio32 fuzz; + __virtio32 flat; + __virtio32 res; +};Damn, had sparse disabled for the test builds. [ Too bad there are way too many warnings on a full kernel build so having sparse enabled all the time doesn't fly. ] So this doesn't work either. Hmm, back to using "u32" in the virtio config structs? cheers, Gerd
You are right, I was confused. Currently everyone uses simple __u32 and friends in config structs, under the understanding that they are always accessed using virtio_cread and friends. Maybe I'll look into adding more type safety, but the issue is not virtio-input specific so, let's not defer virtio input because of this. Sorry about wasting your time on this. -- MST