Skip to content

Bluetooth on 2015+ MacBook (Pro)

Lukas Wunner linux-bluetooth 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest13 patches 1 replyIn review
  2. v313 patches 5 repliesSuperseded
  3. v210 patches 20 repliesSuperseded

Changes in v4 from the cover letter

- In patch [07/13] ("Document struct bcm_device"):
s/enable flow control/disable flow control/ to account for inverse semantics of hci_uart_set_flow_control().

- In patch [05/13] and [09/13] ("Handle errors properly"):
Fix corner case where an unbalanced pm_runtime_disable() could occur.

- In patch [10/13] ("Support Apple GPIO handling"):
Style fix: Unroll bcm_apple_get_resources() inline stub. (Andy)

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/13Bluetooth: hci_bcm: Mandate presence of shutdown and device wake GPIOdrivers/bluetooth/hci_bcm.c+9 -150 replies
2/13Bluetooth: hci_bcm: Validate IRQ before using itdrivers/bluetooth/hci_bcm.c+3 -30 replies
3/13Bluetooth: hci_bcm: Clean up unnecessary #ifdefdrivers/bluetooth/hci_bcm.c+1 -30 replies
4/13Bluetooth: hci_bcm: Fix race on closedrivers/bluetooth/hci_bcm.c+4 -40 replies
5/13Bluetooth: hci_bcm: Fix unbalanced pm_runtime_disable()drivers/bluetooth/hci_bcm.c+1 -10 replies
6/13Bluetooth: hci_bcm: Invalidate IRQ on request failuredrivers/bluetooth/hci_bcm.c+3 -10 replies
7/13Bluetooth: hci_bcm: Document struct bcm_devicedrivers/bluetooth/hci_bcm.c+25 -20 replies
8/13Bluetooth: hci_bcm: Add callbacks to toggle GPIOsdrivers/bluetooth/hci_bcm.c+23 -40 replies
9/13Bluetooth: hci_bcm: Handle errors properlydrivers/bluetooth/hci_bcm.c+75 -160 replies
10/13Bluetooth: hci_bcm: Support Apple GPIO handlingdrivers/bluetooth/hci_bcm.c+55 -00 replies
11/13Bluetooth: hci_bcm: Silence IRQ printkdrivers/bluetooth/hci_bcm.c+1 -10 replies
12/13Bluetooth: hci_bcm: Sleep instead of spinningdrivers/bluetooth/hci_bcm.c+2 -20 replies
13/13Bluetooth: btbcm: Fix sleep mode struct orderingdrivers/bluetooth/btbcm.h drivers/bluetooth/hci_bcm.c+2 -20 replies

Reviews trailers per patch

10 of 13 patches have a Reviewed-by or Acked-by.

PatchAndy ShevchenkoMax ShavrickLeif LiddyDaniel RoschkaRonald TschalärPeter Y. Chuang
1/13R-b
2/13R-b
3/13R-b
4/13R-b
5/13Reported-and-reviewed-by
6/13R-b
7/13R-b
8/13Suggested-and-reviewed-by
9/13R-b
10/13R-b T-b T-b T-b T-b T-b
11/13R-b
12/13Suggested-and-reviewed-by
13/13R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 6 reviewers.

Read the v4 thread

Cover letter [PATCH v4 00/13] Bluetooth on 2015+ MacBook (Pro)

Enable UART-attached Bluetooth on 2015+ MacBook (Pro), v4.

I forgot to include a changelog in each individual patch in v3, I'm making up for it now by listing the changes since both, v3 and v2.

Changes since v3:

- In patch [07/13] ("Document struct bcm_device"):
s/enable flow control/disable flow control/ to account for inverse semantics of hci_uart_set_flow_control().

- In patch [05/13] and [09/13] ("Handle errors properly"):
Fix corner case where an unbalanced pm_runtime_disable() could occur.

- In patch [10/13] ("Support Apple GPIO handling"):
Style fix: Unroll bcm_apple_get_resources() inline stub. (Andy)

Changes since v2:

- In patch [01/13] ("Mandate presence of shutdown and device wake GPIO"):
Keep netdev indentation style. (Marcel)

- New patch [04/13] to fix an IRQ race on ->close.

- New patch [05/13] to fix an unbalanced pm_runtime_disable(). (Andy)

- New patch [06/13] to invalidate the IRQ if requesting it failed.

- New patch [08/13] to add callbacks to toggle GPIOs.
This makes the subsequent addition of Mac support less intrusive. Replaces patch "Add helper to toggle device wake GPIO" in v2. (Andy)

- In patch [09/13] ("Handle errors properly"):
Drop redundant assignment. (Andy)

- In patch [10/13] ("Support Apple GPIO handling"):
Don't enable runtime PM on Macs for lack of usable host wake IRQ (Hans), s/BlueTooth/Bluetooth/ in kerneldoc. (Marcel)

- Move patch "Silence IRQ printk" to end of series as it's merely a cleanup and no longer necessary for Mac support.

- New patch [12/13] to use msleep() instead of mdelay() after toggling device wake pin. (Andy)

- New patch [13/13] to fix sleep mode struct ordering.

- Drop incorrect patch "Enable runtime PM despite absence of IRQ". (Hans)

Link to v3:
https://www.spinics.net/lists/linux-bluetooth/msg73705.html

Link to v2:
https://www.spinics.net/lists/linux-bluetooth/msg73628.html

Thanks,

Lukas

Lukas Wunner (12):
Bluetooth: hci_bcm: Mandate presence of shutdown and device wake GPIO
Bluetooth: hci_bcm: Clean up unnecessary #ifdef
Bluetooth: hci_bcm: Fix race on close
Bluetooth: hci_bcm: Fix unbalanced pm_runtime_disable()
Bluetooth: hci_bcm: Invalidate IRQ on request failure
Bluetooth: hci_bcm: Document struct bcm_device
Bluetooth: hci_bcm: Add callbacks to toggle GPIOs
Bluetooth: hci_bcm: Handle errors properly
Bluetooth: hci_bcm: Support Apple GPIO handling
Bluetooth: hci_bcm: Silence IRQ printk
Bluetooth: hci_bcm: Sleep instead of spinning
Bluetooth: btbcm: Fix sleep mode struct ordering

Ronald Tschalär (1):
Bluetooth: hci_bcm: Validate IRQ before using it

 drivers/bluetooth/btbcm.h   |   2 +-
 drivers/bluetooth/hci_bcm.c | 228 ++++++++++++++++++++++++++++++++++++--------
 2 files changed, 190 insertions(+), 40 deletions(-)
Signature · 1 line
2.15.1