mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 08:21:14 +00:00
58acb1dd2c
This adds a bunch of patches for the v6.1 Gemini kernel. For v5.15 this was down to a single upstream patch, but for kernel v6.2 I reworked the USB code for FOTG210, so instead of carrying over the half-baked and incomplete patch from v5.15 I just backported all the v6.2 patches, 31 in total, as it creates full device USB mode for e.g. D-Link DNS-313. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
40 lines
1.5 KiB
Diff
40 lines
1.5 KiB
Diff
From d8eed400495029ba551704ff0fae1dad87332291 Mon Sep 17 00:00:00 2001
|
|
From: Arnd Bergmann <arnd@arndb.de>
|
|
Date: Thu, 15 Dec 2022 17:57:20 +0100
|
|
Subject: [PATCH 14/29] usb: fotg210: fix OTG-only build
|
|
|
|
The fotg210 module combines the HCD and OTG drivers, which then
|
|
fails to build when only the USB gadget support is enabled
|
|
in the kernel but host support is not:
|
|
|
|
aarch64-linux-ld: drivers/usb/fotg210/fotg210-core.o: in function `fotg210_init':
|
|
fotg210-core.c:(.init.text+0xc): undefined reference to `usb_disabled'
|
|
|
|
Move the check for usb_disabled() after the check for the HCD module,
|
|
and let the OTG driver still be probed in this configuration.
|
|
|
|
A nicer approach might be to have the common portion built as a
|
|
library module, with the two platform other files registering
|
|
their own platform_driver instances separately.
|
|
|
|
Fixes: ddacd6ef44ca ("usb: fotg210: Fix Kconfig for USB host modules")
|
|
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
|
|
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
Link: https://lore.kernel.org/r/20221215165728.2062984-1-arnd@kernel.org
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
---
|
|
--- a/drivers/usb/fotg210/fotg210-core.c
|
|
+++ b/drivers/usb/fotg210/fotg210-core.c
|
|
@@ -144,10 +144,7 @@ static struct platform_driver fotg210_dr
|
|
|
|
static int __init fotg210_init(void)
|
|
{
|
|
- if (usb_disabled())
|
|
- return -ENODEV;
|
|
-
|
|
- if (IS_ENABLED(CONFIG_USB_FOTG210_HCD))
|
|
+ if (IS_ENABLED(CONFIG_USB_FOTG210_HCD) && !usb_disabled())
|
|
fotg210_hcd_init();
|
|
return platform_driver_register(&fotg210_driver);
|
|
}
|