Skip to contentSkip to conversation

bluetooth: remove all PCMCIA drivers

PATCH Applied Ethan Nelson-Moore 3 participants 3 messages May 3 – May 4

Subsystems (5)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 bluetooth: remove all PCMCIA drivers

PCMCIA is almost completely obsolete (the last computers supporting it natively were from ~2009), and the general consensus [1] seems to be that support for it should be gradually removed from the kernel.

In 2023, an initial step of removing all the PCMCIA char drivers was taken in commit 9b12f050c76f ("char: pcmcia: remove all the drivers"), and that has not been reverted, so it seems logical to continue this process by removing more low-hanging fruit.

These three Bluetooth drivers have had no meaningful changes since their status was discussed in 2022 [2], and are unlikely to have any remaining users. The latest functional change to any of them was a patch to bluecard_cs to fix LED blinking behavior in 2017. The other two drivers have not had any meaningful changes made since 2007. Remove them.

Note that even with these drivers removed, it is still possible to use other PCMCIA Bluetooth cards that present themselves as a standard serial port via serial_cs and hciattach while the serial_cs driver is still present.

[1] https://lore.kernel.org/all/[email protected]/
[2] https://lore.kernel.org/all/[email protected]/

---
This patch is identical to my previous RFC patch, but rebased on the latest bluetooth-next tree.

 arch/arm/configs/pxa_defconfig              |   3 -
 arch/arm/configs/spitz_defconfig            |   3 -
 arch/loongarch/configs/loongson32_defconfig |   3 -
 arch/loongarch/configs/loongson64_defconfig |   3 -
 arch/mips/configs/mtx1_defconfig            |   3 -
 arch/powerpc/configs/ppc6xx_defconfig       |   3 -
 drivers/bluetooth/Kconfig                   |  40 -
 drivers/bluetooth/Makefile                  |   3 -
 drivers/bluetooth/bluecard_cs.c             | 908 --------------------
 drivers/bluetooth/bt3c_cs.c                 | 749 ----------------
 drivers/bluetooth/dtl1_cs.c                 | 614 -------------
 11 files changed, 2332 deletions(-)
 delete mode 100644 drivers/bluetooth/bluecard_cs.c
 delete mode 100644 drivers/bluetooth/bt3c_cs.c
 delete mode 100644 drivers/bluetooth/dtl1_cs.c
arch/arm/configs/pxa_defconfig +0 -3
index c51ae373ca88..78942ebe3fc2 100644
@@ -77,9 +77,6 @@ CONFIG_BT_HCIUART_BCSP=y
 CONFIG_BT_HCIBCM203X=m
 CONFIG_BT_HCIBPA10X=m
 CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
 CONFIG_BT_HCIBTUART=m
 CONFIG_BT_HCIVHCI=m
 CONFIG_BT_MRVL=m
arch/arm/configs/spitz_defconfig +0 -3
index f116a01c3f5f..8f8a058294fb 100644
@@ -62,9 +62,6 @@ CONFIG_BT_HCIUART_BCSP=y
 CONFIG_BT_HCIBCM203X=m
 CONFIG_BT_HCIBPA10X=m
 CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
 CONFIG_BT_HCIBTUART=m
 CONFIG_BT_HCIVHCI=m
 CONFIG_PCCARD=y
arch/loongarch/configs/loongson32_defconfig +0 -3
index d5ef396dffe3..f319c880127c 100644
@@ -383,9 +383,6 @@ CONFIG_BT_HCIUART_AG6XX=y
 CONFIG_BT_HCIBCM203X=m
 CONFIG_BT_HCIBPA10X=m
 CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
 CONFIG_BT_HCIVHCI=m
 CONFIG_BT_MRVL=m
 CONFIG_BT_ATH3K=m
arch/loongarch/configs/loongson64_defconfig +0 -3
index cba4cdff5acd..ffa8ae26d713 100644
@@ -399,9 +399,6 @@ CONFIG_BT_HCIUART_AG6XX=y
 CONFIG_BT_HCIBCM203X=m
 CONFIG_BT_HCIBPA10X=m
 CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
 CONFIG_BT_HCIVHCI=m
 CONFIG_BT_MRVL=m
 CONFIG_BT_ATH3K=m
arch/mips/configs/mtx1_defconfig +0 -3
index 3629afbe5d75..aec719b1b193 100644
@@ -184,9 +184,6 @@ CONFIG_BT_HCIUART_BCSP=y
 CONFIG_BT_HCIBCM203X=m
 CONFIG_BT_HCIBPA10X=m
 CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
 CONFIG_BT_HCIVHCI=m
 CONFIG_CONNECTOR=m
 CONFIG_MTD=y
