[media] ir-core: more cleanups of ir-functions.c
authorDavid Härdeman <david@hardeman.nu>
Fri, 29 Oct 2010 19:08:12 +0000 (16:08 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 29 Dec 2010 10:16:36 +0000 (08:16 -0200)
cx88 only depends on VIDEO_IR because it needs ir_extract_bits().
Move that function to ir-core.h and make it inline.

Lots of drivers had dependencies on VIDEO_IR when they really
wanted IR_CORE.

The only remaining drivers to depend on VIDEO_IR are bt8xx and
saa7134 (ir_rc5_timer_end is the only function exported by
ir-functions).

Rename VIDEO_IR -> IR_LEGACY to give a hint to anyone writing or
converting drivers to IR_CORE that they do not want a dependency
on IR_LEGACY.

Signed-off-by: David Härdeman <david@hardeman.nu>
Acked-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
19 files changed:
drivers/media/IR/Kconfig
drivers/media/IR/Makefile
drivers/media/IR/ir-functions.c
drivers/media/dvb/dm1105/Kconfig
drivers/media/dvb/ttpci/Kconfig
drivers/media/video/Kconfig
drivers/media/video/bt8xx/Kconfig
drivers/media/video/cx18/Kconfig
drivers/media/video/cx231xx/Kconfig
drivers/media/video/cx88/Kconfig
drivers/media/video/cx88/cx88-input.c
drivers/media/video/em28xx/Kconfig
drivers/media/video/ivtv/Kconfig
drivers/media/video/saa7134/Kconfig
drivers/media/video/tlg2300/Kconfig
drivers/staging/cx25821/Kconfig
drivers/staging/go7007/Kconfig
include/media/ir-common.h
include/media/ir-core.h

index aa4163eb7a83b3c64fd6b6fa3b815336b3a4ad0e..20e02a0a5e4801ffa072b124b243f7f051888a5d 100644 (file)
@@ -10,7 +10,7 @@ menuconfig IR_CORE
          if you don't need IR, as otherwise, you may not be able to
          compile the driver for your adapter.
 
-config VIDEO_IR
+config IR_LEGACY
        tristate
        depends on IR_CORE
        default IR_CORE
index f9574adab82a54cb7305d592af439115c40c5ee2..38873cff342956cf6e71c061f4528f3c6d5aa2e8 100644 (file)
@@ -4,7 +4,7 @@ ir-core-objs    := ir-keytable.o ir-sysfs.o ir-raw-event.o rc-map.o
 obj-y += keymaps/
 
 obj-$(CONFIG_IR_CORE) += ir-core.o
-obj-$(CONFIG_VIDEO_IR) += ir-common.o
+obj-$(CONFIG_IR_LEGACY) += ir-common.o
 obj-$(CONFIG_LIRC) += lirc_dev.o
 obj-$(CONFIG_IR_NEC_DECODER) += ir-nec-decoder.o
 obj-$(CONFIG_IR_RC5_DECODER) += ir-rc5-decoder.o
index fca734c43e8ddabf277b0ffd9bc93450084ec0cf..ec021c92527af6e6bd6fd283adf4e6a33bf9089e 100644 (file)
 MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]");
 MODULE_LICENSE("GPL");
 
-/* -------------------------------------------------------------------------- */
-/* extract mask bits out of data and pack them into the result */
-u32 ir_extract_bits(u32 data, u32 mask)
-{
-       u32 vbit = 1, value = 0;
-
-       do {
-           if (mask&1) {
-               if (data&1)
-                       value |= vbit;
-               vbit<<=1;
-           }
-           data>>=1;
-       } while (mask>>=1);
-
-       return value;
-}
-EXPORT_SYMBOL_GPL(ir_extract_bits);
-
 /* RC5 decoding stuff, moved from bttv-input.c to share it with
  * saa7134 */
 
index a6ceb08f11838c0504f0fe32abf33920749cb124..576f3b70d792a00be6d3ab6677d1078a16dd211e 100644 (file)
@@ -1,7 +1,6 @@
 config DVB_DM1105
        tristate "SDMC DM1105 based PCI cards"
        depends on DVB_CORE && PCI && I2C
-       depends on INPUT
        select DVB_PLL if !DVB_FE_CUSTOMISE
        select DVB_STV0299 if !DVB_FE_CUSTOMISE
        select DVB_STV0288 if !DVB_FE_CUSTOMISE
@@ -9,7 +8,7 @@ config DVB_DM1105
        select DVB_CX24116 if !DVB_FE_CUSTOMISE
        select DVB_SI21XX if !DVB_FE_CUSTOMISE
        select DVB_DS3000 if !DVB_FE_CUSTOMISE
-       depends on VIDEO_IR
+       depends on IR_CORE
        help
          Support for cards based on the SDMC DM1105 PCI chip like
          DvbWorld 2002
