diff mbox series

[BlueZ,1/2] input: fix HID compilation w/o HoG

Message ID 20250430143610.387300-2-thomas.perale@mind.be
State New
Headers show
Series fix build error with --enable-hid and --enable-hog options | expand

Commit Message

Thomas Perale April 30, 2025, 2:36 p.m. UTC
Commit [1] introduced a dependency with the HID plugin in the HoG code
As a result, building with --enable-hid --disable-hog caused linker
errors due to undefined references to HoG-related functions:

```
> ./configure --enable-hid --disable-hog
...
> make
...
  CCLD     src/bluetoothd
/usr/bin/ld: profiles/input/bluetoothd-manager.o: in function `input_init':
/home/../bluez/profiles/input/manager.c:122:(.text.input_init+0x1c8): undefined reference to `input_set_auto_sec'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:6376: src/bluetoothd] Error 1
```

This patch moves the `input_set_auto_sec` function to
`profiles/input/device.c` file so it remains defined even when HoG is
disabled.

[1] f2778f587 input: Add LEAutoSecurity setting to input.conf
---
 profiles/input/device.c | 11 +++++++++++
 profiles/input/device.h |  1 +
 profiles/input/hog.c    |  8 +-------
 3 files changed, 13 insertions(+), 7 deletions(-)

Comments

bluez.test.bot@gmail.com April 30, 2025, 4:04 p.m. UTC | #1
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=958549

---Test result---

Test Summary:
CheckPatch                    PENDING   0.28 seconds
GitLint                       PENDING   0.31 seconds
BuildEll                      PASS      20.71 seconds
BluezMake                     PASS      2747.95 seconds
MakeCheck                     PASS      20.77 seconds
MakeDistcheck                 PASS      202.64 seconds
CheckValgrind                 PASS      281.15 seconds
CheckSmatch                   PASS      310.47 seconds
bluezmakeextell               PASS      130.71 seconds
IncrementalBuild              PENDING   0.24 seconds
ScanBuild                     PASS      927.24 seconds

Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:

##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:

##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:



---
Regards,
Linux Bluetooth
diff mbox series

Patch

diff --git a/profiles/input/device.c b/profiles/input/device.c
index a7bc4d44f..d27cfccee 100644
--- a/profiles/input/device.c
+++ b/profiles/input/device.c
@@ -92,6 +92,7 @@  struct input_device {
 static int idle_timeout = 0;
 static uhid_state_t uhid_state = UHID_ENABLED;
 static bool classic_bonded_only = true;
+static bool auto_sec = true;
 
 void input_set_idle_timeout(int timeout)
 {
@@ -127,6 +128,16 @@  bool input_get_classic_bonded_only(void)
 	return classic_bonded_only;
 }
 
+void input_set_auto_sec(bool state)
+{
+	auto_sec = state;
+}
+
+bool input_get_auto_sec(void)
+{
+	return auto_sec;
+}
+
 static void input_device_enter_reconnect_mode(struct input_device *idev);
 static int connection_disconnect(struct input_device *idev, uint32_t flags);
 
diff --git a/profiles/input/device.h b/profiles/input/device.h
index 7b87ce590..9d31fdc51 100644
--- a/profiles/input/device.h
+++ b/profiles/input/device.h
@@ -26,6 +26,7 @@  uint8_t input_get_userspace_hid(void);
 void input_set_classic_bonded_only(bool state);
 bool input_get_classic_bonded_only(void);
 void input_set_auto_sec(bool state);
+bool input_get_auto_sec(void);
 
 int input_device_register(struct btd_service *service);
 void input_device_unregister(struct btd_service *service);
diff --git a/profiles/input/hog.c b/profiles/input/hog.c
index 017e320f0..97224f0d1 100644
--- a/profiles/input/hog.c
+++ b/profiles/input/hog.c
@@ -54,14 +54,8 @@  struct hog_device {
 };
 
 static gboolean suspend_supported = FALSE;
-static bool auto_sec = true;
 static struct queue *devices = NULL;
 
-void input_set_auto_sec(bool state)
-{
-	auto_sec = state;
-}
-
 static void hog_device_accept(struct hog_device *dev, struct gatt_db *db)
 {
 	char name[248];
@@ -187,7 +181,7 @@  static int hog_accept(struct btd_service *service)
 	if (!device_is_bonded(device, btd_device_get_bdaddr_type(device))) {
 		struct bt_gatt_client *client;
 
-		if (!auto_sec)
+		if (!input_get_auto_sec())
 			return -ECONNREFUSED;
 
 		client = btd_device_get_gatt_client(device);