Kernel/PTYs - Add initial dims/mode to PTY_Create
[tpg/acess2.git] / KernelLand / Modules / USB / HID / main.c
index b6a477a..c280273 100644 (file)
@@ -5,7 +5,7 @@
  * main.c
  * - Driver Core
  */
-#define DEBUG  1
+#define DEBUG  0
 #define VERSION        VER2(0,1)
 #include <acess.h>
 #include <modules.h>
@@ -26,7 +26,7 @@ struct sHID_Device
 
 // === IMPORTS ===
 extern tHID_ReportCallbacks    gHID_Mouse_ReportCBs;
-extern tDevFS_Driver   gHID_Mouse_DevFS;
+extern tHID_ReportCallbacks    gHID_Kb_ReportCBs;
 
 // === PROTOTYPES ===
  int   HID_Initialise(char **Arguments);
@@ -40,7 +40,7 @@ static void   _AddItems(struct sHID_IntList *List, Uint32 First, Uint32 Last);
 static void    _FreeList(struct sHID_IntList *List);
 
 // === GLOBALS ===
-MODULE_DEFINE(0, VERSION, USB_HID, HID_Initialise, NULL, "USB_Core", NULL);
+MODULE_DEFINE(0, VERSION, USB_HID, HID_Initialise, NULL, "USB_Core", "Keyboard", "Mouse", NULL);
 tUSBDriver     gHID_USBDriver = {
        .Name = "HID",
        .Match = {.Class = {0x030000, 0xFF0000}},
@@ -60,8 +60,6 @@ int HID_Initialise(char **Arguments)
 {
        USB_RegisterDriver( &gHID_USBDriver );
        
-       DevFS_AddDevice( &gHID_Mouse_DevFS );
-       
        return 0;
 }
 
@@ -79,7 +77,8 @@ void HID_InterruptCallback(tUSBInterface *Dev, int EndPt, int Length, void *Data
                Log_Error("USB HID", "Device %p doesn't have a data pointer.", Dev);
                return ;
        }
-       
+
+       LOG("Data for %p", info->DataAvail);    
        info->DataAvail(Dev, EndPt, Length, Data);
 }
 
@@ -150,7 +149,7 @@ void HID_DeviceConnected(tUSBInterface *Dev, void *Descriptors, size_t Descripto
        
        // --- Read and parse report descriptor ---
        // NOTE: Also does sub-driver selection and initialisation
-       Uint8   *report_data = alloca(report_len);
+       Uint8   report_data[report_len];
        USB_ReadDescriptor(Dev, 0x1022, 0, report_len, report_data);
        HID_int_ParseReport(Dev, report_data, report_len, &gHID_RootCallbacks);
        
@@ -206,12 +205,12 @@ tHID_ReportCallbacks *HID_RootCollection(
                        break;
                case 0x0006:    // Keyboard
                        LOG("Desktop->Keyboard");
-                       break;
+                       return &gHID_Kb_ReportCBs;
                }
                break;
        case 0x0007:    // Keyboard / Keypad
                LOG("Keyboard");
-               break;
+               return &gHID_Kb_ReportCBs;
        }
        return NULL;
 }

UCC git Repository :: git.ucc.asn.au