aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/IR
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2009-12-14 13:53:37 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-02-26 15:10:24 -0300
commit971e8298dee4835fc2dfbd207a9786702aa01666 (patch)
treebe01801dd5631acc72eae7c16abbf1b834c66775 /drivers/media/IR
parentV4L/DVB (13641): Properly update the driver representation for the protocol (diff)
downloadlinux-dev-971e8298dee4835fc2dfbd207a9786702aa01666.tar.xz
linux-dev-971e8298dee4835fc2dfbd207a9786702aa01666.zip
V4L/DVB (13680): 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: drivers/media/video/ir-kbd-i2c.c: In function ‘ir_probe’: drivers/media/video/ir-kbd-i2c.c:324: warning: left shift count >= width of type 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. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/IR')
-rw-r--r--drivers/media/IR/ir-functions.c2
-rw-r--r--drivers/media/IR/ir-sysfs.c15
2 files changed, 10 insertions, 7 deletions
diff --git a/drivers/media/IR/ir-functions.c b/drivers/media/IR/ir-functions.c
index b501ac9d401d..ab06919ad5fc 100644
--- a/drivers/media/IR/ir-functions.c
+++ b/drivers/media/IR/ir-functions.c
@@ -52,7 +52,7 @@ static void ir_input_key_event(struct input_dev *dev, struct ir_input_state *ir)
/* -------------------------------------------------------------------------- */
int ir_input_init(struct input_dev *dev, struct ir_input_state *ir,
- const enum ir_type ir_type)
+ const u64 ir_type)
{
ir->ir_type = ir_type;
diff --git a/drivers/media/IR/ir-sysfs.c b/drivers/media/IR/ir-sysfs.c
index d73589ad55e6..d67c11d9921f 100644
--- a/drivers/media/IR/ir-sysfs.c
+++ b/drivers/media/IR/ir-sysfs.c
@@ -39,9 +39,9 @@ static ssize_t show_protocol(struct device *d,
{
char *s;
struct ir_input_dev *ir_dev = dev_get_drvdata(d);
- enum ir_type ir_type = ir_dev->rc_tab.ir_type;
+ u64 ir_type = ir_dev->rc_tab.ir_type;
- IR_dprintk(1, "Current protocol is %ld\n", ir_type);
+ IR_dprintk(1, "Current protocol is %lld\n", (long long)ir_type);
/* FIXME: doesn't support multiple protocols at the same time */
if (ir_type == IR_TYPE_UNKNOWN)
@@ -77,7 +77,7 @@ static ssize_t store_protocol(struct device *d,
size_t len)
{
struct ir_input_dev *ir_dev = dev_get_drvdata(d);
- enum ir_type ir_type = IR_TYPE_UNKNOWN;
+ u64 ir_type = IR_TYPE_UNKNOWN;
int rc = -EINVAL;
unsigned long flags;
char *buf;
@@ -92,7 +92,8 @@ static ssize_t store_protocol(struct device *d,
ir_type = IR_TYPE_NEC;
if (ir_type == IR_TYPE_UNKNOWN) {
- IR_dprintk(1, "Error setting protocol to %ld\n", ir_type);
+ IR_dprintk(1, "Error setting protocol to %lld\n",
+ (long long)ir_type);
return -EINVAL;
}
@@ -101,7 +102,8 @@ static ssize_t store_protocol(struct device *d,
ir_type);
if (rc < 0) {
- IR_dprintk(1, "Error setting protocol to %ld\n", ir_type);
+ IR_dprintk(1, "Error setting protocol to %lld\n",
+ (long long)ir_type);
return -EINVAL;
}
@@ -109,7 +111,8 @@ static ssize_t store_protocol(struct device *d,
ir_dev->rc_tab.ir_type = ir_type;
spin_unlock_irqrestore(&ir_dev->rc_tab.lock, flags);
- IR_dprintk(1, "Current protocol is %ld\n", ir_type);
+ IR_dprintk(1, "Current protocol is %lld\n",
+ (long long)ir_type);
return len;
}