@@ -59,7 +59,7 @@ struct hal_spi {
5959 int rxcnt ;
6060 hal_spi_txrx_cb callback ;
6161 void * arg ;
62- const struct hal_spi_hw_settings * pins ;
62+ struct hal_spi_hw_settings pins ;
6363 uint32_t con ;
6464 uint32_t brg ;
6565};
@@ -225,9 +225,9 @@ hal_spi_config_pins(int spi_num, uint8_t mode)
225225{
226226 int ret = 0 ;
227227
228- if (hal_gpio_init_out (spis [spi_num ].pins -> pin_mosi , 0 ) ||
229- hal_gpio_init_out (spis [spi_num ].pins -> pin_sck , 1 ) ||
230- hal_gpio_init_in (spis [spi_num ].pins -> pin_miso , HAL_GPIO_PULL_NONE )) {
228+ if (hal_gpio_init_out (spis [spi_num ].pins . pin_mosi , 0 ) ||
229+ hal_gpio_init_out (spis [spi_num ].pins . pin_sck , 1 ) ||
230+ hal_gpio_init_in (spis [spi_num ].pins . pin_miso , HAL_GPIO_PULL_NONE )) {
231231 return -1 ;
232232 }
233233
@@ -238,53 +238,49 @@ hal_spi_config_pins(int spi_num, uint8_t mode)
238238 switch (mode ) {
239239 case HAL_SPI_MODE0 :
240240 case HAL_SPI_MODE1 :
241- hal_gpio_write (spis [spi_num ].pins -> pin_sck , 0 );
241+ hal_gpio_write (spis [spi_num ].pins . pin_sck , 0 );
242242 break ;
243243 case HAL_SPI_MODE2 :
244244 case HAL_SPI_MODE3 :
245- hal_gpio_write (spis [spi_num ].pins -> pin_sck , 1 );
245+ hal_gpio_write (spis [spi_num ].pins . pin_sck , 1 );
246246 break ;
247247 }
248248
249249 switch (spi_num ) {
250250#if MYNEWT_VAL (SPI_0_MASTER )
251251 case 0 :
252- ret += pps_configure_output (spis [spi_num ].pins -> pin_mosi , SDO1_OUT_FUNC );
253- ret += pps_configure_input (spis [spi_num ].pins -> pin_miso , SDI1_IN_FUNC );
252+ ret += pps_configure_output (spis [spi_num ].pins . pin_mosi , SDO1_OUT_FUNC );
253+ ret += pps_configure_input (spis [spi_num ].pins . pin_miso , SDI1_IN_FUNC );
254254 break ;
255255#endif
256256#if MYNEWT_VAL (SPI_1_MASTER )
257257 case 1 :
258- ret += pps_configure_output (spis [spi_num ].pins -> pin_mosi , SDO2_OUT_FUNC );
259- ret += pps_configure_input (spis [spi_num ].pins -> pin_miso , SDI2_IN_FUNC );
258+ ret += pps_configure_output (spis [spi_num ].pins . pin_mosi , SDO2_OUT_FUNC );
259+ ret += pps_configure_input (spis [spi_num ].pins . pin_miso , SDI2_IN_FUNC );
260260 break ;
261261#endif
262262#if MYNEWT_VAL (SPI_2_MASTER )
263263 case 2 :
264- ret += pps_configure_output (spis [spi_num ].pins -> pin_mosi , SDO3_OUT_FUNC );
265- ret += pps_configure_input (spis [spi_num ].pins -> pin_miso , SDI3_IN_FUNC );
264+ ret += pps_configure_output (spis [spi_num ].pins . pin_mosi , SDO3_OUT_FUNC );
265+ ret += pps_configure_input (spis [spi_num ].pins . pin_miso , SDI3_IN_FUNC );
266266 break ;
267267#endif
268268#if MYNEWT_VAL (SPI_3_MASTER )
269269 case 3 :
270- ret += pps_configure_output (spis [spi_num ].pins -> pin_mosi , SDO4_OUT_FUNC );
271- ret += pps_configure_input (spis [spi_num ].pins -> pin_miso , SDI4_IN_FUNC );
270+ ret += pps_configure_output (spis [spi_num ].pins . pin_mosi , SDO4_OUT_FUNC );
271+ ret += pps_configure_input (spis [spi_num ].pins . pin_miso , SDI4_IN_FUNC );
272272 break ;
273273#endif
274274#if defined(_SPI5 ) && MYNEWT_VAL (SPI_4_MASTER )
275275 case 4 :
276- ret += pps_configure_output (spis [spi_num ].pins -> pin_mosi ,
277- SDO5_OUT_FUNC );
278- ret += pps_configure_input (spis [spi_num ].pins -> pin_miso ,
279- SDI5_IN_FUNC );
276+ ret += pps_configure_output (spis [spi_num ].pins .pin_mosi , SDO5_OUT_FUNC );
277+ ret += pps_configure_input (spis [spi_num ].pins .pin_miso , SDI5_IN_FUNC );
280278 break ;
281279#endif
282280#if defined(_SPI6 ) && MYNEWT_VAL (SPI_5_MASTER )
283281 case 5 :
284- ret += pps_configure_output (spis [spi_num ].pins -> pin_mosi ,
285- SDO6_OUT_FUNC );
286- ret += pps_configure_input (spis [spi_num ].pins -> pin_miso ,
287- SDI6_IN_FUNC );
282+ ret += pps_configure_output (spis [spi_num ].pins .pin_mosi , SDO6_OUT_FUNC );
283+ ret += pps_configure_input (spis [spi_num ].pins .pin_miso , SDI6_IN_FUNC );
288284 break ;
289285#endif
290286 }
@@ -481,7 +477,7 @@ hal_spi_init(int spi_num, void *cfg, uint8_t spi_type)
481477 }
482478
483479 spis [spi_num ].slave = spi_type ;
484- spis [spi_num ].pins = cfg ;
480+ spis [spi_num ].pins = * ( struct hal_spi_hw_settings * ) cfg ;
485481
486482 return 0 ;
487483}
@@ -495,10 +491,8 @@ hal_spi_config(int spi_num, struct hal_spi_settings *psettings)
495491 }
496492
497493 /* Configure pins */
498- if (spis [spi_num ].pins ) {
499- if (hal_spi_config_pins (spi_num , psettings -> data_mode )) {
500- return -1 ;
501- }
494+ if (hal_spi_config_pins (spi_num , psettings -> data_mode )) {
495+ return -1 ;
502496 }
503497
504498 return hal_spi_config_master (spi_num , psettings );
0 commit comments