commit: 07fdaff331e3108fb1319577db66b346f00692f2 Author: Sebastian Engel <sighunter <AT> gmx <DOT> de> AuthorDate: Sat Aug 9 22:04:19 2025 +0000 Commit: David Roman <davidroman96 <AT> gmail <DOT> com> CommitDate: Sat Aug 9 22:23:49 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=07fdaff3
games-util/xone: drop 0.3_p20240425 Signed-off-by: Sebastian Engel <sighunter <AT> gmx.de> games-util/xone/Manifest | 1 - .../files/xone-0.3_p20240425-kernel_6.11.patch | 26 ---- .../files/xone-0.3_p20240425-kernel_6.12.patch | 74 ---------- .../files/xone-0.3_p20240425-sysfs_pairing.patch | 163 --------------------- games-util/xone/metadata.xml | 1 - games-util/xone/xone-0.3_p20240425.ebuild | 73 --------- 6 files changed, 338 deletions(-) diff --git a/games-util/xone/Manifest b/games-util/xone/Manifest index de20c5c03b..2516d0c6b0 100644 --- a/games-util/xone/Manifest +++ b/games-util/xone/Manifest @@ -1,5 +1,4 @@ DIST xone-0.3.1.tar.gz 64731 BLAKE2B a55fad3ffc6b53b20a1bf8118a8b4bc6418c0a89e2ffb50b459484d3c4463210634a6db9836bf289b9249d7c2aa3b56dd3e16069efdc4d63fbc4f1e89c088af9 SHA512 fa741765c63cdd57a1428ef304dc2fcecd4b76379ce472c3abcebb7f83c7ac1568e563cd43b4e944dffe1ab314a80f088edb8654d40f9ec1686a74e907b41f6c DIST xone-0.3.3.tar.gz 65259 BLAKE2B 3aa90cf1dff1b70895a2c66b7ea3f68536243cb6ab72a4c7a7fa5ace2e05554844ecdbb7e29ac79747aa876cefa345d0b9c1c9f2e383315abe432faf85abd7b6 SHA512 1f512aba5c781656a8e7d65ce7b5a440c25446092b3ed6cbbeb3a44e091c1eb90d7248aa5a5b7c334131b1f6d1b4bc6d49acb04deb7ecd463df66fce5c051997 -DIST xone-0.3_p20240425.tar.gz 62680 BLAKE2B c4a7a0fa3eb2f53e9213413bca809824f24f8b273093dc65b57b3d3729f1c2805f1477f686d143975cb8f17248a7abed35ae303236cdd7ba4912fec66261efea SHA512 b195b413b41a026a1e802d332b0365b433847176f876cd765368fa7c17b0d4d3c18608697351ecd47381110d4bc62af87de53dcd385ffc8758910bae9761152d DIST xone-driver-201512-20810869_8ce2975a7fbaa06bcfb0d8762a6275a1cf7c1dd3.cab 217326 BLAKE2B 673d1daa4f40be22663be48e4a66de276a92d340d3f6be4793c6e307c336b191785d13854c2deecc619c9f23bf877347836e472ac9d405f562c84923eeeeac5f SHA512 fa2e5a0da4fa10716230d878b846c80049b8d4e09c71143ec5d21770133871dc5811068998062812075ebcdf1a222d1c4f5e7198b2fc755b6aa01573d515ba18 DIST xone-driver-201707-1cd6a87c-623f-4407-a52d-c31be49e925c_e19f60808bdcbfbd3c3df6be3e71ffc52e43261e.cab 199891 BLAKE2B f531a9f4b8220ee4501431b308ee6e29a8dea26467020df25b7fa22228543cc560e1170d13b1cb3490c64c48bf610e3fb7ddfb743e4a2028f5980e02d0c36790 SHA512 0906debd6c1f4706348ec1b1cbf233ea2c45bbc0b8882593740964036808722f5bb701f43da803320609e02072cd16dada572d337fd4c05cc1cf6dde6fd38908 diff --git a/games-util/xone/files/xone-0.3_p20240425-kernel_6.11.patch b/games-util/xone/files/xone-0.3_p20240425-kernel_6.11.patch deleted file mode 100644 index bf881ab395..0000000000 --- a/games-util/xone/files/xone-0.3_p20240425-kernel_6.11.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 28df566c38e0ee500fd5f74643fc35f21a4ff696 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Torleif=20Sk=C3=A5r?= - <[email protected]> -Date: Tue, 30 Jul 2024 22:35:25 +0200 -Subject: [PATCH] fix: build on kernel v6.11 - ---- - bus/bus.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/bus/bus.c b/bus/bus.c -index 4a6c64f..8dc9bbb 100644 ---- a/bus/bus.c -+++ b/bus/bus.c -@@ -56,7 +56,11 @@ static struct device_type gip_client_type = { - .release = gip_client_release, - }; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) - static int gip_bus_match(struct device *dev, struct device_driver *driver) -+#else -+static int gip_bus_match(struct device *dev, const struct device_driver *driver) -+#endif - { - struct gip_client *client; - struct gip_driver *drv; diff --git a/games-util/xone/files/xone-0.3_p20240425-kernel_6.12.patch b/games-util/xone/files/xone-0.3_p20240425-kernel_6.12.patch deleted file mode 100644 index ee7175a9bb..0000000000 --- a/games-util/xone/files/xone-0.3_p20240425-kernel_6.12.patch +++ /dev/null @@ -1,74 +0,0 @@ -From d88ea1e8b430d4b96134e43ca1892ac48334578e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Torleif=20Sk=C3=A5r?= - <[email protected]> -Date: Mon, 30 Sep 2024 21:07:13 +0200 -Subject: [PATCH] fix: build on kernel v6.12 - -Upstream "Drop of obsoloted vmalloc PCM buffer helper API"; -https://lore.kernel.org/all/[email protected]/ - -Code taken from the driver; -https://lore.kernel.org/all/[email protected]/ ---- - driver/headset.c | 30 ++++++++++++++++++++++++++---- - 1 file changed, 26 insertions(+), 4 deletions(-) - -diff --git a/driver/headset.c b/driver/headset.c -index ebee92d..c736351 100644 ---- a/driver/headset.c -+++ b/driver/headset.c -@@ -5,6 +5,7 @@ - - #include <linux/module.h> - #include <linux/hrtimer.h> -+#include <linux/vmalloc.h> - #include <sound/core.h> - #include <sound/initval.h> - #include <sound/pcm.h> -@@ -90,13 +91,34 @@ static int gip_headset_pcm_close(struct snd_pcm_substream *sub) - static int gip_headset_pcm_hw_params(struct snd_pcm_substream *sub, - struct snd_pcm_hw_params *params) - { -- return snd_pcm_lib_alloc_vmalloc_buffer(sub, -- params_buffer_bytes(params)); -+ struct snd_pcm_runtime *runtime = sub->runtime; -+ size_t size = params_buffer_bytes(params); -+ -+ if (runtime->dma_area) { -+ if (runtime->dma_bytes >= size) -+ return 0; /* Already large enough */ -+ vfree(runtime->dma_area); -+ } -+ runtime->dma_area = vzalloc(size); -+ if (!runtime->dma_area) -+ return -ENOMEM; -+ runtime->dma_bytes = size; -+ return 1; - } - - static int gip_headset_pcm_hw_free(struct snd_pcm_substream *sub) - { -- return snd_pcm_lib_free_vmalloc_buffer(sub); -+ struct snd_pcm_runtime *runtime = sub->runtime; -+ -+ vfree(runtime->dma_area); -+ runtime->dma_area = NULL; -+ return 0; -+} -+ -+static struct page *gip_headset_pcm_get_page(struct snd_pcm_substream *sub, -+ unsigned long offset) -+{ -+ return vmalloc_to_page(sub->runtime->dma_area + offset); - } - - static int gip_headset_pcm_prepare(struct snd_pcm_substream *sub) -@@ -157,7 +179,7 @@ static const struct snd_pcm_ops gip_headset_pcm_ops = { - .prepare = gip_headset_pcm_prepare, - .trigger = gip_headset_pcm_trigger, - .pointer = gip_headset_pcm_pointer, -- .page = snd_pcm_lib_get_vmalloc_page, -+ .page = gip_headset_pcm_get_page, - }; - - static bool gip_headset_advance_pointer(struct gip_headset_stream *stream, diff --git a/games-util/xone/files/xone-0.3_p20240425-sysfs_pairing.patch b/games-util/xone/files/xone-0.3_p20240425-sysfs_pairing.patch deleted file mode 100644 index 12603412ff..0000000000 --- a/games-util/xone/files/xone-0.3_p20240425-sysfs_pairing.patch +++ /dev/null @@ -1,163 +0,0 @@ -From 3463d0e2335998c1b94bb1605dc7a6668d4ba262 Mon Sep 17 00:00:00 2001 -From: Daniel Lundqvist <[email protected]> -Date: Thu, 20 Apr 2023 17:12:54 +0200 -Subject: [PATCH 1/2] Revert "Remove dongle pairing sysfs attribute" - -This reverts commit 304da811e94081156376a8e10ff5eee5876c6e41. ---- - README.md | 18 ++++++++++++++++- - transport/dongle.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 67 insertions(+), 1 deletion(-) - -diff --git a/README.md b/README.md -index 8e7c9f1..05181f1 100644 ---- a/README.md -+++ b/README.md -@@ -111,7 +111,9 @@ Xbox devices have to be paired to the wireless dongle. They will not automatical - - Instructions for pairing your devices can be found [here](https://support.xbox.com/en-US/help/hardware-network/controller/connect-xbox-wireless-controller-to-pc) (see the section on *Xbox Wireless*). - --## LED control -+## Kernel interface -+ -+### LED control - - The guide button LED can be controlled via `sysfs`: - -@@ -129,6 +131,20 @@ ACTION=="add", SUBSYSTEM=="leds", KERNEL=="gip*", ATTR{mode}="2", ATTR{brightnes - Replace the wildcard (`gip*`) if you want to control the LED of a specific device. - The modes and the maximum brightness can vary from device to device. - -+### Pairing mode -+ -+The pairing mode of the dongle can be queried via `sysfs`: -+ -+``` -+cat /sys/bus/usb/drivers/xone-dongle/*/pairing -+``` -+ -+You can enable (`1`) or disable (`0`) the pairing using the following command: -+ -+``` -+echo 1 | sudo tee /sys/bus/usb/drivers/xone-dongle/*/pairing -+``` -+ - ## Troubleshooting - - Uninstall the release version and install a debug build of `xone` (see installation guide). -diff --git a/transport/dongle.c b/transport/dongle.c -index aa58ac2..5eb6f9c 100644 ---- a/transport/dongle.c -+++ b/transport/dongle.c -@@ -8,6 +8,7 @@ - #include <linux/bitfield.h> - #include <linux/version.h> - #include <linux/usb.h> -+#include <linux/sysfs.h> - #include <linux/ieee80211.h> - #include <net/cfg80211.h> - -@@ -262,6 +263,47 @@ static void xone_dongle_pairing_timeout(struct work_struct *work) - __func__, err); - } - -+static ssize_t xone_dongle_pairing_show(struct device *dev, -+ struct device_attribute *attr, -+ char *buf) -+{ -+ struct usb_interface *intf = to_usb_interface(dev); -+ struct xone_dongle *dongle = usb_get_intfdata(intf); -+ -+ return sprintf(buf, "%d\n", dongle->pairing); -+} -+ -+static ssize_t xone_dongle_pairing_store(struct device *dev, -+ struct device_attribute *attr, -+ const char *buf, size_t count) -+{ -+ struct usb_interface *intf = to_usb_interface(dev); -+ struct xone_dongle *dongle = usb_get_intfdata(intf); -+ bool enable; -+ int err; -+ -+ err = kstrtobool(buf, &enable); -+ if (err) -+ return err; -+ -+ err = xone_dongle_toggle_pairing(dongle, enable); -+ if (err) -+ return err; -+ -+ return count; -+} -+ -+static struct device_attribute xone_dongle_attr_pairing = -+ __ATTR(pairing, 0644, -+ xone_dongle_pairing_show, -+ xone_dongle_pairing_store); -+ -+static struct attribute *xone_dongle_attrs[] = { -+ &xone_dongle_attr_pairing.attr, -+ NULL, -+}; -+ATTRIBUTE_GROUPS(xone_dongle); -+ - static struct xone_dongle_client * - xone_dongle_create_client(struct xone_dongle *dongle, u8 *addr) - { -@@ -942,6 +984,12 @@ static int xone_dongle_probe(struct usb_interface *intf, - - usb_set_intfdata(intf, dongle); - -+ err = device_add_groups(&intf->dev, xone_dongle_groups); -+ if (err) { -+ xone_dongle_destroy(dongle); -+ return err; -+ } -+ - /* enable USB remote wakeup and autosuspend */ - intf->needs_remote_wakeup = true; - device_wakeup_enable(&dongle->mt.udev->dev); -@@ -957,6 +1005,8 @@ static void xone_dongle_disconnect(struct usb_interface *intf) - struct xone_dongle *dongle = usb_get_intfdata(intf); - int err; - -+ device_remove_groups(&intf->dev, xone_dongle_groups); -+ - /* can fail during USB device removal */ - err = xone_dongle_power_off_clients(dongle); - if (err) - -From 810bdccb08cbebd610de76a4da210e02920c535b Mon Sep 17 00:00:00 2001 -From: Daniel Lundqvist <[email protected]> -Date: Fri, 19 May 2023 16:13:30 +0200 -Subject: [PATCH 2/2] usb: Resume adapter before trying to enable pairing via - sysfs - -If device is suspended, enabling pairing will fail. Make sure device -is resumed before trying. ---- - transport/dongle.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/transport/dongle.c b/transport/dongle.c -index 5eb6f9c..243bf02 100644 ---- a/transport/dongle.c -+++ b/transport/dongle.c -@@ -286,10 +286,16 @@ static ssize_t xone_dongle_pairing_store(struct device *dev, - if (err) - return err; - -+ err = pm_runtime_resume_and_get(dev); -+ if (err) -+ return err; -+ - err = xone_dongle_toggle_pairing(dongle, enable); - if (err) - return err; - -+ pm_runtime_put(dev); -+ - return count; - } - diff --git a/games-util/xone/metadata.xml b/games-util/xone/metadata.xml index d336ace843..d4426cad2e 100644 --- a/games-util/xone/metadata.xml +++ b/games-util/xone/metadata.xml @@ -6,7 +6,6 @@ <name>Sebastian Engel</name> </maintainer> <upstream> - <remote-id type="github">medusalix/xone</remote-id> <remote-id type="github">dlundqvist/xone</remote-id> </upstream> <longdescription> diff --git a/games-util/xone/xone-0.3_p20240425.ebuild b/games-util/xone/xone-0.3_p20240425.ebuild deleted file mode 100644 index 4936a742d1..0000000000 --- a/games-util/xone/xone-0.3_p20240425.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit linux-mod-r1 - -COMMIT="29ec3577e52a50f876440c81267f609575c5161e" -XONE_DRIVER_VERSION="201707-1cd6a87c-623f-4407-a52d-c31be49e925c_e19f60808bdcbfbd3c3df6be3e71ffc52e43261e" - -DESCRIPTION="Linux kernel driver for Xbox One and Xbox Series X|S accessories" -HOMEPAGE="https://github.com/medusalix/xone" -SRC_URI=" - mirror+https://github.com/medusalix/xone/archive/${COMMIT}.tar.gz -> ${P}.tar.gz - http://download.windowsupdate.com/c/msdownload/update/driver/drvs/${XONE_DRIVER_VERSION:0:4}/${XONE_DRIVER_VERSION:4:2}/${XONE_DRIVER_VERSION:7}.cab - -> ${PN}-driver-${XONE_DRIVER_VERSION}.cab -" -S="${WORKDIR}/${PN}-${COMMIT}" - -LICENSE="GPL-2+ MS-TOU" -SLOT="0" -KEYWORDS="~amd64" - -RESTRICT="bindist mirror test" - -BDEPEND="app-arch/cabextract" - -CONFIG_CHECK="SND CFG80211 INPUT_FF_MEMLESS USB POWER_SUPPLY LEDS_CLASS HID" -MODULES_KERNEL_MIN=5.11 -PATCHES=( - "${FILESDIR}/${PN}-0.3_p20240425-kernel_6.11.patch" - "${FILESDIR}/${PN}-0.3_p20240425-kernel_6.12.patch" - "${FILESDIR}/${PN}-0.3_p20240425-sysfs_pairing.patch" -) - -src_unpack() { - unpack ${P}.tar.gz - - cabextract -F FW_ACC_00U.bin -d "${S}" "${DISTDIR}/${PN}-driver-${XONE_DRIVER_VERSION}.cab" > /dev/null \ - || die "Failed to unpack driver" -} - -src_prepare() { - cp "${FILESDIR}/Makefile" "${S}" || die - default -} - -src_compile() { - local modlist=( - xone-wired=kernel/drivers/input/joystick - xone-dongle=kernel/drivers/input/joystick - xone-gip=kernel/drivers/input/joystick - xone-gip-gamepad=kernel/drivers/input/joystick - xone-gip-headset=kernel/drivers/input/joystick - xone-gip-chatpad=kernel/drivers/input/joystick - xone-gip-madcatz-strat=kernel/drivers/input/joystick - - ) - - linux-mod-r1_src_compile -} - -src_install() { - linux-mod-r1_src_install - - einfo "Installing module blacklist" - insinto /etc/modprobe.d/ - newins "${S}"/install/modprobe.conf xone-blacklist.conf - - einfo "Installing Microsoft binary firmware" - insinto /lib/firmware/ - newins "${S}"/FW_ACC_00U.bin xow_dongle.bin -}
