anchao commented on PR #20686:
URL: https://github.com/apache/nuttx/pull/20686#issuecomment-6384719984

   
   > @anchao but NuttX Kconfig is not 1:1 to Linux or Zephyr (it shouldn't be). 
So I think CONFIG_BT should mean BT/BLE supoort and then we have the stack 
used: CONFIG_BT_NIMBLE, CONFIG_BT_ZBLUE, etc.
   > 
   > Does it makes more sense? If we used CONFIG_BT to compile the ZBLUE stack 
only, it will be difficult to repurpose it to other stack later. So I think 
separating CONFIG_BT from the used stack makes more sense.
   
   @acassis 
   
   Yes, I understand your point, and I agree that NuttX Kconfig does not have 
to be 
   1:1 with Linux or Zephyr.                                                    
    
                                                                                
    
   At this stage, many of the Bluetooth Kconfig options are inherited from 
Zephyr,  
   because the stack is derived from Zephyr. However, after this point, I do 
not    
   expect us to keep synchronizing the Kconfig directly with Zephyr. We have 
already
   made many NuttX-specific integration changes, and it will become 
increasingly    
   difficult to keep this as a clean downstream sync.                           
    
                                                                                
    
   So my view is that this is more like forking the current Bluetooth host 
stack    
   into NuttX and maintaining it as the NuttX Bluetooth implementation from now 
on, 
   rather than keeping it as a stack that is always selected as "Zephyr 
Bluetooth"  
   inside NuttX.                                                                
    
                                                                                
    
   The main reason I would still like to keep the CONFIG_BT_* naming is that 
the    
   core Bluetooth configuration model is already familiar to developers who 
have    
   used Linux or Zephyr Bluetooth before. It also describes the Bluetooth 
features  
   themselves, not only the implementation identity. For example, options like  
    
   CONFIG_BT_CONN, CONFIG_BT_HCI, CONFIG_BT_L2CAP, CONFIG_BT_GATT, etc. are 
natural 
   Bluetooth feature names.                                                     
    
                                                                                
    
   If CONFIG_BT is merged as the common Bluetooth host entry in NuttX, my       
    
   expectation is that it will become the main NuttX Bluetooth implementation 
going 
   forward. Similar to the TCP/IP stack in NuttX, I think the community should  
    
   focus on maintaining and improving one in-tree implementation instead of 
carrying
   multiple host stacks long-term.                                              
    
                                                                                
    
   For NimBLE, if there are active users or maintainers who still need it, we 
can   
   discuss that with them. But if there is no strong user requirement for 
keeping a 
   separate NimBLE path, I think it would be better to encourage users to move 
to   
   the NuttX-maintained ZBlue-based Bluetooth stack once it provides the 
required   
   BLE functionality.                                                           
    
                                                                                
    
   So I agree with the idea that CONFIG_BT should mean Bluetooth support in 
NuttX.  
   The difference is that I do not see ZBlue as a temporary third-party stack 
once  
   it is merged and maintained in-tree. I see it as the basis of the future 
NuttX   
   Bluetooth host implementation.                                               
    
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to