Re: [RFC 1/1] HID: User-space I/O driver support for HID subsystem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Marcel

On Fri, Mar 16, 2012 at 5:00 PM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote:
> Hi David,
>
> <snip>
>
>> new file mode 100644
>> index 0000000..1a7df0d
>> --- /dev/null
>> +++ b/include/linux/uhid.h
>> @@ -0,0 +1,71 @@
>> +#ifndef __UHID_H_
>> +#define __UHID_H_
>> +
>> +/*
>> + * User-space I/O driver support for HID subsystem
>> + * Copyright (c) 2012 David Herrmann
>> + */
>> +
>> +/*
>> + * This program is free software; you can redistribute it and/or modify it
>> + * under the terms of the GNU General Public License as published by the Free
>> + * Software Foundation; either version 2 of the License, or (at your option)
>> + * any later version.
>> + */
>> +
>> +#include <linux/input.h>
>> +#include <linux/types.h>
>> +
>> +enum uhid_event_type {
>> +     UHID_CREATE,
>> +     UHID_DESTROY,
>> +     UHID_START,
>> +     UHID_STOP,
>> +     UHID_OPEN,
>> +     UHID_CLOSE,
>> +     UHID_OUTPUT,
>> +     UHID_OUTPUT_EV,
>> +     UHID_INPUT,
>> +};
>> +
>> +struct uhid_create_req {
>> +     __u8 __user name[128];
>> +     __u8 __user *rd_data;
>> +     __u16 rd_size;
>> +
>
> we need the bus here as well. With HIDP it was implicit, but here it is
> no longer implicit.

Uh, yeah, I will add that, thanks. I also need to find a proper way to
get a hid->dev.parent pointer.

>> +     __u16 vendor;
>> +     __u16 product;
>> +     __u16 version;
>> +     __u8 country;
>
> What are we using country for these days?

I copied it from HIDP. If we don't need this, I can remove it. USBHID
doesn't use it as far as I can see.

>> +};
>> +
>> +#define UHID_DATA_MAX 4096
>> +
>> +enum uhid_report_type {
>> +     UHID_FEATURE_REPORT,
>> +     UHID_OUTPUT_REPORT,
>> +};
>> +
>> +struct uhid_data_req {
>> +     __u8 data[UHID_DATA_MAX];
>> +     __u16 size;
>> +     __u8 rtype;
>> +};
>> +
>> +struct uhid_data_ev_req {
>> +     __u16 type;
>> +     __u16 code;
>> +     __s32 value;
>> +};
>> +
>> +struct uhid_event {
>> +     __u32 type;
>> +
>> +     union {
>> +             struct uhid_create_req create;
>> +             struct uhid_data_req data;
>> +             struct input_event data_ev;
>> +     } u;
>> +};
>> +
>> +#endif /* __UHID_H_ */
>
> Regards
>
> Marcel

Thanks
David
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux