removed some functions

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15935 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Marcus Overhagen 2006-01-13 11:45:52 +00:00
parent fb8a44691f
commit 6c718e9525
2 changed files with 0 additions and 160 deletions

View File

@ -53,8 +53,6 @@ sem_id gDeviceOpenSemaphore;
static int32 sInitialized = 0; static int32 sInitialized = 0;
static uint8 sCommandByte = 0; static uint8 sCommandByte = 0;
static bool sKeyboardDetected = false;
static bool sMouseDetected = false;
static sem_id sResultSemaphore; static sem_id sResultSemaphore;
static sem_id sResultOwnerSemaphore; static sem_id sResultOwnerSemaphore;
@ -132,151 +130,10 @@ ps2_flush()
} }
} }
/** Reads the command byte from the 8042 controller.
* Since the read goes through the data port, this function must not be
* called when the keyboard driver is up and running.
*/
static status_t
get_command_byte(uint8 *data)
{
TRACE(("get_command_byte()\n"));
if (ps2_write_ctrl(PS2_CTRL_READ_CMD) == B_OK)
return ps2_read_data(data);
return B_ERROR;
}
// #pragma mark - // #pragma mark -
/** Wait until the control port is ready to be written. This requires that
* the "Input buffer full" and "Output buffer full" bits will both be set
* to 0. Returns true if the control port is ready to be written, false
* if 10ms have passed since the function has been called, and the control
* port is still busy.
*/
status_t
ps2_write_ctrl(uint8 data)
{
if (wait_for_bits_cleared(PS2_STATUS_INPUT_BUFFER_FULL | PS2_STATUS_OUTPUT_BUFFER_FULL) != B_OK)
return B_ERROR;
gIsa->write_io_8(PS2_PORT_CTRL, data);
return B_OK;
}
/** Wait until the data port is ready to be written, and then writes \a data to it.
*/
status_t
ps2_write_data(uint8 data)
{
if (wait_for_bits_cleared(PS2_STATUS_INPUT_BUFFER_FULL) != B_OK)
return B_ERROR;
gIsa->write_io_8(PS2_PORT_DATA, data);
return B_OK;
}
/** Wait until the data port can be read from, and then transfers the byte read
* to /a data.
*/
status_t
ps2_read_data(uint8 *data)
{
if (wait_for_bits_set(PS2_STATUS_OUTPUT_BUFFER_FULL) != B_OK)
return B_ERROR;
*data = gIsa->read_io_8(PS2_PORT_DATA);
TRACE(("ps2_read_data(): read %u\n", *data));
return B_OK;
}
/** Get the PS/2 command byte. This cannot fail, since we're using our buffered
* data, read out in init_driver().
*/
uint8
ps2_get_command_byte(void)
{
TRACE(("ps2_get_command_byte(): command byte = %x\n", sCommandByte));
return sCommandByte;
}
/** Set the ps2 command byte.
*/
status_t
ps2_set_command_byte(uint8 command)
{
TRACE(("set_command_byte(command = %x)\n", command));
if (ps2_write_ctrl(PS2_CTRL_WRITE_CMD) == B_OK
&& ps2_write_data(command) == B_OK) {
sCommandByte = command;
return B_OK;
}
return B_ERROR;
}
bool
ps2_handle_result(uint8 data)
{
int32 bytesLeft;
if (sResultBuffer == NULL
|| (bytesLeft = atomic_add(&sResultBytes, -1)) <= 0)
return false;
*(sResultBuffer++) = data;
if (bytesLeft == 1)
release_sem_etc(sResultSemaphore, 1, B_DO_NOT_RESCHEDULE);
return true;
}
void
ps2_claim_result(uint8 *buffer, size_t bytes)
{
acquire_sem(sResultOwnerSemaphore);
sResultBuffer = buffer;
sResultBytes = bytes;
}
void
ps2_unclaim_result(void)
{
sResultBytes = 0;
sResultBuffer = NULL;
release_sem(sResultOwnerSemaphore);
}
status_t
ps2_wait_for_result(void)
{
status_t status = acquire_sem_etc(sResultSemaphore, 1, B_RELATIVE_TIMEOUT, 100000);
// 0.1 secs for now
ps2_unclaim_result();
return status;
}
static int32 static int32
ps2_interrupt(void* cookie) ps2_interrupt(void* cookie)

View File

@ -93,19 +93,6 @@ keyboard_read_bytes(uint8 *buffer, size_t bufferSize)
} }
static void
keyboard_empty_data(void)
{
uint8 data;
TRACE(("keyboard_empty_data()\n"));
while (ps2_read_data(&data) == B_OK) {
// empty keyboard output buffer
}
}
static status_t static status_t
keyboard_command(uint8 command, uint8 *buffer, size_t bufferSize) keyboard_command(uint8 command, uint8 *buffer, size_t bufferSize)
{ {
@ -248,8 +235,6 @@ probe_keyboard(void)
// ToDo: for now there just is a keyboard ready to be used... // ToDo: for now there just is a keyboard ready to be used...
keyboard_empty_data();
// Keyboard detection does not seem to be working always correctly // Keyboard detection does not seem to be working always correctly
#if 0 #if 0
// Keyboard self-test // Keyboard self-test
@ -309,8 +294,6 @@ keyboard_open(const char *name, uint32 flags, void **_cookie)
goto err3; goto err3;
} }
keyboard_empty_data();
commandByte = ps2_get_command_byte() commandByte = ps2_get_command_byte()
| PS2_BITS_KEYBOARD_INTERRUPT | PS2_BITS_TRANSLATE_SCANCODES; | PS2_BITS_KEYBOARD_INTERRUPT | PS2_BITS_TRANSLATE_SCANCODES;
commandByte &= ~PS2_BITS_KEYBOARD_DISABLED; commandByte &= ~PS2_BITS_KEYBOARD_DISABLED;