PLEASE folks, make sure not to break gcc 2.95. Can't be that hard at all. Until 3.x produces a kernel which does not crash DVB (3.3.3 does not, will try 3.4.3 later) I'm recommending to stick with 2.95. Olaf Index: linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c =================================================================== RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c,v retrieving revision 1.2 diff -b -u -r1.2 flexcop-fe-tuner.c --- linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c 17 Mar 2005 03:14:03 -0000 1.2 +++ linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c 19 Mar 2005 16:42:26 -0000 @@ -60,8 +60,8 @@ /* u16 wz_half_period_for_45_mhz[] = { 0x01ff, 0x0154, 0x00ff, 0x00cc }; */ struct flexcop_device *fc = fe->dvb->priv; flexcop_ibi_value v; - v.raw = 0; u16 ax; + v.raw = 0; deb_tuner("tone = %u\n",tone); Index: linux/drivers/media/dvb/dibusb/dvb-dibusb-core.c =================================================================== RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/dibusb/dvb-dibusb-core.c,v retrieving revision 1.25 diff -b -u -r1.25 dvb-dibusb-core.c --- linux/drivers/media/dvb/dibusb/dvb-dibusb-core.c 14 Mar 2005 13:44:17 -0000 1.25 +++ linux/drivers/media/dvb/dibusb/dvb-dibusb-core.c 19 Mar 2005 16:42:27 -0000 @@ -424,9 +424,8 @@ static struct dibusb_usb_device * dibusb_find_device (struct usb_device *udev,int *cold) { int i,j; - *cold = -1; struct dibusb_usb_device *dev = NULL; - + *cold = -1; for (i = 0; i < sizeof(dibusb_devices)/sizeof(struct dibusb_usb_device); i++) { for (j = 0; j < DIBUSB_ID_MAX_NUM && dibusb_devices[i].cold_ids[j] != NULL; j++) { deb_info("check for cold %x %x\n",dibusb_devices[i].cold_ids[j]->idVendor, dibusb_devices[i].cold_ids[j]->idProduct); Index: linux/drivers/media/dvb/dibusb/dvb-fe-dtt200u.c =================================================================== RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/dibusb/dvb-fe-dtt200u.c,v retrieving revision 1.1 diff -b -u -r1.1 dvb-fe-dtt200u.c --- linux/drivers/media/dvb/dibusb/dvb-fe-dtt200u.c 14 Mar 2005 13:44:17 -0000 1.1 +++ linux/drivers/media/dvb/dibusb/dvb-fe-dtt200u.c 19 Mar 2005 16:42:27 -0000 @@ -168,12 +168,14 @@ static int dtt200u_pid_control(struct dvb_frontend *fe,int index, int pid,int onoff) { - struct dtt200u_fe_state *state = (struct dtt200u_fe_state*) fe->demodulator_priv; pid = onoff ? pid : 0; + { + struct dtt200u_fe_state *state = (struct dtt200u_fe_state*) fe->demodulator_priv; u8 b_pid[4] = { 0x04, index, pid & 0xff, (pid >> 8) & 0xff }; dibusb_write_usb(state->dib,b_pid,4); return 0; + } } static int dtt200u_fifo_control(struct dvb_frontend *fe, int onoff) Index: linux/drivers/media/dvb/frontends/dvb-pll.h =================================================================== RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/frontends/dvb-pll.h,v retrieving revision 1.1 diff -b -u -r1.1 dvb-pll.h --- linux/drivers/media/dvb/frontends/dvb-pll.h 16 Feb 2005 19:50:06 -0000 1.1 +++ linux/drivers/media/dvb/frontends/dvb-pll.h 19 Mar 2005 16:42:28 -0000 @@ -2,6 +2,12 @@ * $Id: dvb-pll.h,v 1.1 2005/02/16 19:50:06 js Exp $ */ +#if __GNUC__ < 3 +#define MAX_PLL_ENTRIES 10 +#else +#define MAX_PLL_ENTRIES +#endif + struct dvb_pll_desc { char *name; u32 min; @@ -14,7 +20,7 @@ u32 stepsize; u8 cb1; u8 cb2; - } entries[]; + } entries[MAX_PLL_ENTRIES]; }; extern struct dvb_pll_desc dvb_pll_thomson_dtt7579; Index: linux/drivers/media/dvb/ttpci/av7110_ir.c =================================================================== RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/ttpci/av7110_ir.c,v retrieving revision 1.18 diff -b -u -r1.18 av7110_ir.c --- linux/drivers/media/dvb/ttpci/av7110_ir.c 9 Mar 2005 15:11:05 -0000 1.18 +++ linux/drivers/media/dvb/ttpci/av7110_ir.c 19 Mar 2005 16:42:28 -0000 @@ -161,11 +161,11 @@ int __init av7110_ir_init(void) { + static struct proc_dir_entry *e; + if (ir_initialized) return 0; - static struct proc_dir_entry *e; - init_timer(&keyup_timer); keyup_timer.data = 0; Index: linux/drivers/media/dvb/ttpci/budget-av.c =================================================================== RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/ttpci/budget-av.c,v retrieving revision 1.38 diff -b -u -r1.38 budget-av.c --- linux/drivers/media/dvb/ttpci/budget-av.c 17 Mar 2005 03:16:12 -0000 1.38 +++ linux/drivers/media/dvb/ttpci/budget-av.c 19 Mar 2005 16:42:29 -0000 @@ -188,6 +188,7 @@ { struct budget_av *budget_av = (struct budget_av *) ca->data; struct saa7146_dev *saa = budget_av->budget.dev; + int max = 20; if (slot != 0) return -EINVAL; @@ -199,7 +200,6 @@ msleep(100); saa7146_setgpio(saa, 0, SAA7146_GPIO_OUTLO); - int max = 20; while (--max > 0 && ciintf_read_attribute_mem(ca, slot, 0) != 0x1d) msleep(100); === end of patch ===