arch/powerpc/configs/ppc6xx_defconfig +0 -3
index ccabc6e17168..7f4f8ff3965c 100644
@@ -282,9 +282,6 @@ CONFIG_BT_HCIUART_BCSP=y
 CONFIG_BT_HCIBCM203X=m
 CONFIG_BT_HCIBPA10X=m
 CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
 CONFIG_BT_HCIVHCI=m
 CONFIG_CFG80211=m
 CONFIG_MAC80211=m
drivers/bluetooth/Kconfig +0 -40
index fc1b37044a9b..4e8c24d757e9 100644
@@ -337,46 +337,6 @@ config BT_HCIBFUSB
 	  Say Y here to compile support for HCI BFUSB devices into the
 	  kernel or say M to compile it as module (bfusb).
 
-config BT_HCIDTL1
-	tristate "HCI DTL1 (PC Card) driver"
-	depends on PCMCIA && HAS_IOPORT
-	help
-	  Bluetooth HCI DTL1 (PC Card) driver.
-	  This driver provides support for Bluetooth PCMCIA devices with
-	  Nokia DTL1 interface:
-	     Nokia Bluetooth Card
-	     Socket Bluetooth CF Card
-
-	  Say Y here to compile support for HCI DTL1 devices into the
-	  kernel or say M to compile it as module (dtl1_cs).
-
-config BT_HCIBT3C
-	tristate "HCI BT3C (PC Card) driver"
-	depends on PCMCIA && HAS_IOPORT
-	select FW_LOADER
-	help
-	  Bluetooth HCI BT3C (PC Card) driver.
-	  This driver provides support for Bluetooth PCMCIA devices with
-	  3Com BT3C interface:
-	     3Com Bluetooth Card (3CRWB6096)
-	     HP Bluetooth Card
-
-	  Say Y here to compile support for HCI BT3C devices into the
-	  kernel or say M to compile it as module (bt3c_cs).
-
-config BT_HCIBLUECARD
-	tristate "HCI BlueCard (PC Card) driver"
-	depends on PCMCIA && HAS_IOPORT
-	help
-	  Bluetooth HCI BlueCard (PC Card) driver.
-	  This driver provides support for Bluetooth PCMCIA devices with
-	  Anycom BlueCard interface:
-	     Anycom Bluetooth PC Card
-	     Anycom Bluetooth CF Card
-
-	  Say Y here to compile support for HCI BlueCard devices into the
-	  kernel or say M to compile it as module (bluecard_cs).
-
 config BT_HCIVHCI
 	tristate "HCI VHCI (Virtual HCI device) driver"
 	select WANT_DEV_COREDUMP
drivers/bluetooth/Makefile +0 -3
index 81856512ddd0..bafc26250b63 100644
@@ -9,9 +9,6 @@ obj-$(CONFIG_BT_HCIBCM203X)	+= bcm203x.o
 obj-$(CONFIG_BT_HCIBCM4377)	+= hci_bcm4377.o
 obj-$(CONFIG_BT_HCIBPA10X)	+= bpa10x.o
 obj-$(CONFIG_BT_HCIBFUSB)	+= bfusb.o
-obj-$(CONFIG_BT_HCIDTL1)	+= dtl1_cs.o
-obj-$(CONFIG_BT_HCIBT3C)	+= bt3c_cs.o
-obj-$(CONFIG_BT_HCIBLUECARD)	+= bluecard_cs.o
 
 obj-$(CONFIG_BT_HCIBTUSB)	+= btusb.o
 obj-$(CONFIG_BT_HCIBTSDIO)	+= btsdio.o
drivers/bluetooth/bluecard_cs.c deleted +0 -908

908 lines not on this page · raw message

drivers/bluetooth/bt3c_cs.c deleted +0 -749

749 lines not on this page · raw message

drivers/bluetooth/dtl1_cs.c deleted +0 -614

614 lines not on this page · raw message

Signature · 1 line
2.43.0
#1 lore raw

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1088873

---Test result---

Test Summary:

