Skip to content

Commit 451c71f

Browse files
dlechdpgeorge
authored andcommitted
L4_HAL/usb: Pass USB_OTG_CfgTypeDef by reference.
USB_OTG_CfgTypeDef is a large struct, so passing by reference should be more efficient in terms of stack usage and code size. Signed-off-by: David Lechner <[email protected]>
1 parent 035697f commit 451c71f

File tree

4 files changed

+21
-21
lines changed

4 files changed

+21
-21
lines changed

STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_usb.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -542,8 +542,8 @@ typedef struct
542542
* @{
543543
*/
544544
#if defined (USB_OTG_FS)
545-
HAL_StatusTypeDef USB_CoreInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg);
546-
HAL_StatusTypeDef USB_DevInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg);
545+
HAL_StatusTypeDef USB_CoreInit(USB_OTG_GlobalTypeDef *USBx, const USB_OTG_CfgTypeDef *cfg);
546+
HAL_StatusTypeDef USB_DevInit(USB_OTG_GlobalTypeDef *USBx, const USB_OTG_CfgTypeDef *cfg);
547547
HAL_StatusTypeDef USB_EnableGlobalInt(USB_OTG_GlobalTypeDef *USBx);
548548
HAL_StatusTypeDef USB_DisableGlobalInt(USB_OTG_GlobalTypeDef *USBx);
549549
HAL_StatusTypeDef USB_SetTurnaroundTime(USB_OTG_GlobalTypeDef *USBx, uint32_t hclk, uint8_t speed);
@@ -578,7 +578,7 @@ uint32_t USB_ReadDevAllInEpInterrupt(USB_OTG_GlobalTypeDef *USBx);
578578
uint32_t USB_ReadDevInEPInterrupt(USB_OTG_GlobalTypeDef *USBx, uint8_t epnum);
579579
void USB_ClearInterrupts(USB_OTG_GlobalTypeDef *USBx, uint32_t interrupt);
580580

581-
HAL_StatusTypeDef USB_HostInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg);
581+
HAL_StatusTypeDef USB_HostInit(USB_OTG_GlobalTypeDef *USBx, const USB_OTG_CfgTypeDef *cfg);
582582
HAL_StatusTypeDef USB_InitFSLSPClkSel(USB_OTG_GlobalTypeDef *USBx, uint8_t freq);
583583
HAL_StatusTypeDef USB_ResetPort(USB_OTG_GlobalTypeDef *USBx);
584584
HAL_StatusTypeDef USB_DriveVbus(USB_OTG_GlobalTypeDef *USBx, uint8_t state);
@@ -599,8 +599,8 @@ HAL_StatusTypeDef USB_DeActivateRemoteWakeup(USB_OTG_GlobalTypeDef *USBx);
599599
#endif /* defined (USB_OTG_FS) */
600600

601601
#if defined (USB)
602-
HAL_StatusTypeDef USB_CoreInit(USB_TypeDef *USBx, USB_CfgTypeDef cfg);
603-
HAL_StatusTypeDef USB_DevInit(USB_TypeDef *USBx, USB_CfgTypeDef cfg);
602+
HAL_StatusTypeDef USB_CoreInit(USB_TypeDef *USBx, const USB_CfgTypeDef *cfg);
603+
HAL_StatusTypeDef USB_DevInit(USB_TypeDef *USBx, const USB_CfgTypeDef *cfg);
604604
HAL_StatusTypeDef USB_EnableGlobalInt(USB_TypeDef *USBx);
605605
HAL_StatusTypeDef USB_DisableGlobalInt(USB_TypeDef *USBx);
606606
HAL_StatusTypeDef USB_SetCurrentMode(USB_TypeDef *USBx, USB_ModeTypeDef mode);

STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_hcd.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,13 +158,13 @@ HAL_StatusTypeDef HAL_HCD_Init(HCD_HandleTypeDef *hhcd)
158158
__HAL_HCD_DISABLE(hhcd);
159159

160160
/* Init the Core (common init.) */
161-
(void)USB_CoreInit(hhcd->Instance, hhcd->Init);
161+
(void)USB_CoreInit(hhcd->Instance, &hhcd->Init);
162162

163163
/* Force Host Mode*/
164164
(void)USB_SetCurrentMode(hhcd->Instance, USB_HOST_MODE);
165165

166166
/* Init Host */
167-
(void)USB_HostInit(hhcd->Instance, hhcd->Init);
167+
(void)USB_HostInit(hhcd->Instance, &hhcd->Init);
168168

169169
hhcd->State = HAL_HCD_STATE_READY;
170170

STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pcd.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd)
192192
__HAL_PCD_DISABLE(hpcd);
193193

194194
/*Init the Core (common init.) */
195-
if (USB_CoreInit(hpcd->Instance, hpcd->Init) != HAL_OK)
195+
if (USB_CoreInit(hpcd->Instance, &hpcd->Init) != HAL_OK)
196196
{
197197
hpcd->State = HAL_PCD_STATE_ERROR;
198198
return HAL_ERROR;
@@ -227,7 +227,7 @@ HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd)
227227
}
228228

