2020-12-03 23:20:14

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] media: rc: select CONFIG_BITREVERSE where needed

From: Arnd Bergmann <[email protected]>

A number of remote control drivers require the bitreverse
helper, and run into a link error when it is disabled:

arm-linux-gnueabi-ld: drivers/media/rc/img-ir/img-ir-nec.o: in function `img_ir_nec_scancode':
img-ir-nec.c:(.text+0x10c): undefined reference to `byte_rev_table'
arm-linux-gnueabi-ld: drivers/media/rc/img-ir/img-ir-nec.o: in function `img_ir_nec_filter':
img-ir-nec.c:(.text+0x2dc): undefined reference to `byte_rev_table'
arm-linux-gnueabi-ld: drivers/media/usb/cx231xx/cx231xx-input.o: in function `get_key_isdbt':
cx231xx-input.c:(.text+0x38c): undefined reference to `byte_rev_table'
arm-linux-gnueabi-ld: drivers/media/usb/em28xx/em28xx-input.o: in function `em28xx_get_key_em_haup':
em28xx-input.c:(.text+0x1704): undefined reference to `byte_rev_table'

Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/media/rc/Kconfig | 2 ++
drivers/media/rc/img-ir/Kconfig | 1 +
drivers/media/usb/cx231xx/Kconfig | 1 +
drivers/media/usb/em28xx/Kconfig | 1 +
4 files changed, 5 insertions(+)

diff --git a/drivers/media/rc/Kconfig b/drivers/media/rc/Kconfig
index 2c0ee2e5b446..8a4b4040be45 100644
--- a/drivers/media/rc/Kconfig
+++ b/drivers/media/rc/Kconfig
@@ -92,6 +92,7 @@ config IR_SONY_DECODER
config IR_SANYO_DECODER
tristate "Enable IR raw decoder for the Sanyo protocol"
depends on RC_CORE
+ select BITREVERSE

help
Enable this option if you have an infrared remote control which
@@ -101,6 +102,7 @@ config IR_SANYO_DECODER
config IR_SHARP_DECODER
tristate "Enable IR raw decoder for the Sharp protocol"
depends on RC_CORE
+ select BITREVERSE

help
Enable this option if you have an infrared remote control which
diff --git a/drivers/media/rc/img-ir/Kconfig b/drivers/media/rc/img-ir/Kconfig
index 5c0508f2719f..a80cfcd87a95 100644
--- a/drivers/media/rc/img-ir/Kconfig
+++ b/drivers/media/rc/img-ir/Kconfig
@@ -30,6 +30,7 @@ config IR_IMG_HW
config IR_IMG_NEC
bool "NEC protocol support"
depends on IR_IMG_HW
+ select BITREVERSE
help
Say Y here to enable support for the NEC, extended NEC, and 32-bit
NEC protocols in the ImgTec infrared decoder block.
diff --git a/drivers/media/usb/cx231xx/Kconfig b/drivers/media/usb/cx231xx/Kconfig
index 2fe2b2d335ba..b80661b8375f 100644
--- a/drivers/media/usb/cx231xx/Kconfig
+++ b/drivers/media/usb/cx231xx/Kconfig
@@ -18,6 +18,7 @@ config VIDEO_CX231XX_RC
bool "Conexant cx231xx Remote Controller additional support"
depends on RC_CORE=y || RC_CORE=VIDEO_CX231XX
depends on VIDEO_CX231XX
+ select BITREVERSE
default y
help
cx231xx hardware has a builtin RX/TX support. However, a few
diff --git a/drivers/media/usb/em28xx/Kconfig b/drivers/media/usb/em28xx/Kconfig
index f2031a933e54..8a24731b373a 100644
--- a/drivers/media/usb/em28xx/Kconfig
+++ b/drivers/media/usb/em28xx/Kconfig
@@ -77,5 +77,6 @@ config VIDEO_EM28XX_RC
depends on VIDEO_EM28XX
depends on !(RC_CORE=m && VIDEO_EM28XX=y)
default VIDEO_EM28XX
+ select BITREVERSE
help
Enables Remote Controller support on em28xx driver.
--
2.27.0


2021-01-19 15:18:00

by Sean Young

[permalink] [raw]
Subject: Re: [PATCH] media: rc: select CONFIG_BITREVERSE where needed

