• David Herrmann's avatar
    HID: uhid: add internal message buffer · ace3d861
    David Herrmann authored
    When receiving messages from the HID subsystem, we need to process them
    and store them in an internal buffer so user-space can read() on the char
    device to retrieve the messages.
    
    This adds a static buffer for 32 messages to each uhid device. Each
    message is dynamically allocated so the uhid_device structure does not get
    too big.
    
    uhid_queue() adds a message to the buffer. If the buffer is full, the
    message is discarded. uhid_queue_event() is an helper for messages without
    payload.
    
    This also adds a public header: uhid.h. It contains the declarations for
    the user-space API. It is built around "struct uhid_event" which contains
    a type field which specifies the event type and each event can then add a
    variable-length payload. For now, there is only a dummy event but later
    patches will add new event types and payloads.
    Signed-off-by: default avatarDavid Herrmann <dh.herrmann@googlemail.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    ace3d861
uhid.c 3.09 KB