2005-04-17 02:20:36 +04:00
# ifndef _I8042_IP22_H
# define _I8042_IP22_H
# include <asm/sgi/ioc.h>
# include <asm/sgi/ip22.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 .
*/
/*
* Names .
*/
# define I8042_KBD_PHYS_DESC "hpc3ps2 / serio0"
# define I8042_AUX_PHYS_DESC "hpc3ps2 / serio1"
# define I8042_MUX_PHYS_DESC "hpc3ps2 / serio%d"
/*
* IRQs .
*/
# define I8042_KBD_IRQ SGI_KEYBD_IRQ
# define I8042_AUX_IRQ SGI_KEYBD_IRQ
/*
* Register numbers .
*/
# define I8042_COMMAND_REG ((unsigned long)&sgioc->kbdmouse.command)
# define I8042_STATUS_REG ((unsigned long)&sgioc->kbdmouse.command)
# define I8042_DATA_REG ((unsigned long)&sgioc->kbdmouse.data)
static inline int i8042_read_data ( void )
{
return sgioc - > kbdmouse . data ;
}
static inline int i8042_read_status ( void )
{
return sgioc - > kbdmouse . command ;
}
static inline void i8042_write_data ( int val )
{
sgioc - > kbdmouse . data = val ;
}
static inline void i8042_write_command ( int val )
{
sgioc - > kbdmouse . command = val ;
}
static inline int i8042_platform_init ( void )
{
#if 0
/* XXX sgi_kh is a virtual address */
if ( ! request_mem_region ( sgi_kh , sizeof ( struct hpc_keyb ) , " i8042 " ) )
2005-09-04 10:41:38 +04:00
return - EBUSY ;
2005-04-17 02:20:36 +04:00
# endif
2016-10-01 22:07:35 +03:00
i8042_reset = I8042_RESET_ALWAYS ;
2005-04-17 02:20:36 +04:00
return 0 ;
}
static inline void i8042_platform_exit ( void )
{
#if 0
release_mem_region ( JAZZ_KEYBOARD_ADDRESS , sizeof ( struct hpc_keyb ) ) ;
# endif
}
# endif /* _I8042_IP22_H */