CheckPatch                    FAIL      2.54 seconds
GitLint                       FAIL      0.23 seconds
SubjectPrefix                 FAIL      0.08 seconds
BuildKernel                   PASS      26.12 seconds
CheckAllWarning               PASS      29.00 seconds
CheckSparse                   PASS      27.51 seconds
BuildKernel32                 PASS      25.41 seconds
TestRunnerSetup               PASS      573.71 seconds
TestRunner_l2cap-tester       FAIL      6.60 seconds
TestRunner_iso-tester         PASS      295.80 seconds
TestRunner_bnep-tester        FAIL      6.69 seconds
TestRunner_mgmt-tester        FAIL      8.93 seconds
TestRunner_rfcomm-tester      PASS      29.00 seconds
TestRunner_sco-tester         PASS      66.20 seconds
TestRunner_ioctl-tester       FAIL      37.46 seconds
TestRunner_mesh-tester        PASS      27.03 seconds
TestRunner_smp-tester         PASS      6.68 seconds
TestRunner_userchan-tester    FAIL      6.77 seconds
TestRunner_6lowpan-tester     PASS      23.02 seconds
IncrementalBuild              PASS      25.68 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script
Output:
[bluetooth-next,v2] bluetooth: remove all PCMCIA drivers
WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?) #135:
[1] https://lore.kernel.org/all/[email protected]/

WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #309:
deleted file mode 100644

total: 0 errors, 2 warnings, 109 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/patch/14551781.patch has style problems, please review.

NOTE: Ignored message types: UNKNOWN_COMMIT_ID

NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.

##############################
Test: GitLint - FAIL
Desc: Run gitlint
Output:
[bluetooth-next,v2] bluetooth: remove all PCMCIA drivers

WARNING: I3 - ignore-body-lines: gitlint will be switching from using Python regex 'match' (match beginning) to 'search' (match anywhere) semantics. Please review your ignore-body-lines.regex option accordingly. To remove this warning, set general.regex-style-search=True. More details: https://jorisroovers.github.io/gitlint/configuration/#regex-style-search
24: B1 Line exceeds max length (86>80): "[1] https://lore.kernel.org/all/[email protected]/"
##############################
Test: SubjectPrefix - FAIL
Desc: Check subject contains "Bluetooth" prefix
Output:
"Bluetooth: " prefix is not specified in the subject
##############################
Test: TestRunner_l2cap-tester - FAIL
Desc: Run l2cap-tester with test-runner
Output:
No test result found
##############################
Test: TestRunner_bnep-tester - FAIL
Desc: Run bnep-tester with test-runner
Output:
No test result found
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
No test result found
##############################
Test: TestRunner_ioctl-tester - FAIL
Desc: Run ioctl-tester with test-runner
Output:
Total: 28, Passed: 0 (0.0%), Failed: 11, Not Run: 17

Failed Test Cases

Device List                                          Timed out  -30.832 seconds
Device Info                                          Timed out   -6.180 seconds
Reset Stat                                           Timed out   -6.183 seconds
Set Link Mode - ACCEPT                               Timed out   -6.186 seconds
Set Pkt Type - DM                                    Timed out  -14.376 seconds
Set Pkt Type - DH                                    Timed out  -14.379 seconds
Set Pkt Type - HV                                    Timed out  -14.382 seconds
Set Pkt Type - 2-DH                                  Timed out  -14.385 seconds
Set Pkt Type - 2-DH                                  Timed out  -14.389 seconds
Set Pkt Type - ALL                                   Timed out  -14.392 seconds
Set ACL MTU - 1                                      Timed out  -14.395 seconds

##############################
Test: TestRunner_userchan-tester - FAIL
Desc: Run userchan-tester with test-runner
Output:
No test result found

https://github.com/bluez/bluetooth-next/pull/141

---
Regards,
Linux Bluetooth

#2 lore raw
In reply to Ethan Nelson-Moore
This patch was applied to bluetooth/bluetooth-next.git (master) by Luiz Augusto von Dentz <[email protected]>:

Hello:

This patch was applied to bluetooth/bluetooth-next.git (master) by Luiz Augusto von Dentz <[email protected]>:

Quoted 10 lines · On Sat, 2 May 2026 20:31:21 -0700 you wrote:

PCMCIA is almost completely obsolete (the last computers supporting it natively were from ~2009), and the general consensus [1] seems to be that support for it should be gradually removed from the kernel.

In 2023, an initial step of removing all the PCMCIA char drivers was taken in commit 9b12f050c76f ("char: pcmcia: remove all the drivers"), and that has not been reverted, so it seems logical to continue this process by removing more low-hanging fruit.

[...]

Here is the summary with links:
- [bluetooth-next,v2] bluetooth: remove all PCMCIA drivers

    https://git.kernel.org/bluetooth/bluetooth-next/c/88cb3906d295

You are awesome, thank you!

Signature · 2 lines
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html