Input: i8042 - export i8042_command()
Export the i8042_command() function which manages the mutual exclusion with the help of the i8042_lock spinlock. This allows to access i8042 safely from other parts of the kernel. Signed-off-by: Márton Németh <nm127@freemail.hu> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
82ba56c273
commit
553a05b882
3 changed files with 38 additions and 23 deletions
|
@ -20,6 +20,7 @@
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/rcupdate.h>
|
#include <linux/rcupdate.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
|
#include <linux/i8042.h>
|
||||||
|
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
|
|
||||||
|
@ -208,7 +209,7 @@ static int __i8042_command(unsigned char *param, int command)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int i8042_command(unsigned char *param, int command)
|
int i8042_command(unsigned char *param, int command)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
int retval;
|
int retval;
|
||||||
|
@ -219,6 +220,7 @@ static int i8042_command(unsigned char *param, int command)
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(i8042_command);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* i8042_kbd_write() sends a byte out through the keyboard interface.
|
* i8042_kbd_write() sends a byte out through the keyboard interface.
|
||||||
|
|
|
@ -60,28 +60,6 @@
|
||||||
#define I8042_CTR_AUXDIS 0x20
|
#define I8042_CTR_AUXDIS 0x20
|
||||||
#define I8042_CTR_XLATE 0x40
|
#define I8042_CTR_XLATE 0x40
|
||||||
|
|
||||||
/*
|
|
||||||
* Commands.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define I8042_CMD_CTL_RCTR 0x0120
|
|
||||||
#define I8042_CMD_CTL_WCTR 0x1060
|
|
||||||
#define I8042_CMD_CTL_TEST 0x01aa
|
|
||||||
|
|
||||||
#define I8042_CMD_KBD_DISABLE 0x00ad
|
|
||||||
#define I8042_CMD_KBD_ENABLE 0x00ae
|
|
||||||
#define I8042_CMD_KBD_TEST 0x01ab
|
|
||||||
#define I8042_CMD_KBD_LOOP 0x11d2
|
|
||||||
|
|
||||||
#define I8042_CMD_AUX_DISABLE 0x00a7
|
|
||||||
#define I8042_CMD_AUX_ENABLE 0x00a8
|
|
||||||
#define I8042_CMD_AUX_TEST 0x01a9
|
|
||||||
#define I8042_CMD_AUX_SEND 0x10d4
|
|
||||||
#define I8042_CMD_AUX_LOOP 0x11d3
|
|
||||||
|
|
||||||
#define I8042_CMD_MUX_PFX 0x0090
|
|
||||||
#define I8042_CMD_MUX_SEND 0x1090
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return codes.
|
* Return codes.
|
||||||
*/
|
*/
|
||||||
|
|
35
include/linux/i8042.h
Normal file
35
include/linux/i8042.h
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#ifndef _LINUX_I8042_H
|
||||||
|
#define _LINUX_I8042_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 as published by
|
||||||
|
* the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Standard commands.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define I8042_CMD_CTL_RCTR 0x0120
|
||||||
|
#define I8042_CMD_CTL_WCTR 0x1060
|
||||||
|
#define I8042_CMD_CTL_TEST 0x01aa
|
||||||
|
|
||||||
|
#define I8042_CMD_KBD_DISABLE 0x00ad
|
||||||
|
#define I8042_CMD_KBD_ENABLE 0x00ae
|
||||||
|
#define I8042_CMD_KBD_TEST 0x01ab
|
||||||
|
#define I8042_CMD_KBD_LOOP 0x11d2
|
||||||
|
|
||||||
|
#define I8042_CMD_AUX_DISABLE 0x00a7
|
||||||
|
#define I8042_CMD_AUX_ENABLE 0x00a8
|
||||||
|
#define I8042_CMD_AUX_TEST 0x01a9
|
||||||
|
#define I8042_CMD_AUX_SEND 0x10d4
|
||||||
|
#define I8042_CMD_AUX_LOOP 0x11d3
|
||||||
|
|
||||||
|
#define I8042_CMD_MUX_PFX 0x0090
|
||||||
|
#define I8042_CMD_MUX_SEND 0x1090
|
||||||
|
|
||||||
|
int i8042_command(unsigned char *param, int command);
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in a new issue