Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 39565
b: refs/heads/master
c: 76dc82a
h: refs/heads/master
i:
  39563: 6b0be6f
v: v3
  • Loading branch information
Steven Toth authored and Mauro Carvalho Chehab committed Oct 14, 2006
1 parent 7e3f0ff commit a6a777d
Show file tree
Hide file tree
Showing 12 changed files with 90 additions and 53 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e5a301ee02e53acf000bb8331587129930bc2290
refs/heads/master: 76dc82ab57236105285fd8520895c1404b8b952f
2 changes: 1 addition & 1 deletion trunk/Documentation/video4linux/CARDLIST.cx88
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
50 -> NPG Tech Real TV FM Top 10 [14f1:0842]
51 -> WinFast DTV2000 H [107d:665e]
52 -> Geniatech DVB-S [14f1:0084]
53 -> Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DVB-T [0070:1404]
53 -> Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DVB-T [0070:1404,0070:1400,0070:1401,0070:1402]
54 -> Norwood Micro TV Tuner
55 -> Shenzhen Tungsten Ages Tech TE-DTV-250 / Swann OEM [c180:c980]
56 -> Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encoder [0070:9600,0070:9601,0070:9602]
52 changes: 26 additions & 26 deletions trunk/drivers/char/serial167.c
Original file line number Diff line number Diff line change
Expand Up @@ -839,7 +839,7 @@ shutdown(struct cyclades_port * info)
local_irq_save(flags);
if (info->xmit_buf){
free_page((unsigned long) info->xmit_buf);
info->xmit_buf = NULL;
info->xmit_buf = 0;
}

base_addr[CyCAR] = (u_char)channel;
Expand Down Expand Up @@ -1354,7 +1354,7 @@ cy_unthrottle(struct tty_struct * tty)

