diff mbox series

Input: joystick - work around "adi" module name confict

Message ID 20200609100643.1245061-1-arnd@arndb.de
State Accepted
Commit 751ad34fbad74c3ed4a9ede24764b4253d4faa84
Headers show
Series Input: joystick - work around "adi" module name confict | expand

Commit Message

Arnd Bergmann June 9, 2020, 10:06 a.m. UTC
Making module name conflicts a fatal error breaks sparc64
allmodconfig:

Error log:
error: the following would cause module name conflict:
  drivers/char/adi.ko
  drivers/input/joystick/adi.ko

Renaming one of the modules would solve the problem, but then cause other
problems because neither of them is automatically loaded and changing
the name is likely to break any setup that relies on manually loading
it by name.

As there is probably no sparc64 system with this kind of ancient joystick
attached, work around it by adding a Kconfig dependency that forbids
them from both being modules.  It is still possible to build the joystick
driver if the sparc64 adi driver is built-in.

Reported-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
This should get merged through the kbuild tree together
with the patch that turns the warning into an error, if the
joystick maintainers are ok with the hack.
---
 drivers/input/joystick/Kconfig | 1 +
 1 file changed, 1 insertion(+)

-- 
2.26.2

Comments

Guenter Roeck June 9, 2020, 1:52 p.m. UTC | #1
On 6/9/20 3:06 AM, Arnd Bergmann wrote:
> Making module name conflicts a fatal error breaks sparc64

> allmodconfig:

> 

> Error log:

> error: the following would cause module name conflict:

>   drivers/char/adi.ko

>   drivers/input/joystick/adi.ko

> 

> Renaming one of the modules would solve the problem, but then cause other

> problems because neither of them is automatically loaded and changing

> the name is likely to break any setup that relies on manually loading

> it by name.

> 

> As there is probably no sparc64 system with this kind of ancient joystick

> attached, work around it by adding a Kconfig dependency that forbids

> them from both being modules.  It is still possible to build the joystick

> driver if the sparc64 adi driver is built-in.

> 

> Reported-by: Guenter Roeck <linux@roeck-us.net>

> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

> Cc: Masahiro Yamada <masahiroy@kernel.org>

> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>

> Cc: linux-input@vger.kernel.org

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>


Reviewed-by: Guenter Roeck <linux@roeck-us.net>


> ---

> This should get merged through the kbuild tree together

> with the patch that turns the warning into an error, if the

> joystick maintainers are ok with the hack.

> ---

>  drivers/input/joystick/Kconfig | 1 +

>  1 file changed, 1 insertion(+)

> 

> diff --git a/drivers/input/joystick/Kconfig b/drivers/input/joystick/Kconfig

> index 940b744639c7..6f73f02059b5 100644

> --- a/drivers/input/joystick/Kconfig

> +++ b/drivers/input/joystick/Kconfig

> @@ -45,6 +45,7 @@ config JOYSTICK_A3D

>  config JOYSTICK_ADI

>  	tristate "Logitech ADI digital joysticks and gamepads"

>  	select GAMEPORT

> +	depends on ADI!=m # avoid module name conflict

>  	help

>  	  Say Y here if you have a Logitech controller using the ADI

>  	  protocol over the PC gameport.

>
Masahiro Yamada June 11, 2020, 11:05 a.m. UTC | #2
On Tue, Jun 9, 2020 at 7:07 PM Arnd Bergmann <arnd@arndb.de> wrote:
>

> Making module name conflicts a fatal error breaks sparc64

> allmodconfig:

>

> Error log:

> error: the following would cause module name conflict:

>   drivers/char/adi.ko

>   drivers/input/joystick/adi.ko

>

> Renaming one of the modules would solve the problem, but then cause other

> problems because neither of them is automatically loaded and changing

> the name is likely to break any setup that relies on manually loading

> it by name.

>

> As there is probably no sparc64 system with this kind of ancient joystick

> attached, work around it by adding a Kconfig dependency that forbids

> them from both being modules.  It is still possible to build the joystick

> driver if the sparc64 adi driver is built-in.

>

> Reported-by: Guenter Roeck <linux@roeck-us.net>

> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

> Cc: Masahiro Yamada <masahiroy@kernel.org>

> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>

> Cc: linux-input@vger.kernel.org

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

> ---

> This should get merged through the kbuild tree together

> with the patch that turns the warning into an error, if the

> joystick maintainers are ok with the hack.


Note:
Dmitry picked up this patch.
(commit 751ad34fbad74c3ed4a9ede24764b4253d4faa84)





> ---

>  drivers/input/joystick/Kconfig | 1 +

>  1 file changed, 1 insertion(+)

>

> diff --git a/drivers/input/joystick/Kconfig b/drivers/input/joystick/Kconfig

> index 940b744639c7..6f73f02059b5 100644

> --- a/drivers/input/joystick/Kconfig

> +++ b/drivers/input/joystick/Kconfig

> @@ -45,6 +45,7 @@ config JOYSTICK_A3D

>  config JOYSTICK_ADI

>         tristate "Logitech ADI digital joysticks and gamepads"

>         select GAMEPORT

> +       depends on ADI!=m # avoid module name conflict

>         help

>           Say Y here if you have a Logitech controller using the ADI

>           protocol over the PC gameport.

> --

> 2.26.2

>



-- 
Best Regards
Masahiro Yamada
diff mbox series

Patch

diff --git a/drivers/input/joystick/Kconfig b/drivers/input/joystick/Kconfig
index 940b744639c7..6f73f02059b5 100644
--- a/drivers/input/joystick/Kconfig
+++ b/drivers/input/joystick/Kconfig
@@ -45,6 +45,7 @@  config JOYSTICK_A3D
 config JOYSTICK_ADI
 	tristate "Logitech ADI digital joysticks and gamepads"
 	select GAMEPORT
+	depends on ADI!=m # avoid module name conflict
 	help
 	  Say Y here if you have a Logitech controller using the ADI
 	  protocol over the PC gameport.