Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

V4L/DVB: tm6000: request labeling board version check

request labeling board version check

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

authored by

Stefan Ringel and committed by
Mauro Carvalho Chehab
2f790884 f1434f4e

+19 -4
+2 -2
drivers/staging/tm6000/tm6000-cards.c
··· 480 480 } 481 481 482 482 if (!i) { 483 - rc = tm6000_get_reg16(dev, 0x40, 0, 0); 483 + rc = tm6000_get_reg32(dev, REQ_40_GET_VERSION, 0, 0); 484 484 if (rc >= 0) 485 - printk(KERN_DEBUG "board=%d\n", rc); 485 + printk(KERN_DEBUG "board=0x%08x\n", rc); 486 486 } 487 487 } 488 488
+16 -2
drivers/staging/tm6000/tm6000-core.c
··· 139 139 return buf[1]|buf[0]<<8; 140 140 } 141 141 142 + int tm6000_get_reg32 (struct tm6000_core *dev, u8 req, u16 value, u16 index) 143 + { 144 + int rc; 145 + u8 buf[4]; 146 + 147 + rc=tm6000_read_write_usb (dev, USB_DIR_IN | USB_TYPE_VENDOR, req, 148 + value, index, buf, 4); 149 + 150 + if (rc<0) 151 + return rc; 152 + 153 + return buf[3] | buf[2] << 8 | buf[1] << 16 | buf[0] << 24; 154 + } 155 + 142 156 void tm6000_set_fourcc_format(struct tm6000_core *dev) 143 157 { 144 158 if (dev->dev_type == TM6010) { ··· 469 455 msleep(5); /* Just to be conservative */ 470 456 471 457 /* Check board version - maybe 10Moons specific */ 472 - board=tm6000_get_reg16 (dev, 0x40, 0, 0); 458 + board=tm6000_get_reg32 (dev, REQ_40_GET_VERSION, 0, 0); 473 459 if (board >=0) { 474 - printk (KERN_INFO "Board version = 0x%04x\n",board); 460 + printk (KERN_INFO "Board version = 0x%08x\n",board); 475 461 } else { 476 462 printk (KERN_ERR "Error %i while retrieving board version\n",board); 477 463 }
+1
drivers/staging/tm6000/tm6000.h
··· 225 225 u16 value, u16 index, u8 *buf, u16 len); 226 226 int tm6000_get_reg (struct tm6000_core *dev, u8 req, u16 value, u16 index); 227 227 int tm6000_get_reg16(struct tm6000_core *dev, u8 req, u16 value, u16 index); 228 + int tm6000_get_reg32(struct tm6000_core *dev, u8 req, u16 value, u16 index); 228 229 int tm6000_set_reg (struct tm6000_core *dev, u8 req, u16 value, u16 index); 229 230 int tm6000_init (struct tm6000_core *dev); 230 231