Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bluetooth HCI driver location & Kconfig restructuring #81776

Closed
jhedberg opened this issue Nov 22, 2024 · 2 comments
Closed

Bluetooth HCI driver location & Kconfig restructuring #81776

jhedberg opened this issue Nov 22, 2024 · 2 comments
Assignees
Labels
area: Bluetooth HCI Bluetooth HCI Driver Enhancement Changes/Updates/Additions to existing features

Comments

@jhedberg
Copy link
Member

jhedberg commented Nov 22, 2024

This primarily affects local Link Layer drivers, but the first bullet relates to all HCI drivers.

  • We only have one type of Bluetooth drivers, namely HCI drivers, so the drivers should move from drivers/bluetooth/hci/ to simply drivers/bluetooth/. This is also in line with the fact that the corresponding header file is include/zephyr/drivers/bluetooth.h.
  • BT_CTLR should be, as per its definition, used for all cases where you have a local LL. Until now only Nordic has taken advantage of it, both for the upstream native LL as well as their downstream SD LL.
    1. Remove BT_LL_CHOICE
    2. Make BT_CTLR a virtual option that's selected by users (like BT_LL_SW_SPLIT or any other "local controller" HCI driver)
    3. Use default y for anything that depends on a status = "okay"; in DT (like BT_LL_SW_SPLIT)
    4. Remove any current explicit enabling of CONFIG_BT_CTLR=y in prj.conf files, since it's now auto-enabled based on DT. Explicit CONFIG_BT_CTLR=n may be necessary in some places.
    5. Remove this redundant pattern which seems to exist in many Kconfig.defconfig files:
     config BT_CTLR
     	default BT
    
    The reason it's pointless is that BT_CTLR already depends on BT and now that it'll get automatically selected there's no point in doing these tricks anymore.
@jhedberg jhedberg added the Enhancement Changes/Updates/Additions to existing features label Nov 22, 2024
@jhedberg jhedberg self-assigned this Nov 22, 2024
@jhedberg jhedberg added the area: Bluetooth HCI Bluetooth HCI Driver label Nov 22, 2024
@jhedberg
Copy link
Member Author

Updated the description with my latest thoughts/plan

@jhedberg
Copy link
Member Author

I'll close this as most of it was already implemented by #82157 and the rest will be likely done differently than what this issue describes (e.g. it looks like the controller driver doesn't need to move anywhere)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Bluetooth HCI Bluetooth HCI Driver Enhancement Changes/Updates/Additions to existing features
Projects
None yet
Development

No branches or pull requests

1 participant