Re: [PATCH v3] Add virtio-input driver.

From: Michael S. Tsirkin
Date: Tue Mar 24 2015 - 06:48:18 EST


On Tue, Mar 24, 2015 at 11:26:50AM +0100, Gerd Hoffmann wrote:
> Hi,
>
> > +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);
> > +}
>
> > +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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/