229229
/* Init Device */
230-
if (USB_DevInit(hpcd->Instance, hpcd->Init) != HAL_OK)
230+
if (USB_DevInit(hpcd->Instance, &hpcd->Init) != HAL_OK)
231231
{
232232
hpcd->State = HAL_PCD_STATE_ERROR;
233233
return HAL_ERROR;

STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_usb.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx);
7979
* the configuration information for the specified USBx peripheral.
8080
* @retval HAL status
8181
*/
82-
HAL_StatusTypeDef USB_CoreInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg)
82+
HAL_StatusTypeDef USB_CoreInit(USB_OTG_GlobalTypeDef *USBx, const USB_OTG_CfgTypeDef *cfg)
8383
{
8484
HAL_StatusTypeDef ret;
8585

@@ -90,7 +90,7 @@ HAL_StatusTypeDef USB_CoreInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef c
9090
/* Reset after a PHY select */
9191
ret = USB_CoreReset(USBx);
9292

93-
if (cfg.battery_charging_enable == 0U)
93+
if (cfg->battery_charging_enable == 0U)
9494
{
9595
/* Activate the USB Transceiver */
9696
USBx->GCCFG |= USB_OTG_GCCFG_PWRDWN;
@@ -246,7 +246,7 @@ HAL_StatusTypeDef USB_SetCurrentMode(USB_OTG_GlobalTypeDef *USBx, USB_ModeTypeDe
246246
* the configuration information for the specified USBx peripheral.
247247
* @retval HAL status
248248
*/
249-
HAL_StatusTypeDef USB_DevInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg)
249+
HAL_StatusTypeDef USB_DevInit(USB_OTG_GlobalTypeDef *USBx, const USB_OTG_CfgTypeDef *cfg)
250250
{
251251
HAL_StatusTypeDef ret = HAL_OK;
252252
uint32_t USBx_BASE = (uint32_t)USBx;
@@ -258,7 +258,7 @@ HAL_StatusTypeDef USB_DevInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cf
258258
}
259259

260260
/* VBUS Sensing setup */
261-
if (cfg.vbus_sensing_enable == 0U)
261+
if (cfg->vbus_sensing_enable == 0U)
262262
{
263263
USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS;
264264

@@ -300,7 +300,7 @@ HAL_StatusTypeDef USB_DevInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cf
300300
USBx_DEVICE->DOEPMSK = 0U;
301301
USBx_DEVICE->DAINTMSK = 0U;
302302

303-
for (i = 0U; i < cfg.dev_endpoints; i++)
303+
for (i = 0U; i < cfg->dev_endpoints; i++)
304304
{
305305
if ((USBx_INEP(i)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA)
306306
{
@@ -322,7 +322,7 @@ HAL_StatusTypeDef USB_DevInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cf
322322
USBx_INEP(i)->DIEPINT = 0xFB7FU;
323323
}
324324

325-
for (i = 0U; i < cfg.dev_endpoints; i++)
325+
for (i = 0U; i < cfg->dev_endpoints; i++)
326326
{
327327
if ((USBx_OUTEP(i)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA)
328328
{
@@ -361,12 +361,12 @@ HAL_StatusTypeDef USB_DevInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cf
361361
USB_OTG_GINTMSK_OEPINT | USB_OTG_GINTMSK_IISOIXFRM |
362362
USB_OTG_GINTMSK_PXFRM_IISOOXFRM | USB_OTG_GINTMSK_WUIM;
363363

364-
if (cfg.Sof_enable != 0U)
364+
if (cfg->Sof_enable != 0U)
365365
{
366366
USBx->GINTMSK |= USB_OTG_GINTMSK_SOFM;
367367
}
368368

369-
if (cfg.vbus_sensing_enable == 1U)
369+
if (cfg->vbus_sensing_enable == 1U)
370370
{
371371
USBx->GINTMSK |= (USB_OTG_GINTMSK_SRQIM | USB_OTG_GINTMSK_OTGINT);
372372
}
@@ -1197,7 +1197,7 @@ static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx)
11971197
* the configuration information for the specified USBx peripheral.
11981198
* @retval HAL status
11991199
*/
1200-
HAL_StatusTypeDef USB_HostInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg)
1200+
HAL_StatusTypeDef USB_HostInit(USB_OTG_GlobalTypeDef *USBx, const USB_OTG_CfgTypeDef *cfg)
12011201
{
12021202
uint32_t USBx_BASE = (uint32_t)USBx;
12031203
uint32_t i;
@@ -1219,7 +1219,7 @@ HAL_StatusTypeDef USB_HostInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef c
12191219
(void)USB_FlushRxFifo(USBx);
12201220

12211221
/* Clear all pending HC Interrupts */
1222-
for (i = 0U; i < cfg.Host_channels; i++)
1222+
for (i = 0U; i < cfg->Host_channels; i++)
12231223
{
12241224
USBx_HC(i)->HCINT = 0xFFFFFFFFU;
12251225
USBx_HC(i)->HCINTMSK = 0U;
@@ -1814,7 +1814,7 @@ HAL_StatusTypeDef USB_DeActivateRemoteWakeup(USB_OTG_GlobalTypeDef *USBx)
18141814
* the configuration information for the specified USBx peripheral.
18151815
* @retval HAL status
18161816
*/
1817-
HAL_StatusTypeDef USB_CoreInit(USB_TypeDef *USBx, USB_CfgTypeDef cfg)
1817+
HAL_StatusTypeDef USB_CoreInit(USB_TypeDef *USBx, const USB_CfgTypeDef *cfg)
18181818
{
18191819
/* Prevent unused argument(s) compilation warning */
18201820
UNUSED(USBx);
@@ -1904,7 +1904,7 @@ HAL_StatusTypeDef USB_SetCurrentMode(USB_TypeDef *USBx, USB_ModeTypeDef mode)
19041904
* the configuration information for the specified USBx peripheral.
19051905
* @retval HAL status
19061906
*/
1907-
HAL_StatusTypeDef USB_DevInit(USB_TypeDef *USBx, USB_CfgTypeDef cfg)
1907+
HAL_StatusTypeDef USB_DevInit(USB_TypeDef *USBx, const USB_CfgTypeDef *cfg)
19081908
{
19091909
/* Prevent unused argument(s) compilation warning */
19101910
UNUSED(cfg);

0 commit comments

Comments
 (0)