media: rc: select CONFIG_BITREVERSE where needed

Message ID 20201203231714.1484408-1-arnd@kernel.org (mailing list archive)
State Accepted, archived
Delegated to: Hans Verkuil
Headers
Series media: rc: select CONFIG_BITREVERSE where needed |

Commit Message

Arnd Bergmann Dec. 3, 2020, 11:17 p.m. UTC
  From: Arnd Bergmann <arnd@arndb.de>

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 <arnd@arndb.de>
---
 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(+)
  

Comments

Sean Young Jan. 19, 2021, 2:54 p.m. UTC | #1
On Fri, Dec 04, 2020 at 12:17:03AM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> 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 <sean@mess.org>

Thanks

Sean

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  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
  

Patch

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.