static int
get_serial_info(struct cyclades_port * info,
struct serial_struct __user * retinfo)
struct serial_struct * retinfo)
{
struct serial_struct tmp;

Expand All @@ -1376,7 +1376,7 @@ get_serial_info(struct cyclades_port * info,

static int
set_serial_info(struct cyclades_port * info,
struct serial_struct __user * new_info)
struct serial_struct * new_info)
{
struct serial_struct new_serial;
struct cyclades_port old_info;
Expand Down Expand Up @@ -1503,7 +1503,7 @@ send_break( struct cyclades_port * info, int duration)
} /* send_break */

static int
get_mon_info(struct cyclades_port * info, struct cyclades_monitor __user * mon)
get_mon_info(struct cyclades_port * info, struct cyclades_monitor * mon)
{

if (copy_to_user(mon, &info->mon, sizeof(struct cyclades_monitor)))
Expand All @@ -1516,7 +1516,7 @@ get_mon_info(struct cyclades_port * info, struct cyclades_monitor __user * mon)
}

static int
set_threshold(struct cyclades_port * info, unsigned long __user *arg)
set_threshold(struct cyclades_port * info, unsigned long *arg)
{
volatile unsigned char *base_addr = (u_char *)BASE_ADDR;
unsigned long value;
Expand All @@ -1533,7 +1533,7 @@ set_threshold(struct cyclades_port * info, unsigned long __user *arg)
}

static int
get_threshold(struct cyclades_port * info, unsigned long __user *value)
get_threshold(struct cyclades_port * info, unsigned long *value)
{
volatile unsigned char *base_addr = (u_char *)BASE_ADDR;
int channel;
Expand All @@ -1546,7 +1546,7 @@ get_threshold(struct cyclades_port * info, unsigned long __user *value)
}

static int
set_default_threshold(struct cyclades_port * info, unsigned long __user *arg)
set_default_threshold(struct cyclades_port * info, unsigned long *arg)
{
unsigned long value;

Expand All @@ -1558,13 +1558,13 @@ set_default_threshold(struct cyclades_port * info, unsigned long __user *arg)
}

static int
get_default_threshold(struct cyclades_port * info, unsigned long __user *value)
get_default_threshold(struct cyclades_port * info, unsigned long *value)
{
return put_user(info->default_threshold,value);
}

static int
set_timeout(struct cyclades_port * info, unsigned long __user *arg)
set_timeout(struct cyclades_port * info, unsigned long *arg)
{
volatile unsigned char *base_addr = (u_char *)BASE_ADDR;
int channel;
Expand All @@ -1581,7 +1581,7 @@ set_timeout(struct cyclades_port * info, unsigned long __user *arg)
}

static int
get_timeout(struct cyclades_port * info, unsigned long __user *value)
get_timeout(struct cyclades_port * info, unsigned long *value)
{
volatile unsigned char *base_addr = (u_char *)BASE_ADDR;
int channel;
Expand All @@ -1601,7 +1601,7 @@ set_default_timeout(struct cyclades_port * info, unsigned long value)
}

static int
get_default_timeout(struct cyclades_port * info, unsigned long __user *value)
get_default_timeout(struct cyclades_port * info, unsigned long *value)
{
return put_user(info->default_timeout,value);
}
Expand All @@ -1613,36 +1613,35 @@ cy_ioctl(struct tty_struct *tty, struct file * file,
unsigned long val;
struct cyclades_port * info = (struct cyclades_port *)tty->driver_data;
int ret_val = 0;
void __user *argp = (void __user *)arg;

#ifdef SERIAL_DEBUG_OTHER
printk("cy_ioctl %s, cmd = %x arg = %lx\n", tty->name, cmd, arg); /* */
#endif

switch (cmd) {
case CYGETMON:
ret_val = get_mon_info(info, argp);
ret_val = get_mon_info(info, (struct cyclades_monitor *)arg);
break;
case CYGETTHRESH:
ret_val = get_threshold(info, argp);
ret_val = get_threshold(info, (unsigned long *)arg);
break;
case CYSETTHRESH:
ret_val = set_threshold(info, argp);
ret_val = set_threshold(info, (unsigned long *)arg);
break;
case CYGETDEFTHRESH:
ret_val = get_default_threshold(info, argp);
ret_val = get_default_threshold(info, (unsigned long *)arg);
break;
case CYSETDEFTHRESH:
ret_val = set_default_threshold(info, argp);
ret_val = set_default_threshold(info, (unsigned long *)arg);
break;
case CYGETTIMEOUT:
ret_val = get_timeout(info, argp);
ret_val = get_timeout(info, (unsigned long *)arg);
break;
case CYSETTIMEOUT:
ret_val = set_timeout(info, argp);
ret_val = set_timeout(info, (unsigned long *)arg);
break;
case CYGETDEFTIMEOUT:
ret_val = get_default_timeout(info, argp);
ret_val = get_default_timeout(info, (unsigned long *)arg);
break;
case CYSETDEFTIMEOUT:
ret_val = set_default_timeout(info, (unsigned long)arg);
Expand All @@ -1665,20 +1664,21 @@ cy_ioctl(struct tty_struct *tty, struct file * file,

/* The following commands are incompletely implemented!!! */
case TIOCGSOFTCAR:
ret_val = put_user(C_CLOCAL(tty) ? 1 : 0, (unsigned long __user *) argp);
ret_val = put_user(C_CLOCAL(tty) ? 1 : 0, (unsigned long *) arg);
break;
case TIOCSSOFTCAR:
ret_val = get_user(val, (unsigned long __user *) argp);
ret_val = get_user(val, (unsigned long *) arg);
if (ret_val)
break;
tty->termios->c_cflag =
((tty->termios->c_cflag & ~CLOCAL) | (val ? CLOCAL : 0));
break;
case TIOCGSERIAL:
ret_val = get_serial_info(info, argp);
ret_val = get_serial_info(info, (struct serial_struct *) arg);
break;
case TIOCSSERIAL:
ret_val = set_serial_info(info, argp);
ret_val = set_serial_info(info,
(struct serial_struct *) arg);
break;
default:
ret_val = -ENOIOCTLCMD;
Expand Down Expand Up @@ -1773,7 +1773,7 @@ cy_close(struct tty_struct * tty, struct file * filp)
tty->driver->flush_buffer(tty);
tty_ldisc_flush(tty);
info->event = 0;
info->tty = NULL;
info->tty = 0;
if (info->blocked_open) {
if (info->close_delay) {
msleep_interruptible(jiffies_to_msecs(info->close_delay));
Expand Down Expand Up @@ -2250,7 +2250,7 @@ scrn[1] = '\0';
info->card = index;
info->line = port_num;
info->flags = STD_COM_FLAGS;
info->tty = NULL;
info->tty = 0;
info->xmit_fifo_size = 12;
info->cor1 = CyPARITY_NONE|Cy_8_BITS;
info->cor2 = CyETC;
Expand Down
8 changes: 4 additions & 4 deletions trunk/drivers/input/misc/hp_sdc_rtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ static struct fasync_struct *hp_sdc_rtc_async_queue;

static DECLARE_WAIT_QUEUE_HEAD(hp_sdc_rtc_wait);

static ssize_t hp_sdc_rtc_read(struct file *file, char __user *buf,
static ssize_t hp_sdc_rtc_read(struct file *file, char *buf,
size_t count, loff_t *ppos);

static int hp_sdc_rtc_ioctl(struct inode *inode, struct file *file,
Expand Down Expand Up @@ -385,14 +385,14 @@ static int hp_sdc_rtc_set_i8042timer (struct timeval *setto, uint8_t setcmd)
return 0;
}

static ssize_t hp_sdc_rtc_read(struct file *file, char __user *buf,
static ssize_t hp_sdc_rtc_read(struct file *file, char *buf,
size_t count, loff_t *ppos) {
ssize_t retval;

if (count < sizeof(unsigned long))
return -EINVAL;

retval = put_user(68, (unsigned long __user *)buf);
retval = put_user(68, (unsigned long *)buf);
return retval;
}

Expand Down Expand Up @@ -696,7 +696,7 @@ static int __init hp_sdc_rtc_init(void)
if ((ret = hp_sdc_request_timer_irq(&hp_sdc_rtc_isr)))
return ret;
misc_register(&hp_sdc_rtc_dev);
create_proc_read_entry ("driver/rtc", 0, NULL,
create_proc_read_entry ("driver/rtc", 0, 0,
hp_sdc_rtc_read_proc, NULL);

printk(KERN_INFO "HP i8042 SDC + MSM-58321 RTC support loaded "
Expand Down
18 changes: 9 additions & 9 deletions trunk/drivers/input/serio/hil_mlc.c
Original file line number Diff line number Diff line change
Expand Up @@ -391,23 +391,23 @@ static int hilse_operate(hil_mlc *mlc, int repoll) {
}

#define FUNC(funct, funct_arg, zero_rc, neg_rc, pos_rc) \
{ HILSE_FUNC, { .func = funct }, funct_arg, zero_rc, neg_rc, pos_rc },
{ HILSE_FUNC, { func: &funct }, funct_arg, zero_rc, neg_rc, pos_rc },
#define OUT(pack) \
{ HILSE_OUT, { .packet = pack }, 0, HILSEN_NEXT, HILSEN_DOZE, 0 },
{ HILSE_OUT, { packet: pack }, 0, HILSEN_NEXT, HILSEN_DOZE, 0 },
#define CTS \
{ HILSE_CTS, { .packet = 0 }, 0, HILSEN_NEXT | HILSEN_SCHED | HILSEN_BREAK, HILSEN_DOZE, 0 },
{ HILSE_CTS, { packet: 0 }, 0, HILSEN_NEXT | HILSEN_SCHED | HILSEN_BREAK, HILSEN_DOZE, 0 },
#define EXPECT(comp, to, got, got_wrong, timed_out) \
{ HILSE_EXPECT, { .packet = comp }, to, got, got_wrong, timed_out },
{ HILSE_EXPECT, { packet: comp }, to, got, got_wrong, timed_out },
#define EXPECT_LAST(comp, to, got, got_wrong, timed_out) \
{ HILSE_EXPECT_LAST, { .packet = comp }, to, got, got_wrong, timed_out },
{ HILSE_EXPECT_LAST, { packet: comp }, to, got, got_wrong, timed_out },
#define EXPECT_DISC(comp, to, got, got_wrong, timed_out) \
{ HILSE_EXPECT_DISC, { .packet = comp }, to, got, got_wrong, timed_out },
{ HILSE_EXPECT_DISC, { packet: comp }, to, got, got_wrong, timed_out },
#define IN(to, got, got_error, timed_out) \
{ HILSE_IN, { .packet = 0 }, to, got, got_error, timed_out },
{ HILSE_IN, { packet: 0 }, to, got, got_error, timed_out },
#define OUT_DISC(pack) \
{ HILSE_OUT_DISC, { .packet = pack }, 0, 0, 0, 0 },
{ HILSE_OUT_DISC, { packet: pack }, 0, 0, 0, 0 },
#define OUT_LAST(pack) \
{ HILSE_OUT_LAST, { .packet = pack }, 0, 0, 0, 0 },
{ HILSE_OUT_LAST, { packet: pack }, 0, 0, 0, 0 },

struct hilse_node hil_mlc_se[HILSEN_END] = {

Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/input/serio/hp_sdc.c
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ static void hp_sdc_tasklet(unsigned long foo) {
* in tasklet/bh context.
*/
if (curr->act.irqhook)
curr->act.irqhook(0, NULL, 0, 0);
curr->act.irqhook(0, 0, 0, 0);
}
curr->actidx = curr->idx;
curr->idx++;
Expand Down Expand Up @@ -525,7 +525,7 @@ unsigned long hp_sdc_put(void) {
up(curr->act.semaphore);
}
else if (act & HP_SDC_ACT_CALLBACK) {
curr->act.irqhook(0,NULL,0,0);
curr->act.irqhook(0,0,0,0);
}
if (curr->idx >= curr->endidx) { /* This transaction is over. */
if (act & HP_SDC_ACT_DEALLOC) kfree(curr);
Expand Down
21 changes: 21 additions & 0 deletions trunk/drivers/media/video/cx88/cx88-cards.c
Original file line number Diff line number Diff line change
Expand Up @@ -1230,6 +1230,7 @@ struct cx88_board cx88_boards[] = {
.vmux = 2,
.gpio0 = 0x84bf,
}},
.mpeg = CX88_MPEG_DVB,
},
[CX88_BOARD_NORWOOD_MICRO] = {
.name = "Norwood Micro TV Tuner",
Expand Down Expand Up @@ -1590,6 +1591,18 @@ struct cx88_subid cx88_subids[] = {
.subvendor = 0x0070,
.subdevice = 0x9000,
.card = CX88_BOARD_HAUPPAUGE_DVB_T1,
},{
.subvendor = 0x0070,
.subdevice = 0x1400,
.card = CX88_BOARD_HAUPPAUGE_HVR3000,
},{
.subvendor = 0x0070,
.subdevice = 0x1401,
.card = CX88_BOARD_HAUPPAUGE_HVR3000,
},{
.subvendor = 0x0070,
.subdevice = 0x1402,
.card = CX88_BOARD_HAUPPAUGE_HVR3000,
},
};
const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids);
Expand Down Expand Up @@ -1633,7 +1646,15 @@ static void hauppauge_eeprom(struct cx88_core *core, u8 *eeprom_data)
/* Make sure we support the board model */
switch (tv.model)
{
case 14009: /* WinTV-HVR3000 (Retail, IR, b/panel video, 3.5mm audio in) */
case 14019: /* WinTV-HVR3000 (Retail, IR Blaster, b/panel video, 3.5mm audio in) */
case 14029: /* WinTV-HVR3000 (Retail, IR, b/panel video, 3.5mm audio in - 880 bridge) */
case 14109: /* WinTV-HVR3000 (Retail, IR, b/panel video, 3.5mm audio in - low profile) */
case 14129: /* WinTV-HVR3000 (Retail, IR, b/panel video, 3.5mm audio in - 880 bridge - LP) */
case 14559: /* WinTV-HVR3000 (OEM, no IR, b/panel video, 3.5mm audio in) */
case 14569: /* WinTV-HVR3000 (OEM, no IR, no back panel video) */
case 14659: /* WinTV-HVR3000 (OEM, no IR, b/panel video, RCA audio in - Low profile) */
case 14669: /* WinTV-HVR3000 (OEM, no IR, no b/panel video - Low profile) */
case 28552: /* WinTV-PVR 'Roslyn' (No IR) */
case 34519: /* WinTV-PCI-FM */
case 90002: /* Nova-T-PCI (9002) */
Expand Down
17 changes: 17 additions & 0 deletions trunk/drivers/media/video/cx88/cx88-dvb.c
Original file line number Diff line number Diff line change
Expand Up @@ -315,15 +315,22 @@ static struct cx22702_config hauppauge_novat_config = {
.demod_address = 0x43,
.output_mode = CX22702_SERIAL_OUTPUT,
};

static struct cx22702_config hauppauge_hvr1100_config = {
.demod_address = 0x63,
.output_mode = CX22702_SERIAL_OUTPUT,
};

static struct cx22702_config hauppauge_hvr1300_config = {
.demod_address = 0x63,
.output_mode = CX22702_SERIAL_OUTPUT,
};

static struct cx22702_config hauppauge_hvr3000_config = {
.demod_address = 0x63,
.output_mode = CX22702_SERIAL_OUTPUT,
};

static int or51132_set_ts_param(struct dvb_frontend* fe,
int is_punctured)
{
Expand Down Expand Up @@ -558,6 +565,16 @@ static int dvb_register(struct cx8802_dev *dev)
&dvb_pll_fmd1216me);
}
break;
case CX88_BOARD_HAUPPAUGE_HVR3000:
dev->dvb.frontend = dvb_attach(cx22702_attach,
&hauppauge_hvr3000_config,
&dev->core->i2c_adap);
if (dev->dvb.frontend != NULL) {
dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61,
&dev->core->i2c_adap,
&dvb_pll_fmd1216me);
}
break;
case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS:
dev->dvb.frontend = dvb_attach(mt352_attach,
&dvico_fusionhdtv,
Expand Down
2 changes: 2 additions & 0 deletions trunk/drivers/media/video/cx88/cx88-input.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci)
case CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1:
case CX88_BOARD_HAUPPAUGE_HVR1100:
case CX88_BOARD_HAUPPAUGE_HVR1300:
case CX88_BOARD_HAUPPAUGE_HVR3000:
ir_codes = ir_codes_hauppauge_new;
ir_type = IR_TYPE_RC5;
ir->sampling = 1;
Expand Down Expand Up @@ -419,6 +420,7 @@ void cx88_ir_irq(struct cx88_core *core)
case CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1:
case CX88_BOARD_HAUPPAUGE_HVR1100:
case CX88_BOARD_HAUPPAUGE_HVR1300:
case CX88_BOARD_HAUPPAUGE_HVR3000:
ircode = ir_decode_biphase(ir->samples, ir->scount, 5, 7);
ir_dprintk("biphase decoded: %x\n", ircode);
if ((ircode & 0xfffff000) != 0x3000)
Expand Down
Loading

0 comments on commit a6a777d

Please sign in to comment.