Skip to content

Commit

Permalink
[media] ir-core: more cleanups of ir-functions.c
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
David Härdeman authored and Mauro Carvalho Chehab committed Dec 29, 2010
1 parent 62c6503 commit 3ffea49
Show file tree
Hide file tree
Showing 19 changed files with 40 additions and 47 deletions.
2 changes: 1 addition & 1 deletion drivers/media/IR/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/IR/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
19 changes: 0 additions & 19 deletions drivers/media/IR/ir-functions.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,25 +31,6 @@
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 */

Expand Down
3 changes: 1 addition & 2 deletions drivers/media/dvb/dm1105/Kconfig
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
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
select DVB_STB6000 if !DVB_FE_CUSTOMISE
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
Expand Down
3 changes: 1 addition & 2 deletions drivers/media/dvb/ttpci/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/video/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
4 changes: 2 additions & 2 deletions drivers/media/video/bt8xx/Kconfig
Original file line number Diff line number Diff line change
@@ -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
Expand Down
3 changes: 1 addition & 2 deletions drivers/media/video/cx18/Kconfig
Original file line number Diff line number Diff line change
@@ -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
Expand Down
4 changes: 2 additions & 2 deletions drivers/media/video/cx231xx/Kconfig
Original file line number Diff line number Diff line change
@@ -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
Expand Down
3 changes: 1 addition & 2 deletions drivers/media/video/cx88/Kconfig
Original file line number Diff line number Diff line change
@@ -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
Expand Down
1 change: 0 additions & 1 deletion drivers/media/video/cx88/cx88-input.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@

#include "cx88.h"
#include <media/ir-core.h>
#include <media/ir-common.h>

#define MODULE_NAME "cx88xx"

Expand Down
4 changes: 2 additions & 2 deletions drivers/media/video/em28xx/Kconfig
Original file line number Diff line number Diff line change
@@ -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
Expand Down
3 changes: 1 addition & 2 deletions drivers/media/video/ivtv/Kconfig
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/video/saa7134/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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---
Expand Down
4 changes: 2 additions & 2 deletions drivers/media/video/tlg2300/Kconfig
Original file line number Diff line number Diff line change
@@ -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
Expand Down
4 changes: 2 additions & 2 deletions drivers/staging/cx25821/Kconfig
Original file line number Diff line number Diff line change
@@ -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
Expand Down
4 changes: 2 additions & 2 deletions drivers/staging/go7007/Kconfig
Original file line number Diff line number Diff line change
@@ -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
Expand Down
1 change: 0 additions & 1 deletion include/media/ir-common.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
19 changes: 19 additions & 0 deletions include/media/ir-core.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */

0 comments on commit 3ffea49

Please sign in to comment.