提交 1df8e986 编写于 作者: J Jean Delvare 提交者: Mauro Carvalho Chehab

V4L/DVB (11843): ir-kbd-i2c: Don't use i2c_client.name for our own needs

In the standard device driver binding model, the name field of
struct i2c_client is used to match devices to their drivers, so we
must stop using it for internal purposes. Define a separate field
in struct IR_i2c as a replacement, and use it.
Signed-off-by: NJean Delvare <khali@linux-fr.org>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 24c44d85
...@@ -36,7 +36,7 @@ MODULE_PARM_DESC(ir_debug, "enable debug messages [IR]"); ...@@ -36,7 +36,7 @@ MODULE_PARM_DESC(ir_debug, "enable debug messages [IR]");
#define i2cdprintk(fmt, arg...) \ #define i2cdprintk(fmt, arg...) \
if (ir_debug) { \ if (ir_debug) { \
printk(KERN_DEBUG "%s/ir: " fmt, ir->c.name , ## arg); \ printk(KERN_DEBUG "%s/ir: " fmt, ir->name , ## arg); \
} }
#define dprintk(fmt, arg...) \ #define dprintk(fmt, arg...) \
......
...@@ -1929,19 +1929,19 @@ void em28xx_set_ir(struct em28xx *dev, struct IR_i2c *ir) ...@@ -1929,19 +1929,19 @@ void em28xx_set_ir(struct em28xx *dev, struct IR_i2c *ir)
case (EM2820_BOARD_TERRATEC_CINERGY_250): case (EM2820_BOARD_TERRATEC_CINERGY_250):
ir->ir_codes = ir_codes_em_terratec; ir->ir_codes = ir_codes_em_terratec;
ir->get_key = em28xx_get_key_terratec; ir->get_key = em28xx_get_key_terratec;
snprintf(ir->c.name, sizeof(ir->c.name), snprintf(ir->name, sizeof(ir->name),
"i2c IR (EM28XX Terratec)"); "i2c IR (EM28XX Terratec)");
break; break;
case (EM2820_BOARD_PINNACLE_USB_2): case (EM2820_BOARD_PINNACLE_USB_2):
ir->ir_codes = ir_codes_pinnacle_grey; ir->ir_codes = ir_codes_pinnacle_grey;
ir->get_key = em28xx_get_key_pinnacle_usb_grey; ir->get_key = em28xx_get_key_pinnacle_usb_grey;
snprintf(ir->c.name, sizeof(ir->c.name), snprintf(ir->name, sizeof(ir->name),
"i2c IR (EM28XX Pinnacle PCTV)"); "i2c IR (EM28XX Pinnacle PCTV)");
break; break;
case (EM2820_BOARD_HAUPPAUGE_WINTV_USB_2): case (EM2820_BOARD_HAUPPAUGE_WINTV_USB_2):
ir->ir_codes = ir_codes_hauppauge_new; ir->ir_codes = ir_codes_hauppauge_new;
ir->get_key = em28xx_get_key_em_haup; ir->get_key = em28xx_get_key_em_haup;
snprintf(ir->c.name, sizeof(ir->c.name), snprintf(ir->name, sizeof(ir->name),
"i2c IR (EM2840 Hauppauge)"); "i2c IR (EM2840 Hauppauge)");
break; break;
case (EM2820_BOARD_MSI_VOX_USB_2): case (EM2820_BOARD_MSI_VOX_USB_2):
......
...@@ -40,7 +40,7 @@ MODULE_PARM_DESC(ir_debug, "enable debug messages [IR]"); ...@@ -40,7 +40,7 @@ MODULE_PARM_DESC(ir_debug, "enable debug messages [IR]");
#define i2cdprintk(fmt, arg...) \ #define i2cdprintk(fmt, arg...) \
if (ir_debug) { \ if (ir_debug) { \
printk(KERN_DEBUG "%s/ir: " fmt, ir->c.name , ## arg); \ printk(KERN_DEBUG "%s/ir: " fmt, ir->name , ## arg); \
} }
#define dprintk(fmt, arg...) \ #define dprintk(fmt, arg...) \
......
...@@ -337,6 +337,7 @@ static int ir_attach(struct i2c_adapter *adap, int addr, ...@@ -337,6 +337,7 @@ static int ir_attach(struct i2c_adapter *adap, int addr,
ir->c.adapter = adap; ir->c.adapter = adap;
ir->c.addr = addr; ir->c.addr = addr;
snprintf(ir->c.name, sizeof(ir->c.name), "ir-kbd");
i2c_set_clientdata(&ir->c, ir); i2c_set_clientdata(&ir->c, ir);
...@@ -410,7 +411,7 @@ static int ir_attach(struct i2c_adapter *adap, int addr, ...@@ -410,7 +411,7 @@ static int ir_attach(struct i2c_adapter *adap, int addr,
} }
/* Sets name */ /* Sets name */
snprintf(ir->c.name, sizeof(ir->c.name), "i2c IR (%s)", name); snprintf(ir->name, sizeof(ir->name), "i2c IR (%s)", name);
ir->ir_codes = ir_codes; ir->ir_codes = ir_codes;
/* register i2c device /* register i2c device
...@@ -435,7 +436,7 @@ static int ir_attach(struct i2c_adapter *adap, int addr, ...@@ -435,7 +436,7 @@ static int ir_attach(struct i2c_adapter *adap, int addr,
/* init + register input device */ /* init + register input device */
ir_input_init(input_dev, &ir->ir, ir_type, ir->ir_codes); ir_input_init(input_dev, &ir->ir, ir_type, ir->ir_codes);
input_dev->id.bustype = BUS_I2C; input_dev->id.bustype = BUS_I2C;
input_dev->name = ir->c.name; input_dev->name = ir->name;
input_dev->phys = ir->phys; input_dev->phys = ir->phys;
err = input_register_device(ir->input); err = input_register_device(ir->input);
......
...@@ -60,7 +60,7 @@ MODULE_PARM_DESC(disable_other_ir, "disable full codes of " ...@@ -60,7 +60,7 @@ MODULE_PARM_DESC(disable_other_ir, "disable full codes of "
#define dprintk(fmt, arg...) if (ir_debug) \ #define dprintk(fmt, arg...) if (ir_debug) \
printk(KERN_DEBUG "%s/ir: " fmt, dev->name , ## arg) printk(KERN_DEBUG "%s/ir: " fmt, dev->name , ## arg)
#define i2cdprintk(fmt, arg...) if (ir_debug) \ #define i2cdprintk(fmt, arg...) if (ir_debug) \
printk(KERN_DEBUG "%s/ir: " fmt, ir->c.name , ## arg) printk(KERN_DEBUG "%s/ir: " fmt, ir->name , ## arg)
/* Helper functions for RC5 and NEC decoding at GPIO16 or GPIO18 */ /* Helper functions for RC5 and NEC decoding at GPIO16 or GPIO18 */
static int saa7134_rc5_irq(struct saa7134_dev *dev); static int saa7134_rc5_irq(struct saa7134_dev *dev);
...@@ -693,7 +693,7 @@ void saa7134_set_i2c_ir(struct saa7134_dev *dev, struct IR_i2c *ir) ...@@ -693,7 +693,7 @@ void saa7134_set_i2c_ir(struct saa7134_dev *dev, struct IR_i2c *ir)
switch (dev->board) { switch (dev->board) {
case SAA7134_BOARD_PINNACLE_PCTV_110i: case SAA7134_BOARD_PINNACLE_PCTV_110i:
case SAA7134_BOARD_PINNACLE_PCTV_310i: case SAA7134_BOARD_PINNACLE_PCTV_310i:
snprintf(ir->c.name, sizeof(ir->c.name), "Pinnacle PCTV"); snprintf(ir->name, sizeof(ir->name), "Pinnacle PCTV");
if (pinnacle_remote == 0) { if (pinnacle_remote == 0) {
ir->get_key = get_key_pinnacle_color; ir->get_key = get_key_pinnacle_color;
ir->ir_codes = ir_codes_pinnacle_color; ir->ir_codes = ir_codes_pinnacle_color;
...@@ -703,17 +703,17 @@ void saa7134_set_i2c_ir(struct saa7134_dev *dev, struct IR_i2c *ir) ...@@ -703,17 +703,17 @@ void saa7134_set_i2c_ir(struct saa7134_dev *dev, struct IR_i2c *ir)
} }
break; break;
case SAA7134_BOARD_UPMOST_PURPLE_TV: case SAA7134_BOARD_UPMOST_PURPLE_TV:
snprintf(ir->c.name, sizeof(ir->c.name), "Purple TV"); snprintf(ir->name, sizeof(ir->name), "Purple TV");
ir->get_key = get_key_purpletv; ir->get_key = get_key_purpletv;
ir->ir_codes = ir_codes_purpletv; ir->ir_codes = ir_codes_purpletv;
break; break;
case SAA7134_BOARD_MSI_TVATANYWHERE_PLUS: case SAA7134_BOARD_MSI_TVATANYWHERE_PLUS:
snprintf(ir->c.name, sizeof(ir->c.name), "MSI TV@nywhere Plus"); snprintf(ir->name, sizeof(ir->name), "MSI TV@nywhere Plus");
ir->get_key = get_key_msi_tvanywhere_plus; ir->get_key = get_key_msi_tvanywhere_plus;
ir->ir_codes = ir_codes_msi_tvanywhere_plus; ir->ir_codes = ir_codes_msi_tvanywhere_plus;
break; break;
case SAA7134_BOARD_HAUPPAUGE_HVR1110: case SAA7134_BOARD_HAUPPAUGE_HVR1110:
snprintf(ir->c.name, sizeof(ir->c.name), "HVR 1110"); snprintf(ir->name, sizeof(ir->name), "HVR 1110");
ir->get_key = get_key_hvr1110; ir->get_key = get_key_hvr1110;
ir->ir_codes = ir_codes_hauppauge_new; ir->ir_codes = ir_codes_hauppauge_new;
break; break;
...@@ -729,7 +729,7 @@ void saa7134_set_i2c_ir(struct saa7134_dev *dev, struct IR_i2c *ir) ...@@ -729,7 +729,7 @@ void saa7134_set_i2c_ir(struct saa7134_dev *dev, struct IR_i2c *ir)
case SAA7134_BOARD_BEHOLD_M63: case SAA7134_BOARD_BEHOLD_M63:
case SAA7134_BOARD_BEHOLD_M6_EXTRA: case SAA7134_BOARD_BEHOLD_M6_EXTRA:
case SAA7134_BOARD_BEHOLD_H6: case SAA7134_BOARD_BEHOLD_H6:
snprintf(ir->c.name, sizeof(ir->c.name), "BeholdTV"); snprintf(ir->name, sizeof(ir->name), "BeholdTV");
ir->get_key = get_key_beholdm6xx; ir->get_key = get_key_beholdm6xx;
ir->ir_codes = ir_codes_behold; ir->ir_codes = ir_codes_behold;
break; break;
......
...@@ -15,6 +15,7 @@ struct IR_i2c { ...@@ -15,6 +15,7 @@ struct IR_i2c {
unsigned char old; unsigned char old;
struct delayed_work work; struct delayed_work work;
char name[32];
char phys[32]; char phys[32];
int (*get_key)(struct IR_i2c*, u32*, u32*); int (*get_key)(struct IR_i2c*, u32*, u32*);
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册