1010
1111#include "drivers/dev_spi.h"
1212
13+ extern rt_err_t spi_bus_register (struct rt_spi_bus * bus ,
14+ const char * name ,
15+ const struct rt_spi_ops * ops );
16+
1317rt_err_t rt_qspi_configure (struct rt_qspi_device * device , struct rt_qspi_configuration * cfg )
1418{
1519 RT_ASSERT (device != RT_NULL );
@@ -67,21 +71,15 @@ rt_err_t rt_qspi_configure(struct rt_qspi_device *device, struct rt_qspi_configu
6771
6872rt_err_t rt_qspi_bus_register (struct rt_spi_bus * bus , const char * name , const struct rt_spi_ops * ops )
6973{
70- rt_err_t result = RT_EOK ;
71-
72- result = rt_spi_bus_register (bus , name , ops );
73- if (result == RT_EOK )
74- {
75- /* set SPI bus to qspi modes */
76- bus -> mode = RT_SPI_BUS_MODE_QSPI ;
77- }
74+ /* set SPI bus to qspi modes */
75+ bus -> mode = RT_SPI_BUS_MODE_QSPI ;
7876
79- return result ;
77+ return spi_bus_register ( bus , name , ops ) ;
8078}
8179
82- rt_size_t rt_qspi_transfer_message (struct rt_qspi_device * device , struct rt_qspi_message * message )
80+ rt_ssize_t rt_qspi_transfer_message (struct rt_qspi_device * device , struct rt_qspi_message * message )
8381{
84- rt_err_t result ;
82+ rt_ssize_t result ;
8583
8684 RT_ASSERT (device != RT_NULL );
8785 RT_ASSERT (message != RT_NULL );
@@ -130,7 +128,7 @@ rt_size_t rt_qspi_transfer_message(struct rt_qspi_device *device, struct rt_qsp
130128 return result ;
131129}
132130
133- rt_err_t rt_qspi_send_then_recv (struct rt_qspi_device * device , const void * send_buf , rt_size_t send_length , void * recv_buf , rt_size_t recv_length )
131+ rt_ssize_t rt_qspi_send_then_recv (struct rt_qspi_device * device , const void * send_buf , rt_size_t send_length , void * recv_buf , rt_size_t recv_length )
134132{
135133 RT_ASSERT (send_buf );
136134 RT_ASSERT (recv_buf );
@@ -139,7 +137,7 @@ rt_err_t rt_qspi_send_then_recv(struct rt_qspi_device *device, const void *send_
139137 struct rt_qspi_message message ;
140138 unsigned char * ptr = (unsigned char * )send_buf ;
141139 rt_size_t count = 0 ;
142- rt_err_t result = 0 ;
140+ rt_ssize_t result = 0 ;
143141
144142 message .instruction .content = ptr [0 ];
145143 message .instruction .qspi_lines = 1 ;
@@ -208,23 +206,23 @@ rt_err_t rt_qspi_send_then_recv(struct rt_qspi_device *device, const void *send_
208206 {
209207 result = - RT_EIO ;
210208 }
211- else
209+ else if ( result > 0 )
212210 {
213211 result = recv_length ;
214212 }
215213
216214 return result ;
217215}
218216
219- rt_err_t rt_qspi_send (struct rt_qspi_device * device , const void * send_buf , rt_size_t length )
217+ rt_ssize_t rt_qspi_send (struct rt_qspi_device * device , const void * send_buf , rt_size_t length )
220218{
221219 RT_ASSERT (send_buf );
222220 RT_ASSERT (length != 0 );
223221
224222 struct rt_qspi_message message ;
225223 unsigned char * ptr = (unsigned char * )send_buf ;
226224 rt_size_t count = 0 ;
227- rt_err_t result = 0 ;
225+ rt_ssize_t result = 0 ;
228226
229227 message .instruction .content = ptr [0 ];
230228 message .instruction .qspi_lines = 1 ;
@@ -294,7 +292,7 @@ rt_err_t rt_qspi_send(struct rt_qspi_device *device, const void *send_buf, rt_si
294292 {
295293 result = - RT_EIO ;
296294 }
297- else
295+ else if ( result > 0 )
298296 {
299297 result = length ;
300298 }
0 commit comments