Changeset 9f97ffe in mainline for uspace/drv/char/i8042/i8042.h


Ignore:
Timestamp:
2011-12-26T15:44:00Z (14 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d56ab85
Parents:
c6c5ff3b
Message:

i8042: Use cyclic buffer to store device data.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/char/i8042/i8042.h

    rc6c5ff3b r9f97ffe  
    11/*
    22 * Copyright (c) 2006 Josef Cejka
     3 * Copyright (c) 2011 Jan Vesely
    34 * All rights reserved.
    45 *
     
    2627 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    2728 */
    28 
    2929/** @addtogroup kbd_port
    3030 * @ingroup  kbd
    3131 * @{
    3232 */
    33 
    3433/** @file
    3534 * @brief i8042 port driver.
     
    4544#include <ddf/driver.h>
    4645
     46#include "buffer.h"
     47
     48#define BUFFER_SIZE 12
     49
    4750/** i8042 HW I/O interface */
    4851typedef struct {
     
    5255} __attribute__ ((packed)) i8042_regs_t;
    5356
    54 /** Softstate structure, one for each serial port (primary and aux). */
    55 /*
    56 typedef struct {
    57         service_id_t service_id;
    58         async_sess_t *client_sess;
    59 } i8042_port_t;
    60 */
    61 
    6257typedef struct i8042 i8042_t;
    63 
    64 enum {
    65         DEVID_PRI = 0, /**< primary device */
    66         DEVID_AUX = 1, /**< AUX device */
    67         MAX_DEVS  = 2
    68 };
    6958
    7059struct i8042 {
    7160        i8042_regs_t *regs;
    72 //      i8042_port_t port[MAX_DEVS];
    7361        ddf_fun_t *kbd_fun;
    7462        ddf_fun_t *mouse_fun;
    75         char * kbd_buffer;
    76         char * kbd_buffer_end;
    77         char * aux_buffer;
    78         char * aux_buffer_end;
    79         fibril_mutex_t guard;
    80         fibril_condvar_t data_avail;
     63        buffer_t aux_buffer;
     64        buffer_t kbd_buffer;
     65        uint8_t aux_data[BUFFER_SIZE];
     66        uint8_t kbd_data[BUFFER_SIZE];
     67        fibril_mutex_t write_guard;
    8168};
    8269
Note: See TracChangeset for help on using the changeset viewer.