File tree Expand file tree Collapse file tree 5 files changed +70
-45
lines changed
drivers/wireless/bluetooth
include/nuttx/wireless/bluetooth Expand file tree Collapse file tree 5 files changed +70
-45
lines changed Original file line number Diff line number Diff line change @@ -326,3 +326,39 @@ int btuart_ioctl(FAR struct bt_driver_s *dev,
326
326
return - ENOTTY ;
327
327
}
328
328
}
329
+
330
+ /****************************************************************************
331
+ * Name: btuart_register
332
+ *
333
+ * Description:
334
+ * Register the UART-based bluetooth driver.
335
+ *
336
+ * Input Parameters:
337
+ * lower - an instance of the lower half driver interface
338
+ *
339
+ * Returned Value:
340
+ * Zero is returned on success; a negated errno value is returned on any
341
+ * failure.
342
+ *
343
+ ****************************************************************************/
344
+
345
+ int btuart_register (FAR const struct btuart_lowerhalf_s * lower )
346
+ {
347
+ FAR struct bt_driver_s * driver ;
348
+ int ret ;
349
+
350
+ ret = btuart_create (lower , & driver );
351
+ if (ret < 0 )
352
+ {
353
+ return ret ;
354
+ }
355
+
356
+ ret = bt_netdev_register (driver );
357
+ if (ret < 0 )
358
+ {
359
+ wlerr ("ERROR: bt_netdev_register failed: %d\n" , ret );
360
+ kmm_free (driver );
361
+ }
362
+
363
+ return ret ;
364
+ }
Original file line number Diff line number Diff line change @@ -379,10 +379,9 @@ static int load_bcm4343x_firmware(FAR const struct btuart_lowerhalf_s *lower)
379
379
****************************************************************************/
380
380
381
381
/****************************************************************************
382
- * Name: btuart_register
382
+ * Name: btuart_create
383
383
*
384
- * Create the UART-based Bluetooth device and register it with the
385
- * Bluetooth stack.
384
+ * Create the UART-based bluetooth device.
386
385
*
387
386
* Input Parameters:
388
387
* lower - an instance of the lower half driver interface
@@ -393,7 +392,8 @@ static int load_bcm4343x_firmware(FAR const struct btuart_lowerhalf_s *lower)
393
392
*
394
393
****************************************************************************/
395
394
396
- int btuart_register (FAR const struct btuart_lowerhalf_s * lower )
395
+ int btuart_create (FAR const struct btuart_lowerhalf_s * lower ,
396
+ FAR struct bt_driver_s * * driver )
397
397
{
398
398
FAR struct btuart_upperhalf_s * upper ;
399
399
int ret ;
@@ -436,14 +436,6 @@ int btuart_register(FAR const struct btuart_lowerhalf_s *lower)
436
436
return - EINVAL ;
437
437
}
438
438
439
- /* And register the driver with the network and the Bluetooth stack. */
440
-
441
- ret = bt_netdev_register (& upper -> dev );
442
- if (ret < 0 )
443
- {
444
- wlerr ("ERROR: bt_netdev_register failed: %d\n" , ret );
445
- kmm_free (upper );
446
- }
447
-
439
+ * driver = & upper -> dev ;
448
440
return ret ;
449
441
}
Original file line number Diff line number Diff line change @@ -145,11 +145,9 @@ int load_cc2564_firmware(FAR const struct btuart_lowerhalf_s *lower)
145
145
}
146
146
147
147
/****************************************************************************
148
- * Name: btuart_register
148
+ * Name: btuart_create
149
149
*
150
- * Description:
151
- * Create the UART-based Bluetooth device and register it with the
152
- * Bluetooth stack.
150
+ * Create the UART-based bluetooth device.
153
151
*
154
152
* Input Parameters:
155
153
* lower - an instance of the lower half driver interface
@@ -160,7 +158,8 @@ int load_cc2564_firmware(FAR const struct btuart_lowerhalf_s *lower)
160
158
*
161
159
****************************************************************************/
162
160
163
- int btuart_register (FAR const struct btuart_lowerhalf_s * lower )
161
+ int btuart_create (FAR const struct btuart_lowerhalf_s * lower ,
162
+ FAR struct bt_driver_s * * driver )
164
163
{
165
164
FAR struct btuart_upperhalf_s * upper ;
166
165
int ret ;
@@ -203,14 +202,6 @@ int btuart_register(FAR const struct btuart_lowerhalf_s *lower)
203
202
return - EINVAL ;
204
203
}
205
204
206
- /* And register the driver with the network and the Bluetooth stack. */
207
-
208
- ret = bt_netdev_register (& upper -> dev );
209
- if (ret < 0 )
210
- {
211
- wlerr ("ERROR: bt_netdev_register failed: %d\n" , ret );
212
- kmm_free (upper );
213
- }
214
-
205
+ * driver = & upper -> dev ;
215
206
return ret ;
216
207
}
Original file line number Diff line number Diff line change 39
39
****************************************************************************/
40
40
41
41
/****************************************************************************
42
- * Name: btuart_register
42
+ * Name: btuart_create
43
43
*
44
- * Description:
45
- * Create the UART-based Bluetooth device and register it with the
46
- * Bluetooth stack.
44
+ * Create the UART-based bluetooth device.
47
45
*
48
46
* Input Parameters:
49
47
* lower - an instance of the lower half driver interface
54
52
*
55
53
****************************************************************************/
56
54
57
- int btuart_register (FAR const struct btuart_lowerhalf_s * lower )
55
+ int btuart_create (FAR const struct btuart_lowerhalf_s * lower ,
56
+ FAR struct bt_driver_s * * driver )
58
57
{
59
58
FAR struct btuart_upperhalf_s * upper ;
60
- int ret ;
61
59
62
60
wlinfo ("lower %p\n" , lower );
63
61
@@ -87,14 +85,6 @@ int btuart_register(FAR const struct btuart_lowerhalf_s *lower)
87
85
upper -> dev .ioctl = btuart_ioctl ;
88
86
upper -> lower = lower ;
89
87
90
- /* And register the driver with the network and the Bluetooth stack. */
91
-
92
- ret = bt_netdev_register (& upper -> dev );
93
- if (ret < 0 )
94
- {
95
- wlerr ("ERROR: bt_netdev_registe failed: %d\n" , ret );
96
- kmm_free (upper );
97
- }
98
-
99
- return ret ;
88
+ * driver = & upper -> dev ;
89
+ return OK ;
100
90
}
Original file line number Diff line number Diff line change @@ -148,12 +148,28 @@ struct btuart_lowerhalf_s
148
148
* Public Function Prototypes
149
149
****************************************************************************/
150
150
151
+ /****************************************************************************
152
+ * Name: btuart_create
153
+ *
154
+ * Create the UART-based Bluetooth device.
155
+ *
156
+ * Input Parameters:
157
+ * lower - an instance of the lower half driver interface
158
+ *
159
+ * Returned Value:
160
+ * Zero is returned on success; a negated errno value is returned on any
161
+ * failure.
162
+ *
163
+ ****************************************************************************/
164
+
165
+ int btuart_create (FAR const struct btuart_lowerhalf_s * lower ,
166
+ FAR struct bt_driver_s * * driver );
167
+
151
168
/****************************************************************************
152
169
* Name: btuart_register
153
170
*
154
171
* Description:
155
- * Create the generic UART-based Bluetooth device and register it with the
156
- * Bluetooth stack.
172
+ * Register the generic UART-based bluetooth driver.
157
173
*
158
174
* Input Parameters:
159
175
* lower - an instance of the lower half driver interface
You can’t perform that action at this time.
0 commit comments