int InitUSB(void) { int i; int ret = 0; for (i = 0; i < NUM_DEVICES; ++i) { g_mass_device[i].status = 0; g_mass_device[i].devId = -1; } driver.next = NULL; driver.prev = NULL; driver.name = "mass-stor"; driver.probe = mass_stor_probe; driver.connect = mass_stor_connect; driver.disconnect = mass_stor_disconnect; ret = UsbRegisterDriver(&driver); XPRINTF("USBHDFSD: registerDriver=%i \n", ret); if (ret < 0) { printf("USBHDFSD: register driver failed! ret=%d\n", ret); return(-1); } return(0); }
/** Register This driver with usbd.irx */ int PS2CamInitDriver(void) { int i; iop_sema_t sema; printf("PS2 USB Camera Driver v.%d.%d ((C) www.ps2dev.org)\n",DRIVER_VERSON_MAJOR,DRIVER_VERSON_MINOR); memset(&Camera[0], 0, sizeof(Camera)*MAX_CAM_DEVICE ); memset(&CamHandle[0], 0, sizeof(Camera)*MAX_CAM_DEVICE_HANDLE); for(i=0;i<MAX_CAM_DEVICE_HANDLE;i++) { CamHandle[i].fd = i+1; } //setup sema sema.initial= 1; sema.max = 1; sema.option = 0; sema.attr = 0; ps2cam_sema = CreateSema(&sema); //connect to usb.irx return UsbRegisterDriver(&cam_driver); }
s32 _start(char **argv, int argc) { if(RegisterLibraryEntries(&_exp_ds3ps2) != 0) { //Failed return 1; } UsbRegisterDriver(&driver); return 0; }