Ignore:
File:
1 edited

Legend:

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

    r0851a3d r7ee7e6a  
    22 * Copyright (c) 2006 Josef Cejka
    33 * Copyright (c) 2011 Jan Vesely
    4  * Copyright (c) 2017 Jiri Svoboda
    54 * All rights reserved.
    65 *
     
    4140#define i8042_H_
    4241
    43 #include <adt/circ_buf.h>
    4442#include <io/chardev_srv.h>
    4543#include <ddi.h>
    4644#include <fibril_synch.h>
    4745#include <ddf/driver.h>
     46#include "buffer.h"
    4847
    4948#define NAME  "i8042"
     
    6059/** i8042 Port. */
    6160typedef struct {
    62         /** Controller */
    63         struct i8042 *ctl;
    64         /** Device function */
    65         ddf_fun_t *fun;
    66         /** Character device server data */
    67         chardev_srvs_t cds;
    68         /** Circular buffer */
    69         circ_buf_t cbuf;
    70         /** Buffer data space */
    71         uint8_t buf_data[BUFFER_SIZE];
    72         /** Protect buffer */
    73         fibril_mutex_t buf_lock;
    74         /** Signal new data in buffer */
    75         fibril_condvar_t buf_cv;
     61        struct i8042 *ctl;              /**< Controller */
     62        chardev_srvs_t cds;             /**< Character device server data */
    7663} i8042_port_t;
    7764
    7865/** i8042 Controller. */
    7966typedef struct i8042 {
    80         /**< I/O registers. */
    81         i8042_regs_t *regs;
    82         /** Keyboard port */
     67        i8042_regs_t *regs;             /**< I/O registers. */
     68        ddf_fun_t *kbd_fun;             /**< Pirmary port device function. */
     69        ddf_fun_t *aux_fun;             /**< Auxiliary port device function. */
     70        buffer_t kbd_buffer;            /**< Primary port buffer. */
     71        buffer_t aux_buffer;            /**< Aux. port buffer. */
     72        uint8_t aux_data[BUFFER_SIZE];  /**< Primary port buffer space. */
     73        uint8_t kbd_data[BUFFER_SIZE];  /**< Aux. port buffer space. */
    8374        i8042_port_t *kbd;
    84         /** AUX port */
    8575        i8042_port_t *aux;
    86         /** Prevents simultanous port writes.*/
    87         fibril_mutex_t write_guard;
     76        fibril_mutex_t write_guard;     /**< Prevents simultanous port writes.*/
    8877} i8042_t;
     78
    8979
    9080extern int i8042_init(i8042_t *, addr_range_t *, int, int, ddf_dev_t *);
Note: See TracChangeset for help on using the changeset viewer.