The patch number 13680 was added via Mauro Carvalho Chehab <mche...@redhat.com>
to http://linuxtv.org/hg/v4l-dvb master development tree.

Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel

If anyone has any objections, please let us know by sending a message to:
        Linux Media Mailing List <linux-me...@vger.kernel.org>

------

From: Mauro Carvalho Chehab  <mche...@redhat.com>
ir: use unsigned long instead of enum


When preparing the linux-next patches, I got those errors:

include/media/ir-core.h:29: warning: left shift count >= width of type
In file included from include/media/ir-common.h:29,
                 from drivers/media/video/ir-kbd-i2c.c:50:

Unfortunately, enum is 32 bits on i386. As we define IR_TYPE_OTHER as 1<<63,
it won't work on non 64 bits arch.

Priority: normal

Signed-off-by: Mauro Carvalho Chehab <mche...@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mche...@redhat.com>


---

 linux/drivers/media/IR/ir-functions.c             |    2 -
 linux/drivers/media/IR/ir-sysfs.c                 |    4 +--
 linux/drivers/media/dvb/dm1105/dm1105.c           |    2 -
 linux/drivers/media/video/bt8xx/bttv-input.c      |    2 -
 linux/drivers/media/video/cx88/cx88-input.c       |    2 -
 linux/drivers/media/video/em28xx/em28xx-input.c   |    2 -
 linux/drivers/media/video/ir-kbd-i2c.c            |    2 -
 linux/drivers/media/video/saa7134/saa7134-input.c |    2 -
 linux/include/media/ir-common.h                   |    4 +--
 linux/include/media/ir-core.h                     |   16 ++++++--------
 linux/include/media/ir-kbd-i2c.h                  |    2 -
 11 files changed, 19 insertions(+), 21 deletions(-)

