diff mbox series

[BlueZ,v1,2/2] build: Remove wiimote plugin

Message ID 20250107154208.1414463-2-luiz.dentz@gmail.com
State New
Headers show
Series [BlueZ,v1,1/2] autopair: Move handling of wii controllers | expand

Commit Message

Luiz Augusto von Dentz Jan. 7, 2025, 3:42 p.m. UTC
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

---
 Makefile.plugins  |   3 --
 plugins/wiimote.c | 130 ----------------------------------------------
 2 files changed, 133 deletions(-)
 delete mode 100644 plugins/wiimote.c
diff mbox series

Patch

diff --git a/Makefile.plugins b/Makefile.plugins
index 9da29a3ce43a..7644041b3b6d 100644
--- a/Makefile.plugins
+++ b/Makefile.plugins
@@ -2,9 +2,6 @@ 
 builtin_modules += hostname
 builtin_sources += plugins/hostname.c
 
-builtin_modules += wiimote
-builtin_sources += plugins/wiimote.c
-
 builtin_modules += autopair
 builtin_sources += plugins/autopair.c
 
diff --git a/plugins/wiimote.c b/plugins/wiimote.c
deleted file mode 100644
index 9c4e0a58b0c8..000000000000
--- a/plugins/wiimote.c
+++ /dev/null
@@ -1,130 +0,0 @@ 
-// SPDX-License-Identifier: GPL-2.0-or-later
-/*
- *
- *  BlueZ - Bluetooth protocol stack for Linux
- *
- *  Copyright (C) 2011-2012 David Herrmann <dh.herrmann@googlemail.com>
- *
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdbool.h>
-
-#include <glib.h>
-
-#include "bluetooth/bluetooth.h"
-#include "bluetooth/sdp.h"
-
-#include "src/plugin.h"
-#include "src/adapter.h"
-#include "src/device.h"
-#include "src/log.h"
-#include "src/storage.h"
-
-/*
- * Nintendo Wii Remote devices require the bdaddr of the host as pin input for
- * authentication. This plugin registers a pin-callback and forces this pin
- * to be used for authentication.
- *
- * There are two ways to place the wiimote into discoverable mode.
- *  - Pressing the red-sync button on the back of the wiimote. This module
- *    supports pairing via this method. Auto-reconnect should be possible after
- *    the device was paired once.
- *  - Pressing the 1+2 buttons on the front of the wiimote. This module does
- *    not support this method since this method never enables auto-reconnect.
- *    Hence, pairing is not needed. Use it without pairing if you want.
- * After connecting the wiimote you should immediately connect to the input
- * service of the wiimote. If you don't, the wiimote will close the connection.
- * The wiimote waits about 5 seconds until it turns off again.
- * Auto-reconnect is only enabled when pairing with the wiimote via the red
- * sync-button and then connecting to the input service. If you do not connect
- * to the input service, then auto-reconnect is not enabled.
- * If enabled, the wiimote connects to the host automatically when any button
- * is pressed.
- */
-
-static uint16_t wii_ids[][2] = {
-	{ 0x057e, 0x0306 },		/* 1st gen */
-	{ 0x054c, 0x0306 },		/* LEGO wiimote */
-	{ 0x057e, 0x0330 },		/* 2nd gen */
-};
-
-static const char *wii_names[] = {
-	"Nintendo RVL-CNT-01",		/* 1st gen */
-	"Nintendo RVL-CNT-01-TR",	/* 2nd gen */
-	"Nintendo RVL-CNT-01-UC",	/* Wii U Pro Controller */
-	"Nintendo RVL-WBC-01",		/* Balance Board */
-};
-
-static ssize_t wii_pincb(struct btd_adapter *adapter, struct btd_device *device,
-						char *pinbuf, bool *display,
-						unsigned int attempt)
-{
-	uint16_t vendor, product;
-	char addr[18], name[25];
-	unsigned int i;
-
-	/* Only try the pin code once per device. If it's not correct then it's
-	 * an unknown device. */
-	if (attempt > 1)
-		return 0;
-
-	ba2str(device_get_address(device), addr);
-
-	vendor = btd_device_get_vendor(device);
-	product = btd_device_get_product(device);
-
-	device_get_name(device, name, sizeof(name));
-
-	for (i = 0; i < G_N_ELEMENTS(wii_ids); ++i) {
-		if (vendor == wii_ids[i][0] && product == wii_ids[i][1])
-			goto found;
-	}
-
-	for (i = 0; i < G_N_ELEMENTS(wii_names); ++i) {
-		if (g_str_equal(name, wii_names[i]))
-			goto found;
-	}
-
-	return 0;
-
-found:
-	DBG("Forcing fixed pin on detected wiimote %s", addr);
-	memcpy(pinbuf, btd_adapter_get_address(adapter), 6);
-	return 6;
-}
-
-static int wii_probe(struct btd_adapter *adapter)
-{
-	btd_adapter_register_pin_cb(adapter, wii_pincb);
-
-	return 0;
-}
-
-static void wii_remove(struct btd_adapter *adapter)
-{
-	btd_adapter_unregister_pin_cb(adapter, wii_pincb);
-}
-
-static struct btd_adapter_driver wii_driver = {
-	.name	= "wiimote",
-	.probe	= wii_probe,
-	.remove	= wii_remove,
-};
-
-static int wii_init(void)
-{
-	return btd_register_adapter_driver(&wii_driver);
-}
-
-static void wii_exit(void)
-{
-	btd_unregister_adapter_driver(&wii_driver);
-}
-
-BLUETOOTH_PLUGIN_DEFINE(wiimote, VERSION,
-		BLUETOOTH_PLUGIN_PRIORITY_LOW, wii_init, wii_exit)