rem: status = install_io_interrupt_handler(1, &handle_keyboard_interrupt, NULL, 0);  *cookie = NULL;  return status;
add: *_cookie = NULL;  return install_io_interrupt_handler(1, &handle_keyboard_interrupt, NULL, 0);
context: keyboard_open(const char *name, uint32 flags, void **cookie){	status_t status;		TRACE(("keyboard open()\n"));	if (atomic_or(&gKeyboardOpenMask, 1) != 0)		return B_BUSY;	sKeyboardSem = create_sem(0, "keyboard_sem");	if (sKeyboardSem < 0) {		atomic_and(&gKeyboardOpenMask, 0);		status = sKeyboardSem;		return status;	}		//if (mutex_init(&keyboard_read_mutex, "keyboard_read_mutex") < 0)	//	panic("could not create keyboard read mutex!\n");	keyboard_buf = cbuf_get_chain(1024);	if (keyboard_buf == NULL)		panic("could not create keyboard cbuf chain!\n");	status = install_io_interrupt_handler(1, &handle_keyboard_interrupt, NULL, 0);		*cookie = NULL;		return status;}