Add optional pipe double banking support to the Host mode Class drivers.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / StillImage.c
index f98f508..e809c92 100644 (file)
@@ -35,7 +35,7 @@
 #include "StillImage.h"\r
 \r
 uint8_t SI_Host_ConfigurePipes(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo, uint16_t ConfigDescriptorSize,\r
-                              uint8_t* DeviceConfigDescriptor)\r
+                               void* DeviceConfigDescriptor)\r
 {\r
        uint8_t  FoundEndpoints = 0;\r
        \r
@@ -66,7 +66,7 @@ uint8_t SI_Host_ConfigurePipes(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo, u
                        {\r
                                Pipe_ConfigurePipe(SIInterfaceInfo->Config.EventsPipeNumber, EP_TYPE_INTERRUPT, PIPE_TOKEN_IN,\r
                                                                   EndpointData->EndpointAddress, EndpointData->EndpointSize,\r
-                                                                  PIPE_BANK_DOUBLE);                   \r
+                                                                  SIInterfaceInfo->Config.EventsPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);                 \r
                                SIInterfaceInfo->State.EventsPipeSize = EndpointData->EndpointSize;\r
 \r
                                Pipe_SetInterruptPeriod(EndpointData->PollingIntervalMS);\r
@@ -80,7 +80,7 @@ uint8_t SI_Host_ConfigurePipes(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo, u
                        {\r
                                Pipe_ConfigurePipe(SIInterfaceInfo->Config.DataINPipeNumber, EP_TYPE_BULK, PIPE_TOKEN_IN,\r
                                                                   EndpointData->EndpointAddress, EndpointData->EndpointSize,\r
-                                                                  PIPE_BANK_DOUBLE);\r
+                                                                  SIInterfaceInfo->Config.DataINPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);\r
                                SIInterfaceInfo->State.DataINPipeSize = EndpointData->EndpointSize;\r
 \r
                                FoundEndpoints |= SI_FOUND_DATAPIPE_IN;\r
@@ -89,7 +89,7 @@ uint8_t SI_Host_ConfigurePipes(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo, u
                        {\r
                                Pipe_ConfigurePipe(SIInterfaceInfo->Config.DataOUTPipeNumber, EP_TYPE_BULK, PIPE_TOKEN_OUT,\r
                                                                   EndpointData->EndpointAddress, EndpointData->EndpointSize,\r
-                                                                  PIPE_BANK_DOUBLE);\r
+                                                                  SIInterfaceInfo->Config.DataOUTPipeDoubleBank ? PIPE_BANK_DOUBLE : PIPE_BANK_SINGLE);\r
                                SIInterfaceInfo->State.DataOUTPipeSize = EndpointData->EndpointSize;\r
 \r
                                FoundEndpoints |= SI_FOUND_DATAPIPE_OUT;\r