Re: [PATCH 39/49] rc-core: make IR raw handling a separate module

2014-07-25 Thread Mauro Carvalho Chehab
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

2014-04-03 Thread David Härdeman
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