add place-holder directory for the a3000 wd533c93 scsi controller implementation.
[AROS.git] / arch / m68k-amiga / hidd / keyboard / kbd_init.c
blob0cc7a8b3ce1c2afe2f4433eb188047a245327b4b
1 /*
2 Copyright © 1995-2019, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #define DEBUG 0
7 #include <aros/debug.h>
9 #include <aros/symbolsets.h>
10 #include <proto/oop.h>
12 #include <hidd/hidd.h>
13 #include <hidd/keyboard.h>
15 #include "kbd.h"
17 #undef XSD
18 #define XSD(cl) ksd
20 static int AmigaKbd_Init(struct kbdbase *LIBBASE)
22 struct kbd_staticdata *ksd = &LIBBASE->ksd;
23 struct OOP_ABDescr attrbases[] =
25 {IID_Hidd , &HiddAttrBase },
26 {IID_Hidd_Kbd , &HiddKbdAB },
27 {NULL , NULL }
29 OOP_Object *kbd;
30 OOP_Object *drv = NULL;
32 EnterFunc(bug("AmigaKbd_Init\n"));
34 InitSemaphore( &ksd->sema );
36 kbd = OOP_NewObject(NULL, CLID_Hidd_Kbd, NULL);
37 if (kbd) {
38 if (OOP_ObtainAttrBases(attrbases))
40 HiddKbdBase = OOP_GetMethodID(IID_Hidd_Kbd, 0);
41 drv = HIDD_Kbd_AddHardwareDriver(kbd, LIBBASE->ksd.kbdclass, NULL);
43 OOP_DisposeObject(kbd);
46 if (!drv)
47 return FALSE;
49 LIBBASE->library.lib_OpenCnt = 1;
51 ReturnInt("AmigaKbd_Init", int, TRUE);
54 static int AmigaKbd_Expunge(struct kbdbase *LIBBASE)
56 struct kbd_staticdata *ksd = &LIBBASE->ksd;
57 struct OOP_ABDescr attrbases[] =
59 {IID_Hidd_Kbd , &LIBBASE->ksd.hiddKbdAB },
60 {NULL , NULL }
63 EnterFunc(bug("AmigaKbd_Expunge\n"));
65 OOP_ReleaseAttrBases(attrbases);
67 ReturnInt("AmigaKbd_Expunge", int, TRUE);
70 ADD2INITLIB(AmigaKbd_Init, 0)
71 ADD2EXPUNGELIB(AmigaKbd_Expunge, 0)