Displaying 20 results from an estimated 31 matches for "virtio_input_cfg_ev_bits".
2015 Mar 19
5
[PATCH 0/1] Add virtio-input driver.
Hi,
This patch adds a virtio driver for input devices.
Specification:
https://www.kraxel.org/cgit/virtio-spec/log/?h=virtio-input
https://www.kraxel.org/virtio/virtio-v1.0-csprd03-virtio-input.html#x1-2640007
Qemu patches;
https://lists.gnu.org/archive/html/qemu-devel/2015-03/threads.html#03973
Gerd Hoffmann (1):
Add virtio-input driver.
drivers/virtio/Kconfig | 10 ++
2015 Mar 19
5
[PATCH 0/1] Add virtio-input driver.
Hi,
This patch adds a virtio driver for input devices.
Specification:
https://www.kraxel.org/cgit/virtio-spec/log/?h=virtio-input
https://www.kraxel.org/virtio/virtio-v1.0-csprd03-virtio-input.html#x1-2640007
Qemu patches;
https://lists.gnu.org/archive/html/qemu-devel/2015-03/threads.html#03973
Gerd Hoffmann (1):
Add virtio-input driver.
drivers/virtio/Kconfig | 10 ++
2015 Mar 24
2
[PATCH v3] Add virtio-input driver.
...o_input_config, u),
> > + virtio_bits, bytes);
> > + for (bit = 0; bit < bitcount; bit++) {
> > + if (virtio_bits[bit / 8] & (1 << (bit % 8)))
> > + __set_bit(bit, bits);
> > + }
> > + kfree(virtio_bits);
> > +
> > + if (select == VIRTIO_INPUT_CFG_EV_BITS)
> > + __set_bit(subsel, vi->idev->evbit);
> > +}
> > +
> > +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);
> > +...
2015 Mar 24
2
[PATCH v3] Add virtio-input driver.
...o_input_config, u),
> > + virtio_bits, bytes);
> > + for (bit = 0; bit < bitcount; bit++) {
> > + if (virtio_bits[bit / 8] & (1 << (bit % 8)))
> > + __set_bit(bit, bits);
> > + }
> > + kfree(virtio_bits);
> > +
> > + if (select == VIRTIO_INPUT_CFG_EV_BITS)
> > + __set_bit(subsel, vi->idev->evbit);
> > +}
> > +
> > +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);
> > +...
2015 Mar 19
0
[PATCH 1/1] Add virtio-input driver.
...ct virtio_input *vi, int select, int subsel,
+ unsigned long *bits, unsigned int bitcount)
+{
+ unsigned int bit;
+ size_t bytes;
+ u8 cfg = 0;
+
+ bytes = virtinput_cfg_select(vi, select, subsel);
+ if (!bytes)
+ return;
+ if (bitcount > bytes*8)
+ bitcount = bytes*8;
+ if (select == VIRTIO_INPUT_CFG_EV_BITS)
+ set_bit(subsel, vi->idev->evbit);
+ for (bit = 0; bit < bitcount; bit++) {
+ if ((bit % 8) == 0)
+ virtio_cread(vi->vdev, struct virtio_input_config,
+ u.bitmap[bit/8], &cfg);
+ if (cfg & (1 << (bit % 8)))
+ set_bit(bit, bits);
+ }
+}
+
+static void virti...
2015 Mar 19
0
[PATCH 1/1] Add virtio-input driver.
...ct virtio_input *vi, int select, int subsel,
+ unsigned long *bits, unsigned int bitcount)
+{
+ unsigned int bit;
+ size_t bytes;
+ u8 cfg = 0;
+
+ bytes = virtinput_cfg_select(vi, select, subsel);
+ if (!bytes)
+ return;
+ if (bitcount > bytes*8)
+ bitcount = bytes*8;
+ if (select == VIRTIO_INPUT_CFG_EV_BITS)
+ set_bit(subsel, vi->idev->evbit);
+ for (bit = 0; bit < bitcount; bit++) {
+ if ((bit % 8) == 0)
+ virtio_cread(vi->vdev, struct virtio_input_config,
+ u.bitmap[bit/8], &cfg);
+ if (cfg & (1 << (bit % 8)))
+ set_bit(bit, bits);
+ }
+}
+
+static void virti...
2015 Mar 24
3
[PATCH v4] Add virtio-input driver.
...turn;
+ virtio_cread_bytes(vi->vdev, offsetof(struct virtio_input_config,
+ u.bitmap),
+ virtio_bits, bytes);
+ for (bit = 0; bit < bitcount; bit++) {
+ if (virtio_bits[bit / 8] & (1 << (bit % 8)))
+ __set_bit(bit, bits);
+ }
+ kfree(virtio_bits);
+
+ if (select == VIRTIO_INPUT_CFG_EV_BITS)
+ __set_bit(subsel, vi->idev->evbit);
+}
+
+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(...
2015 Mar 24
3
[PATCH v4] Add virtio-input driver.
...turn;
+ virtio_cread_bytes(vi->vdev, offsetof(struct virtio_input_config,
+ u.bitmap),
+ virtio_bits, bytes);
+ for (bit = 0; bit < bitcount; bit++) {
+ if (virtio_bits[bit / 8] & (1 << (bit % 8)))
+ __set_bit(bit, bits);
+ }
+ kfree(virtio_bits);
+
+ if (select == VIRTIO_INPUT_CFG_EV_BITS)
+ __set_bit(subsel, vi->idev->evbit);
+}
+
+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(...
2015 Mar 24
6
[PATCH v3] Add virtio-input driver.
...!virtio_bits)
+ return;
+ virtio_cread_bytes(vi->vdev, offsetof(struct virtio_input_config, u),
+ virtio_bits, bytes);
+ for (bit = 0; bit < bitcount; bit++) {
+ if (virtio_bits[bit / 8] & (1 << (bit % 8)))
+ __set_bit(bit, bits);
+ }
+ kfree(virtio_bits);
+
+ if (select == VIRTIO_INPUT_CFG_EV_BITS)
+ __set_bit(subsel, vi->idev->evbit);
+}
+
+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(...
2015 Mar 24
6
[PATCH v3] Add virtio-input driver.
...!virtio_bits)
+ return;
+ virtio_cread_bytes(vi->vdev, offsetof(struct virtio_input_config, u),
+ virtio_bits, bytes);
+ for (bit = 0; bit < bitcount; bit++) {
+ if (virtio_bits[bit / 8] & (1 << (bit % 8)))
+ __set_bit(bit, bits);
+ }
+ kfree(virtio_bits);
+
+ if (select == VIRTIO_INPUT_CFG_EV_BITS)
+ __set_bit(subsel, vi->idev->evbit);
+}
+
+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(...
2015 Mar 20
2
[PATCH v2] Add virtio-input driver.
...ct virtio_input *vi, int select, int subsel,
+ unsigned long *bits, unsigned int bitcount)
+{
+ unsigned int bit;
+ size_t bytes;
+ u8 cfg = 0;
+
+ bytes = virtinput_cfg_select(vi, select, subsel);
+ if (!bytes)
+ return;
+ if (bitcount > bytes*8)
+ bitcount = bytes*8;
+ if (select == VIRTIO_INPUT_CFG_EV_BITS)
+ set_bit(subsel, vi->idev->evbit);
+ for (bit = 0; bit < bitcount; bit++) {
+ if ((bit % 8) == 0)
+ virtio_cread(vi->vdev, struct virtio_input_config,
+ u.bitmap[bit / 8], &cfg);
+ if (cfg & (1 << (bit % 8)))
+ set_bit(bit, bits);
+ }
+}
+
+static void vir...
2015 Mar 20
2
[PATCH v2] Add virtio-input driver.
...ct virtio_input *vi, int select, int subsel,
+ unsigned long *bits, unsigned int bitcount)
+{
+ unsigned int bit;
+ size_t bytes;
+ u8 cfg = 0;
+
+ bytes = virtinput_cfg_select(vi, select, subsel);
+ if (!bytes)
+ return;
+ if (bitcount > bytes*8)
+ bitcount = bytes*8;
+ if (select == VIRTIO_INPUT_CFG_EV_BITS)
+ set_bit(subsel, vi->idev->evbit);
+ for (bit = 0; bit < bitcount; bit++) {
+ if ((bit % 8) == 0)
+ virtio_cread(vi->vdev, struct virtio_input_config,
+ u.bitmap[bit / 8], &cfg);
+ if (cfg & (1 << (bit % 8)))
+ set_bit(bit, bits);
+ }
+}
+
+static void vir...
2020 Aug 06
0
[vhost:vhost 32/65] drivers/virtio/virtio_input.c:247:3: warning: comparison of distinct pointer types ('typeof (_Generic((virtio_cread_v), __u8: (virtio_cread_v), __le16: (__builtin_constant_p((__u16)((__u16)(__le16)(virtio_cread_v)))
...254 u.ids.version, &vi->idev->id.version);
255 } else {
256 vi->idev->id.bustype = BUS_VIRTUAL;
257 }
258
259 virtinput_cfg_bits(vi, VIRTIO_INPUT_CFG_PROP_BITS, 0,
260 vi->idev->propbit, INPUT_PROP_CNT);
261 size = virtinput_cfg_select(vi, VIRTIO_INPUT_CFG_EV_BITS, EV_REP);
262 if (size)
263 __set_bit(EV_REP, vi->idev->evbit);
264
265 vi->idev->dev.parent = &vdev->dev;
266 vi->idev->event = virtinput_status;
267
268 /* device -> kernel */
269 virtinput_cfg_bits(vi, VIRTIO_INPUT_CFG_EV_BITS, EV_KEY,...
2015 Mar 24
0
[PATCH v3] Add virtio-input driver.
...bytes(vi->vdev, offsetof(struct virtio_input_config, u),
> + virtio_bits, bytes);
> + for (bit = 0; bit < bitcount; bit++) {
> + if (virtio_bits[bit / 8] & (1 << (bit % 8)))
> + __set_bit(bit, bits);
> + }
> + kfree(virtio_bits);
> +
> + if (select == VIRTIO_INPUT_CFG_EV_BITS)
> + __set_bit(subsel, vi->idev->evbit);
> +}
> +
> +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...
2015 Mar 24
0
[PATCH v3] Add virtio-input driver.
...bytes(vi->vdev, offsetof(struct virtio_input_config, u),
> + virtio_bits, bytes);
> + for (bit = 0; bit < bitcount; bit++) {
> + if (virtio_bits[bit / 8] & (1 << (bit % 8)))
> + __set_bit(bit, bits);
> + }
> + kfree(virtio_bits);
> +
> + if (select == VIRTIO_INPUT_CFG_EV_BITS)
> + __set_bit(subsel, vi->idev->evbit);
> +}
> +
> +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...
2015 Mar 24
1
[PATCH v3] Add virtio-input driver.
...t; > + for (bit = 0; bit < bitcount; bit++) {
> > > > + if (virtio_bits[bit / 8] & (1 << (bit % 8)))
> > > > + __set_bit(bit, bits);
> > > > + }
> > > > + kfree(virtio_bits);
> > > > +
> > > > + if (select == VIRTIO_INPUT_CFG_EV_BITS)
> > > > + __set_bit(subsel, vi->idev->evbit);
> > > > +}
> > > > +
> > > > +static void virtinput_cfg_abs(struct virtio_input *vi, int abs)
> > > > +{
> > > > + u32 mi, ma, re, fu, fl;
> > > > +
> > &g...
2015 Mar 24
1
[PATCH v3] Add virtio-input driver.
...t; > + for (bit = 0; bit < bitcount; bit++) {
> > > > + if (virtio_bits[bit / 8] & (1 << (bit % 8)))
> > > > + __set_bit(bit, bits);
> > > > + }
> > > > + kfree(virtio_bits);
> > > > +
> > > > + if (select == VIRTIO_INPUT_CFG_EV_BITS)
> > > > + __set_bit(subsel, vi->idev->evbit);
> > > > +}
> > > > +
> > > > +static void virtinput_cfg_abs(struct virtio_input *vi, int abs)
> > > > +{
> > > > + u32 mi, ma, re, fu, fl;
> > > > +
> > &g...
2015 Mar 24
0
[PATCH v3] Add virtio-input driver.
...virtio_bits, bytes);
> > > + for (bit = 0; bit < bitcount; bit++) {
> > > + if (virtio_bits[bit / 8] & (1 << (bit % 8)))
> > > + __set_bit(bit, bits);
> > > + }
> > > + kfree(virtio_bits);
> > > +
> > > + if (select == VIRTIO_INPUT_CFG_EV_BITS)
> > > + __set_bit(subsel, vi->idev->evbit);
> > > +}
> > > +
> > > +static void virtinput_cfg_abs(struct virtio_input *vi, int abs)
> > > +{
> > > + u32 mi, ma, re, fu, fl;
> > > +
> > > + virtinput_cfg_select(vi, VIRTI...
2015 Mar 24
0
[PATCH v3] Add virtio-input driver.
...virtio_bits, bytes);
> > > + for (bit = 0; bit < bitcount; bit++) {
> > > + if (virtio_bits[bit / 8] & (1 << (bit % 8)))
> > > + __set_bit(bit, bits);
> > > + }
> > > + kfree(virtio_bits);
> > > +
> > > + if (select == VIRTIO_INPUT_CFG_EV_BITS)
> > > + __set_bit(subsel, vi->idev->evbit);
> > > +}
> > > +
> > > +static void virtinput_cfg_abs(struct virtio_input *vi, int abs)
> > > +{
> > > + u32 mi, ma, re, fu, fl;
> > > +
> > > + virtinput_cfg_select(vi, VIRTI...
2015 Mar 26
3
[PATCH v5] Add virtio-input driver.
...turn;
+ virtio_cread_bytes(vi->vdev, offsetof(struct virtio_input_config,
+ u.bitmap),
+ virtio_bits, bytes);
+ for (bit = 0; bit < bitcount; bit++) {
+ if (virtio_bits[bit / 8] & (1 << (bit % 8)))
+ __set_bit(bit, bits);
+ }
+ kfree(virtio_bits);
+
+ if (select == VIRTIO_INPUT_CFG_EV_BITS)
+ __set_bit(subsel, vi->idev->evbit);
+}
+
+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(...