index debea8d1d31cff05194c767aafdc5286aecc5592..0ffd6943da838db0ab7b563bcc99298b8fc3e740 100644 (file)
@@ -89,7 +89,6 @@ config DVB_BUDGET
 config DVB_BUDGET_CI
        tristate "Budget cards with onboard CI connector"
        depends on DVB_BUDGET_CORE && I2C
-       depends on INPUT # due to IR
        select DVB_STV0297 if !DVB_FE_CUSTOMISE
        select DVB_STV0299 if !DVB_FE_CUSTOMISE
        select DVB_TDA1004X if !DVB_FE_CUSTOMISE
@@ -98,7 +97,7 @@ config DVB_BUDGET_CI
        select DVB_LNBP21 if !DVB_FE_CUSTOMISE
        select DVB_TDA10023 if !DVB_FE_CUSTOMISE
        select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMISE
-       depends on VIDEO_IR
+       depends on IR_CORE
        help
          Support for simple SAA7146 based DVB cards
          (so called Budget- or Nova-PCI cards) without onboard
index 6830d2848bd7f911d5084dcd7a757366a8567dc5..22feac4d1e8f22a185d6eace96c343d3146fd12e 100644 (file)
@@ -96,7 +96,7 @@ config VIDEO_HELPER_CHIPS_AUTO
 
 config VIDEO_IR_I2C
        tristate "I2C module for IR" if !VIDEO_HELPER_CHIPS_AUTO
-       depends on I2C && VIDEO_IR
+       depends on I2C && IR_CORE
        default y
        ---help---
          Most boards have an IR chip directly connected via GPIO. However,
index 1a4a89fdf767c062cf039d836361cc1007ffa6a8..659e448734407a7b3ec3901f793db743dbae4c52 100644 (file)
@@ -1,10 +1,10 @@
 config VIDEO_BT848
        tristate "BT848 Video For Linux"
-       depends on VIDEO_DEV && PCI && I2C && VIDEO_V4L2 && INPUT
+       depends on VIDEO_DEV && PCI && I2C && VIDEO_V4L2
        select I2C_ALGOBIT
        select VIDEO_BTCX
        select VIDEOBUF_DMA_SG
-       depends on VIDEO_IR
+       depends on IR_LEGACY
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
        select VIDEO_MSP3400 if VIDEO_HELPER_CHIPS_AUTO
index 76c054d1eef95513c95823887683728d2e81ec3b..f3c3ccb491fe40c35c12851c2b103c27f5f8e895 100644 (file)
@@ -1,9 +1,8 @@
 config VIDEO_CX18
        tristate "Conexant cx23418 MPEG encoder support"
        depends on VIDEO_V4L2 && DVB_CORE && PCI && I2C && EXPERIMENTAL
-       depends on INPUT        # due to VIDEO_IR
        select I2C_ALGOBIT
-       depends on VIDEO_IR
+       depends on IR_CORE
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
        select VIDEO_CX2341X
index c37eac1140247134930ac2da957da4d1b5c72308..ab7d5df50f553ff681858a318363d62426356704 100644 (file)
@@ -1,9 +1,9 @@
 config VIDEO_CX231XX
        tristate "Conexant cx231xx USB video capture support"
-       depends on VIDEO_DEV && I2C && INPUT
+       depends on VIDEO_DEV && I2C
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
-       depends on VIDEO_IR
+       depends on IR_CORE
        select VIDEOBUF_VMALLOC
        select VIDEO_CX25840
        select VIDEO_CX2341X
index bcfd1ac48cc657e67c9687fe4f4258501332a415..dbae62935e1f35ccb26c65ae87fa3b6ae4c6b07a 100644 (file)
@@ -1,12 +1,11 @@
 config VIDEO_CX88
        tristate "Conexant 2388x (bt878 successor) support"
-       depends on VIDEO_DEV && PCI && I2C && INPUT && IR_CORE
+       depends on VIDEO_DEV && PCI && I2C && IR_CORE
        select I2C_ALGOBIT
        select VIDEO_BTCX
        select VIDEOBUF_DMA_SG
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
-       depends on VIDEO_IR
        select VIDEO_WM8775 if VIDEO_HELPER_CHIPS_AUTO
        ---help---
          This is a video4linux driver for Conexant 2388x based
index 564e3cb29c4d2755fdeec2659543d39a00f16d4d..8c41124befbddad672232a87e7586462b6de8a7e 100644 (file)
@@ -31,7 +31,6 @@
 
 #include "cx88.h"
 #include <media/ir-core.h>
-#include <media/ir-common.h>
 
 #define MODULE_NAME "cx88xx"
 
