1
0
Fork 0
forked from len0rd/rockbox

Add a PACK_DESCRIPTOR macro to make the class drivers a bit more readable (FS#10145 by Tomer Shalev)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20733 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Frank Gevaerts 2009-04-18 20:04:52 +00:00
parent 8b6b46f3c4
commit ab09322b7a
4 changed files with 23 additions and 24 deletions

View file

@ -22,6 +22,7 @@
#include "system.h"
#include "usb_core.h"
#include "usb_drv.h"
#include "usb_class_driver.h"
//#define LOGF_ENABLE
#include "logf.h"
#include "storage.h"
@ -371,24 +372,20 @@ int usb_storage_set_first_interface(int interface)
int usb_storage_get_config_descriptor(unsigned char *dest,int max_packet_size)
{
endpoint_descriptor.wMaxPacketSize=max_packet_size;
interface_descriptor.bInterfaceNumber=usb_interface;
unsigned char *orig_dest = dest;
memcpy(dest,&interface_descriptor,
sizeof(struct usb_interface_descriptor));
dest+=sizeof(struct usb_interface_descriptor);
interface_descriptor.bInterfaceNumber = usb_interface;
PACK_DESCRIPTOR(dest, interface_descriptor);
endpoint_descriptor.wMaxPacketSize = max_packet_size;
endpoint_descriptor.bEndpointAddress = ep_in;
memcpy(dest,&endpoint_descriptor,
sizeof(struct usb_endpoint_descriptor));
dest+=sizeof(struct usb_endpoint_descriptor);
PACK_DESCRIPTOR(dest, endpoint_descriptor);
endpoint_descriptor.bEndpointAddress = ep_out;
memcpy(dest,&endpoint_descriptor,
sizeof(struct usb_endpoint_descriptor));
PACK_DESCRIPTOR(dest, endpoint_descriptor);
return sizeof(struct usb_interface_descriptor) +
2*sizeof(struct usb_endpoint_descriptor);
return (dest - orig_dest);
}
void usb_storage_init_connection(void)