Re: [PATCH 39/49] rc-core: make IR raw handling a separate module
Em Fri, 04 Apr 2014 01:34:33 +0200 David Härdeman da...@hardeman.nu escreveu: Make drivers/media/rc/rc-ir-raw.c a separate kernel module. Drivers which use IR decoding must use these functions: rc_register_ir_raw_device() rc_unregister_ir_raw_device() instead of: rc_register_device() rc_unregister_device() This allows scancode drivers to skip lots of unnecessary functionality. Makes sense to me. Please rebase. Signed-off-by: David Härdeman da...@hardeman.nu --- drivers/media/common/siano/smsir.c |5 +- drivers/media/common/siano/smsir.h |2 - drivers/media/i2c/cx25840/cx25840-ir.c |2 - drivers/media/pci/cx23885/cx23885-input.c | 13 +--- drivers/media/pci/cx23885/cx23888-ir.c |2 - drivers/media/pci/cx88/cx88-input.c | 18 +++--- drivers/media/pci/dm1105/dm1105.c |1 drivers/media/pci/saa7134/saa7134-input.c | 14 +++-- drivers/media/pci/saa7134/saa7134.h |2 - drivers/media/rc/Makefile |3 + drivers/media/rc/ati_remote.c |1 drivers/media/rc/ene_ir.c |9 +-- drivers/media/rc/fintek-cir.c |7 +- drivers/media/rc/gpio-ir-recv.c |9 +-- drivers/media/rc/iguanair.c |7 +- drivers/media/rc/img-ir/img-ir-raw.c|7 +- drivers/media/rc/imon.c |1 drivers/media/rc/ite-cir.c |9 +-- drivers/media/rc/mceusb.c |7 +- drivers/media/rc/nuvoton-cir.c |7 +- drivers/media/rc/rc-core-priv.h | 10 ++- drivers/media/rc/rc-ir-raw.c| 39 + drivers/media/rc/rc-loopback.c |7 +- drivers/media/rc/rc-main.c | 36 +--- drivers/media/rc/redrat3.c |7 +- drivers/media/rc/streamzap.c|7 +- drivers/media/rc/ttusbir.c |9 +-- drivers/media/rc/winbond-cir.c |9 +-- drivers/media/usb/dvb-usb-v2/dvb_usb.h |5 +- drivers/media/usb/dvb-usb-v2/dvb_usb_core.c | 12 +++- drivers/media/usb/dvb-usb-v2/rtl28xxu.c |2 - drivers/media/usb/dvb-usb/dvb-usb-remote.c |9 ++- drivers/media/usb/dvb-usb/dvb-usb.h |5 +- drivers/media/usb/dvb-usb/technisat-usb2.c |2 - drivers/media/usb/em28xx/em28xx-input.c |5 -- drivers/media/usb/tm6000/tm6000-input.c |1 include/media/rc-core.h | 73 +--- include/media/rc-ir-raw.h | 83 +++ 38 files changed, 222 insertions(+), 225 deletions(-) create mode 100644 include/media/rc-ir-raw.h diff --git a/drivers/media/common/siano/smsir.c b/drivers/media/common/siano/smsir.c index 273043e..f6938f4 100644 --- a/drivers/media/common/siano/smsir.c +++ b/drivers/media/common/siano/smsir.c @@ -87,14 +87,13 @@ int sms_ir_init(struct smscore_device_t *coredev) #endif dev-priv = coredev; - dev-driver_type = RC_DRIVER_IR_RAW; dev-allowed_protocols = RC_BIT_ALL; dev-map_name = sms_get_board(board_id)-rc_codes; dev-driver_name = MODULE_NAME; sms_log(Input device (IR) %s is set for key events, dev-input_name); - err = rc_register_device(dev); + err = rc_register_ir_raw_device(dev); if (err 0) { sms_err(Failed to register device); rc_free_device(dev); @@ -108,7 +107,7 @@ int sms_ir_init(struct smscore_device_t *coredev) void sms_ir_exit(struct smscore_device_t *coredev) { if (coredev-ir.dev) - rc_unregister_device(coredev-ir.dev); + rc_unregister_ir_raw_device(coredev-ir.dev); sms_log(); } diff --git a/drivers/media/common/siano/smsir.h b/drivers/media/common/siano/smsir.h index fc8b792..05a2b01 100644 --- a/drivers/media/common/siano/smsir.h +++ b/drivers/media/common/siano/smsir.h @@ -28,7 +28,7 @@ along with this program. If not, see http://www.gnu.org/licenses/. #define __SMS_IR_H__ #include linux/input.h -#include media/rc-core.h +#include media/rc-ir-raw.h #define IR_DEFAULT_TIMEOUT 100 diff --git a/drivers/media/i2c/cx25840/cx25840-ir.c b/drivers/media/i2c/cx25840/cx25840-ir.c index e6588ee..119d4e8 100644 --- a/drivers/media/i2c/cx25840/cx25840-ir.c +++ b/drivers/media/i2c/cx25840/cx25840-ir.c @@ -25,7 +25,7 @@ #include linux/kfifo.h #include linux/module.h #include media/cx25840.h -#include media/rc-core.h +#include media/rc-ir-raw.h #include cx25840-core.h diff --git a/drivers/media/pci/cx23885/cx23885-input.c b/drivers/media/pci/cx23885/cx23885-input.c index 1940c18..e2ba28d 100644 --- a/drivers/media/pci/cx23885/cx23885-input.c +++ b/drivers/media/pci/cx23885/cx23885-input.c @@ -36,7 +36,7 @@ */ #include
[PATCH 39/49] rc-core: make IR raw handling a separate module
Make drivers/media/rc/rc-ir-raw.c a separate kernel module. Drivers which use IR decoding must use these functions: rc_register_ir_raw_device() rc_unregister_ir_raw_device() instead of: rc_register_device() rc_unregister_device() This allows scancode drivers to skip lots of unnecessary functionality. Signed-off-by: David Härdeman da...@hardeman.nu --- drivers/media/common/siano/smsir.c |5 +- drivers/media/common/siano/smsir.h |2 - drivers/media/i2c/cx25840/cx25840-ir.c |2 - drivers/media/pci/cx23885/cx23885-input.c | 13 +--- drivers/media/pci/cx23885/cx23888-ir.c |2 - drivers/media/pci/cx88/cx88-input.c | 18 +++--- drivers/media/pci/dm1105/dm1105.c |1 drivers/media/pci/saa7134/saa7134-input.c | 14 +++-- drivers/media/pci/saa7134/saa7134.h |2 - drivers/media/rc/Makefile |3 + drivers/media/rc/ati_remote.c |1 drivers/media/rc/ene_ir.c |9 +-- drivers/media/rc/fintek-cir.c |7 +- drivers/media/rc/gpio-ir-recv.c |9 +-- drivers/media/rc/iguanair.c |7 +- drivers/media/rc/img-ir/img-ir-raw.c|7 +- drivers/media/rc/imon.c |1 drivers/media/rc/ite-cir.c |9 +-- drivers/media/rc/mceusb.c |7 +- drivers/media/rc/nuvoton-cir.c |7 +- drivers/media/rc/rc-core-priv.h | 10 ++- drivers/media/rc/rc-ir-raw.c| 39 + drivers/media/rc/rc-loopback.c |7 +- drivers/media/rc/rc-main.c | 36 +--- drivers/media/rc/redrat3.c |7 +- drivers/media/rc/streamzap.c|7 +- drivers/media/rc/ttusbir.c |9 +-- drivers/media/rc/winbond-cir.c |9 +-- drivers/media/usb/dvb-usb-v2/dvb_usb.h |5 +- drivers/media/usb/dvb-usb-v2/dvb_usb_core.c | 12 +++- drivers/media/usb/dvb-usb-v2/rtl28xxu.c |2 - drivers/media/usb/dvb-usb/dvb-usb-remote.c |9 ++- drivers/media/usb/dvb-usb/dvb-usb.h |5 +- drivers/media/usb/dvb-usb/technisat-usb2.c |2 - drivers/media/usb/em28xx/em28xx-input.c |5 -- drivers/media/usb/tm6000/tm6000-input.c |1 include/media/rc-core.h | 73 +--- include/media/rc-ir-raw.h | 83 +++ 38 files changed, 222 insertions(+), 225 deletions(-) create mode 100644 include/media/rc-ir-raw.h diff --git a/drivers/media/common/siano/smsir.c b/drivers/media/common/siano/smsir.c index 273043e..f6938f4 100644 --- a/drivers/media/common/siano/smsir.c +++ b/drivers/media/common/siano/smsir.c @@ -87,14 +87,13 @@ int sms_ir_init(struct smscore_device_t *coredev) #endif dev-priv = coredev; - dev-driver_type = RC_DRIVER_IR_RAW; dev-allowed_protocols = RC_BIT_ALL; dev-map_name = sms_get_board(board_id)-rc_codes; dev-driver_name = MODULE_NAME; sms_log(Input device (IR) %s is set for key events, dev-input_name); - err = rc_register_device(dev); + err = rc_register_ir_raw_device(dev); if (err 0) { sms_err(Failed to register device); rc_free_device(dev); @@ -108,7 +107,7 @@ int sms_ir_init(struct smscore_device_t *coredev) void sms_ir_exit(struct smscore_device_t *coredev) { if (coredev-ir.dev) - rc_unregister_device(coredev-ir.dev); + rc_unregister_ir_raw_device(coredev-ir.dev); sms_log(); } diff --git a/drivers/media/common/siano/smsir.h b/drivers/media/common/siano/smsir.h index fc8b792..05a2b01 100644 --- a/drivers/media/common/siano/smsir.h +++ b/drivers/media/common/siano/smsir.h @@ -28,7 +28,7 @@ along with this program. If not, see http://www.gnu.org/licenses/. #define __SMS_IR_H__ #include linux/input.h -#include media/rc-core.h +#include media/rc-ir-raw.h #define IR_DEFAULT_TIMEOUT 100 diff --git a/drivers/media/i2c/cx25840/cx25840-ir.c b/drivers/media/i2c/cx25840/cx25840-ir.c index e6588ee..119d4e8 100644 --- a/drivers/media/i2c/cx25840/cx25840-ir.c +++ b/drivers/media/i2c/cx25840/cx25840-ir.c @@ -25,7 +25,7 @@ #include linux/kfifo.h #include linux/module.h #include media/cx25840.h -#include media/rc-core.h +#include media/rc-ir-raw.h #include cx25840-core.h diff --git a/drivers/media/pci/cx23885/cx23885-input.c b/drivers/media/pci/cx23885/cx23885-input.c index 1940c18..e2ba28d 100644 --- a/drivers/media/pci/cx23885/cx23885-input.c +++ b/drivers/media/pci/cx23885/cx23885-input.c @@ -36,7 +36,7 @@ */ #include linux/slab.h -#include media/rc-core.h +#include media/rc-ir-raw.h #include media/v4l2-subdev.h #include cx23885.h @@ -258,7 +258,6 @@ int cx23885_input_init(struct cx23885_dev *dev) struct