index 8d38c5fdece0061094fac44350bc6ebbe3e4fd69..72ea2baba790b3287ff3c46cb87ebc0ef769afe0 100644 (file)
@@ -1,9 +1,9 @@
 config VIDEO_EM28XX
        tristate "Empia EM28xx USB video capture support"
-       depends on VIDEO_DEV && I2C && INPUT
+       depends on VIDEO_DEV && I2C
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
-       depends on VIDEO_IR
+       depends on IR_CORE
        select VIDEOBUF_VMALLOC
        select VIDEO_SAA711X if VIDEO_HELPER_CHIPS_AUTO
        select VIDEO_TVP5150 if VIDEO_HELPER_CHIPS_AUTO
index be4af1fa557e421b012ad48c63dcc57e63caebfa..c4f19801c73b6252b31a5f8b825ae40a9cc559cf 100644 (file)
@@ -1,9 +1,8 @@
 config VIDEO_IVTV
        tristate "Conexant cx23416/cx23415 MPEG encoder/decoder support"
        depends on VIDEO_V4L2 && PCI && I2C
-       depends on INPUT   # due to VIDEO_IR
        select I2C_ALGOBIT
-       depends on VIDEO_IR
+       depends on IR_CORE
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
        select VIDEO_CX2341X
index 3fe71be41a1f86f8a876b0ac9024979ab62a331e..32a95a2d66a15d43d2f163e78e39da0c1cfe0722 100644 (file)
@@ -26,7 +26,7 @@ config VIDEO_SAA7134_ALSA
 
 config VIDEO_SAA7134_RC
        bool "Philips SAA7134 Remote Controller support"
-       depends on VIDEO_IR
+       depends on IR_LEGACY
        depends on VIDEO_SAA7134
        default y
        ---help---
index 1686ebfa6951a17cd2994c0da1181f16c9881df2..580580ec936233d9c9974be43c03e0442384af80 100644 (file)
@@ -1,9 +1,9 @@
 config VIDEO_TLG2300
        tristate "Telegent TLG2300 USB video capture support"
-       depends on VIDEO_DEV && I2C && INPUT && SND && DVB_CORE
+       depends on VIDEO_DEV && I2C && SND && DVB_CORE
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
-       depends on VIDEO_IR
+       depends on IR_CORE
        select VIDEOBUF_VMALLOC
        select SND_PCM
        select VIDEOBUF_DVB
index 1d73334d2a440fbf9782a327ca397fb346a9b68a..f8f2bb01055f4e910fda9b01f543439e38ad4680 100644 (file)
@@ -1,11 +1,11 @@
 config VIDEO_CX25821
        tristate "Conexant cx25821 support"
-       depends on DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT
+       depends on DVB_CORE && VIDEO_DEV && PCI && I2C
        depends on BKL # please fix
        select I2C_ALGOBIT
        select VIDEO_BTCX
        select VIDEO_TVEEPROM
-       depends on VIDEO_IR
+       depends on IR_CORE
        select VIDEOBUF_DVB
        select VIDEOBUF_DMA_SG
        select VIDEO_CX25840
index 3aecd30f0d1e778fc21377c8a8167cf7e70b733a..edc90919f3c6e122058ee34adf575d5bc4720bf5 100644 (file)
@@ -1,10 +1,10 @@
 config VIDEO_GO7007
        tristate "WIS GO7007 MPEG encoder support"
-       depends on VIDEO_DEV && PCI && I2C && INPUT
+       depends on VIDEO_DEV && PCI && I2C
        depends on BKL # please fix
        depends on SND
        select VIDEOBUF_DMA_SG
-       depends on VIDEO_IR
+       depends on IR_CORE
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
        select SND_PCM
index 4a32e89a3cfe4dd755fe1c1c2a68b09728cdcf1b..d1ae869f962c3524ff341a6e7e07daa75fc18dea 100644 (file)
@@ -73,7 +73,6 @@ struct card_ir {
 };
 
 /* Routines from ir-functions.c */
-u32  ir_extract_bits(u32 data, u32 mask);
 void ir_rc5_timer_end(unsigned long data);
 
 #endif
index bff75f258fbcb3e79584d99fb8619b3e961e301c..53048a2eefb93733797123325cb2d41b7eb3ea5f 100644 (file)
@@ -212,4 +212,23 @@ static inline void ir_raw_event_reset(struct input_dev *input_dev)
        ir_raw_event_handle(input_dev);
 }
 
+
+/* extract mask bits out of data and pack them into the result */
+static inline u32 ir_extract_bits(u32 data, u32 mask)
+{
+       u32 vbit = 1, value = 0;
+
+       do {
+           if (mask & 1) {
+               if (data & 1)
+                       value |= vbit;
+               vbit <<= 1;
+           }
+           data >>= 1;
+       } while (mask >>= 1);
+
+       return value;
+}
+
+
 #endif /* _IR_CORE */