diff -r 7c8e567177c0 -r a6078b47155b linux/drivers/media/IR/ir-functions.c
--- a/linux/drivers/media/IR/ir-functions.c     Mon Dec 14 13:46:36 2009 -0200
+++ b/linux/drivers/media/IR/ir-functions.c     Mon Dec 14 14:53:37 2009 -0200
@@ -53,7 +53,7 @@
 /* -------------------------------------------------------------------------- 
*/
 
 int ir_input_init(struct input_dev *dev, struct ir_input_state *ir,
-                 const enum ir_type ir_type)
+                 const unsigned long ir_type)
 {
        ir->ir_type = ir_type;
 
diff -r 7c8e567177c0 -r a6078b47155b linux/drivers/media/IR/ir-sysfs.c
--- a/linux/drivers/media/IR/ir-sysfs.c Mon Dec 14 13:46:36 2009 -0200
+++ b/linux/drivers/media/IR/ir-sysfs.c Mon Dec 14 14:53:37 2009 -0200
@@ -39,7 +39,7 @@
 {
        char *s;
        struct ir_input_dev *ir_dev = dev_get_drvdata(d);
-       enum ir_type ir_type = ir_dev->rc_tab.ir_type;
+       unsigned long ir_type = ir_dev->rc_tab.ir_type;
 
        IR_dprintk(1, "Current protocol is %ld\n", ir_type);
 
@@ -77,7 +77,7 @@
                              size_t len)
 {
        struct ir_input_dev *ir_dev = dev_get_drvdata(d);
-       enum ir_type ir_type = IR_TYPE_UNKNOWN;
+       unsigned long ir_type = IR_TYPE_UNKNOWN;
        int rc = -EINVAL;
        unsigned long flags;
        char *buf;
diff -r 7c8e567177c0 -r a6078b47155b linux/drivers/media/dvb/dm1105/dm1105.c
--- a/linux/drivers/media/dvb/dm1105/dm1105.c   Mon Dec 14 13:46:36 2009 -0200
+++ b/linux/drivers/media/dvb/dm1105/dm1105.c   Mon Dec 14 14:53:37 2009 -0200
@@ -601,7 +601,7 @@
 {
        struct input_dev *input_dev;
        struct ir_scancode_table *ir_codes = &ir_codes_dm1105_nec_table;
-       enum ir_type ir_type = IR_TYPE_OTHER;
+       unsigned long ir_type = IR_TYPE_OTHER;
        int err = -ENOMEM;
 
        input_dev = input_allocate_device();
diff -r 7c8e567177c0 -r a6078b47155b 
linux/drivers/media/video/bt8xx/bttv-input.c
--- a/linux/drivers/media/video/bt8xx/bttv-input.c      Mon Dec 14 13:46:36 
2009 -0200
+++ b/linux/drivers/media/video/bt8xx/bttv-input.c      Mon Dec 14 14:53:37 
2009 -0200
@@ -247,7 +247,7 @@
        struct card_ir *ir;
        struct ir_scancode_table *ir_codes = NULL;
        struct input_dev *input_dev;
-       enum ir_type ir_type = IR_TYPE_OTHER;
+       unsigned long ir_type = IR_TYPE_OTHER;
        int err = -ENOMEM;
 
        if (!btv->has_remote)
diff -r 7c8e567177c0 -r a6078b47155b linux/drivers/media/video/cx88/cx88-input.c
--- a/linux/drivers/media/video/cx88/cx88-input.c       Mon Dec 14 13:46:36 
2009 -0200
+++ b/linux/drivers/media/video/cx88/cx88-input.c       Mon Dec 14 14:53:37 
2009 -0200
@@ -193,7 +193,7 @@
        struct cx88_IR *ir;
        struct input_dev *input_dev;
        struct ir_scancode_table *ir_codes = NULL;
-       enum ir_type ir_type = IR_TYPE_OTHER;
+       unsigned long ir_type = IR_TYPE_OTHER;
        int err = -ENOMEM;
 
        ir = kzalloc(sizeof(*ir), GFP_KERNEL);
diff -r 7c8e567177c0 -r a6078b47155b 
linux/drivers/media/video/em28xx/em28xx-input.c
--- a/linux/drivers/media/video/em28xx/em28xx-input.c   Mon Dec 14 13:46:36 
2009 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-input.c   Mon Dec 14 14:53:37 
2009 -0200
@@ -370,7 +370,7 @@
        cancel_delayed_work_sync(&ir->work);
 }
 
-int em28xx_ir_change_protocol(void *priv, enum ir_type ir_type)
+int em28xx_ir_change_protocol(void *priv, unsigned long ir_type)
 {
        int rc = 0;
        struct em28xx_IR *ir = priv;
diff -r 7c8e567177c0 -r a6078b47155b linux/drivers/media/video/ir-kbd-i2c.c
--- a/linux/drivers/media/video/ir-kbd-i2c.c    Mon Dec 14 13:46:36 2009 -0200
+++ b/linux/drivers/media/video/ir-kbd-i2c.c    Mon Dec 14 14:53:37 2009 -0200
@@ -372,7 +372,7 @@
 {
        struct ir_scancode_table *ir_codes = NULL;
        const char *name = NULL;
-       enum ir_type ir_type = 0;
+       unsigned long ir_type = 0;
        struct IR_i2c *ir;
        struct input_dev *input_dev;
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
diff -r 7c8e567177c0 -r a6078b47155b 
linux/drivers/media/video/saa7134/saa7134-input.c
--- a/linux/drivers/media/video/saa7134/saa7134-input.c Mon Dec 14 13:46:36 
2009 -0200
+++ b/linux/drivers/media/video/saa7134/saa7134-input.c Mon Dec 14 14:53:37 
2009 -0200
@@ -517,7 +517,7 @@
        int polling      = 0;
        int rc5_gpio     = 0;
        int nec_gpio     = 0;
-       enum ir_type ir_type = IR_TYPE_OTHER;
+       unsigned long ir_type = IR_TYPE_OTHER;
        int err;
 
        if (dev->has_remote != SAA7134_REMOTE_GPIO)
diff -r 7c8e567177c0 -r a6078b47155b linux/include/media/ir-common.h
--- a/linux/include/media/ir-common.h   Mon Dec 14 13:46:36 2009 -0200
+++ b/linux/include/media/ir-common.h   Mon Dec 14 14:53:37 2009 -0200
@@ -35,7 +35,7 @@
 
 struct ir_input_state {
        /* configuration */
-       enum ir_type       ir_type;
+       unsigned long      ir_type;
 
        /* key info */
        u32                ir_key;      /* ir scancode */
@@ -84,7 +84,7 @@
 /* Routines from ir-functions.c */
 
 int ir_input_init(struct input_dev *dev, struct ir_input_state *ir,
-                  const enum ir_type ir_type);
+                  const unsigned long ir_type);
 void ir_input_nokey(struct input_dev *dev, struct ir_input_state *ir);
 void ir_input_keydown(struct input_dev *dev, struct ir_input_state *ir,
                      u32 ir_key);
diff -r 7c8e567177c0 -r a6078b47155b linux/include/media/ir-core.h
--- a/linux/include/media/ir-core.h     Mon Dec 14 13:46:36 2009 -0200
+++ b/linux/include/media/ir-core.h     Mon Dec 14 14:53:37 2009 -0200
@@ -21,13 +21,11 @@
 #define IR_dprintk(level, fmt, arg...) if (ir_core_debug >= level) \
        printk(KERN_DEBUG "%s: " fmt , __func__, ## arg)
 
-enum ir_type {
-       IR_TYPE_UNKNOWN = 0,
-       IR_TYPE_RC5     = 1L << 0,      /* Philips RC5 protocol */
-       IR_TYPE_PD      = 1L << 1,      /* Pulse distance encoded IR */
-       IR_TYPE_NEC     = 1L << 2,
-       IR_TYPE_OTHER   = 1L << 63,
-};
+#define IR_TYPE_UNKNOWN        0
+#define IR_TYPE_RC5    (1L << 0)       /* Philips RC5 protocol */
+#define IR_TYPE_PD     (1L << 1)       /* Pulse distance encoded IR */
+#define IR_TYPE_NEC    (1L << 2)
+#define IR_TYPE_OTHER  (1L << 63)
 
 struct ir_scancode {
        u16     scancode;
@@ -37,14 +35,14 @@
 struct ir_scancode_table {
        struct ir_scancode      *scan;
        int                     size;
-       enum                    ir_type ir_type;
+       unsigned long           ir_type;
        spinlock_t              lock;
 };
 
 struct ir_dev_props {
        unsigned long allowed_protos;
        void            *priv;
-       int (*change_protocol)(void *priv, enum ir_type ir_type);
+       int (*change_protocol)(void *priv, unsigned long ir_type);
 };
 
 
diff -r 7c8e567177c0 -r a6078b47155b linux/include/media/ir-kbd-i2c.h
--- a/linux/include/media/ir-kbd-i2c.h  Mon Dec 14 13:46:36 2009 -0200
+++ b/linux/include/media/ir-kbd-i2c.h  Mon Dec 14 14:53:37 2009 -0200
@@ -40,7 +40,7 @@
 struct IR_i2c_init_data {
        struct ir_scancode_table *ir_codes;
        const char             *name;
-       enum ir_type           type; /* IR_TYPE_RC5, IR_TYPE_PD, etc */
+       unsigned long          type; /* IR_TYPE_RC5, IR_TYPE_PD, etc */
        /*
         * Specify either a function pointer or a value indicating one of
         * ir_kbd_i2c's internal get_key functions


---

Patch is available at: 
http://linuxtv.org/hg/v4l-dvb/rev/a6078b47155b5a8f20f1f58e56fc8d19eb51f8ab

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to