Page 1 of 1

usb_mass driver no longer compiles do to new PS2SDK changes

Posted: Sat Feb 04, 2006 4:31 pm
by EP
Just thought I would note an issue with the latest changes to usbd in the sdk. One of the more recent changes prevents the usb_mass driver from compiling now.

Code: Select all

build-imports.c:75: warning: data definition has no type or storage class
A temporary fix is to use the older usbd.h in ps2sdk/iop/usb/usbd/include. Just place it in the ps2sdk/iop/include directory then usb_mass will compile successfully. I know the changes are relatively new but I figured I'd give someone the heads up.

Thanks,

EP

Posted: Tue Feb 07, 2006 3:27 am
by BraveDog
It is not compiling because UsbOpenBulkEndpoint is not available in the export table.

Code: Select all

int UsbOpenBulkEndpoint(int devID, UsbEndpointDescriptor *epDesc);
#define I_UsbOpenBulkEndpoint DECLARE_IMPORT(12,UsbOpenBulkEndpoint)
Maybe this function is now called 'UsbOpenEndpointAligned'?

Posted: Tue Feb 07, 2006 5:05 am
by EP
BraveDog wrote:Maybe this function is now called 'UsbOpenEndpointAligned'?
Yes, that's it. Thanks BraveDog.

To fix the issue with usb_mass driver in 'mass_stor.c' change the following:

Code: Select all

734c734
< 			dev->bulkEpO = UsbOpenBulkEndpoint&#40;dev->devId, endpoint&#41;;
---
> 			dev->bulkEpO = UsbOpenEndpointAligned&#40;dev->devId, endpoint&#41;;
741c741
< 			dev->bulkEpI = UsbOpenBulkEndpoint&#40;dev->devId, endpoint&#41;;
---
> 			dev->bulkEpI = UsbOpenEndpointAligned&#40;dev->devId, endpoint&#41;;
To fix the issue with usb_mass driver in 'imports.lst' change the following:

Code: Select all

73c73
< I_UsbOpenBulkEndpoint
---
> I_UsbOpenEndpointAligned