On Fri, Dec 04, 2020 at 12:17:03AM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> A number of remote control drivers require the bitreverse
> helper, and run into a link error when it is disabled:
>
> arm-linux-gnueabi-ld: drivers/media/rc/img-ir/img-ir-nec.o: in function `img_ir_nec_scancode':
> img-ir-nec.c:(.text+0x10c): undefined reference to `byte_rev_table'
> arm-linux-gnueabi-ld: drivers/media/rc/img-ir/img-ir-nec.o: in function `img_ir_nec_filter':
> img-ir-nec.c:(.text+0x2dc): undefined reference to `byte_rev_table'
> arm-linux-gnueabi-ld: drivers/media/usb/cx231xx/cx231xx-input.o: in function `get_key_isdbt':
> cx231xx-input.c:(.text+0x38c): undefined reference to `byte_rev_table'
> arm-linux-gnueabi-ld: drivers/media/usb/em28xx/em28xx-input.o: in function `em28xx_get_key_em_haup':
> em28xx-input.c:(.text+0x1704): undefined reference to `byte_rev_table'
>
Acked-by: Sean Young <[email protected]>

Thanks

Sean

> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> drivers/media/rc/Kconfig | 2 ++
> drivers/media/rc/img-ir/Kconfig | 1 +
> drivers/media/usb/cx231xx/Kconfig | 1 +
> drivers/media/usb/em28xx/Kconfig | 1 +
> 4 files changed, 5 insertions(+)
>
> diff --git a/drivers/media/rc/Kconfig b/drivers/media/rc/Kconfig
> index 2c0ee2e5b446..8a4b4040be45 100644
> --- a/drivers/media/rc/Kconfig
> +++ b/drivers/media/rc/Kconfig
> @@ -92,6 +92,7 @@ config IR_SONY_DECODER
> config IR_SANYO_DECODER
> tristate "Enable IR raw decoder for the Sanyo protocol"
> depends on RC_CORE
> + select BITREVERSE
>
> help
> Enable this option if you have an infrared remote control which
> @@ -101,6 +102,7 @@ config IR_SANYO_DECODER
> config IR_SHARP_DECODER
> tristate "Enable IR raw decoder for the Sharp protocol"
> depends on RC_CORE
> + select BITREVERSE
>
> help
> Enable this option if you have an infrared remote control which
> diff --git a/drivers/media/rc/img-ir/Kconfig b/drivers/media/rc/img-ir/Kconfig
> index 5c0508f2719f..a80cfcd87a95 100644
> --- a/drivers/media/rc/img-ir/Kconfig
> +++ b/drivers/media/rc/img-ir/Kconfig
> @@ -30,6 +30,7 @@ config IR_IMG_HW
> config IR_IMG_NEC
> bool "NEC protocol support"
> depends on IR_IMG_HW
> + select BITREVERSE
> help
> Say Y here to enable support for the NEC, extended NEC, and 32-bit
> NEC protocols in the ImgTec infrared decoder block.
> diff --git a/drivers/media/usb/cx231xx/Kconfig b/drivers/media/usb/cx231xx/Kconfig
> index 2fe2b2d335ba..b80661b8375f 100644
> --- a/drivers/media/usb/cx231xx/Kconfig
> +++ b/drivers/media/usb/cx231xx/Kconfig
> @@ -18,6 +18,7 @@ config VIDEO_CX231XX_RC
> bool "Conexant cx231xx Remote Controller additional support"
> depends on RC_CORE=y || RC_CORE=VIDEO_CX231XX
> depends on VIDEO_CX231XX
> + select BITREVERSE
> default y
> help
> cx231xx hardware has a builtin RX/TX support. However, a few
> diff --git a/drivers/media/usb/em28xx/Kconfig b/drivers/media/usb/em28xx/Kconfig
> index f2031a933e54..8a24731b373a 100644
> --- a/drivers/media/usb/em28xx/Kconfig
> +++ b/drivers/media/usb/em28xx/Kconfig
> @@ -77,5 +77,6 @@ config VIDEO_EM28XX_RC
> depends on VIDEO_EM28XX
> depends on !(RC_CORE=m && VIDEO_EM28XX=y)
> default VIDEO_EM28XX
> + select BITREVERSE
> help
> Enables Remote Controller support on em28xx driver.
> --
> 2.27.0