linux/include/linux/i8042.h
<<
>>
Prefs
   1#ifndef _LINUX_I8042_H
   2#define _LINUX_I8042_H
   3
   4/*
   5 * This program is free software; you can redistribute it and/or modify it
   6 * under the terms of the GNU General Public License version 2 as published by
   7 * the Free Software Foundation.
   8 */
   9
  10#include <linux/types.h>
  11
  12/*
  13 * Standard commands.
  14 */
  15
  16#define I8042_CMD_CTL_RCTR      0x0120
  17#define I8042_CMD_CTL_WCTR      0x1060
  18#define I8042_CMD_CTL_TEST      0x01aa
  19
  20#define I8042_CMD_KBD_DISABLE   0x00ad
  21#define I8042_CMD_KBD_ENABLE    0x00ae
  22#define I8042_CMD_KBD_TEST      0x01ab
  23#define I8042_CMD_KBD_LOOP      0x11d2
  24
  25#define I8042_CMD_AUX_DISABLE   0x00a7
  26#define I8042_CMD_AUX_ENABLE    0x00a8
  27#define I8042_CMD_AUX_TEST      0x01a9
  28#define I8042_CMD_AUX_SEND      0x10d4
  29#define I8042_CMD_AUX_LOOP      0x11d3
  30
  31#define I8042_CMD_MUX_PFX       0x0090
  32#define I8042_CMD_MUX_SEND      0x1090
  33
  34struct serio;
  35
  36#if defined(CONFIG_SERIO_I8042) || defined(CONFIG_SERIO_I8042_MODULE)
  37
  38void i8042_lock_chip(void);
  39void i8042_unlock_chip(void);
  40int i8042_command(unsigned char *param, int command);
  41bool i8042_check_port_owner(const struct serio *);
  42int i8042_install_filter(bool (*filter)(unsigned char data, unsigned char str,
  43                                        struct serio *serio));
  44int i8042_remove_filter(bool (*filter)(unsigned char data, unsigned char str,
  45                                       struct serio *serio));
  46
  47#else
  48
  49static inline void i8042_lock_chip(void)
  50{
  51}
  52
  53static inline void i8042_unlock_chip(void)
  54{
  55}
  56
  57static inline int i8042_command(unsigned char *param, int command)
  58{
  59        return -ENODEV;
  60}
  61
  62static inline bool i8042_check_port_owner(const struct serio *serio)
  63{
  64        return false;
  65}
  66
  67static inline int i8042_install_filter(bool (*filter)(unsigned char data, unsigned char str,
  68                                        struct serio *serio))
  69{
  70        return -ENODEV;
  71}
  72
  73static inline int i8042_remove_filter(bool (*filter)(unsigned char data, unsigned char str,
  74                                       struct serio *serio))
  75{
  76        return -ENODEV;
  77}
  78
  79#endif
  80
  81#endif
  82