1/*
2 *  linux/include/asm-arm/arch-sa1100/keyboard.h
3 *  Created 16 Dec 1999 by Nicolas Pitre <nico@cam.org>
4 *  This file contains the SA1100 architecture specific keyboard definitions
5 */
6#ifndef _SA1100_KEYBOARD_H
7#define _SA1100_KEYBOARD_H
8
9#include <linux/config.h>
10#include <asm/mach-types.h>
11#include <asm/arch/assabet.h>
12
13#define kbd_disable_irq()	do { } while(0);
14#define kbd_enable_irq()	do { } while(0);
15
16extern int sa1111_kbd_init_hw(void);
17extern void gc_kbd_init_hw(void);
18extern void smartio_kbd_init_hw(void);
19extern void cerf_kbd_init_hw(void);
20
21static inline void kbd_init_hw(void)
22{
23	if ((machine_is_assabet() && machine_has_neponset()) ||
24	    machine_is_graphicsmaster())
25		sa1111_kbd_init_hw();
26	if (machine_is_graphicsclient())
27		gc_kbd_init_hw();
28	if (machine_is_adsbitsy())
29		smartio_kbd_init_hw();
30#ifdef CONFIG_SA1100_CERF_CPLD
31	if (machine_is_cerf())
32		cerf_kbd_init_hw();
33#endif
34#ifdef CONFIG_SA1100_PT_SYSTEM3
35	/* TODO: add system 3 board specific functions here */
36	if (machine_is_pt_system3())
37		sa1111_kbd_init_hw();
38#endif
39}
40
41#endif  /* _SA1100_KEYBOARD_H */
42