wok rev 9387

v4l-dvb: add patches for kernel 2.6.37
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Mar 26 12:32:20 2011 +0100 (2011-03-26)
parents c8159297fa54
children 236beefaa7a1
files v4l-dvb/receipt v4l-dvb/stuff/414e0bbd99bf v4l-dvb/stuff/d0a2ff731670 v4l-dvb/stuff/d64b014c5253
line diff
     1.1 --- a/v4l-dvb/receipt	Sat Mar 26 11:12:45 2011 +0100
     1.2 +++ b/v4l-dvb/receipt	Sat Mar 26 12:32:20 2011 +0100
     1.3 @@ -6,7 +6,7 @@
     1.4  MAINTAINER="jozee@slitaz.org"
     1.5  SHORT_DESC="v4l-dvb development repository"
     1.6  DEPENDS=""
     1.7 -BUILD_DEPENDS="python mercurial coreutils-operations"
     1.8 +BUILD_DEPENDS="python mercurial coreutils-operations module-init-tools"
     1.9  WEB_SITE="http://linuxtv.org/hg/v4l-dvb/"
    1.10  TAGS="webcam"
    1.11  WGET_URL="mercurial|$WEB_SITE"
    1.12 @@ -14,6 +14,9 @@
    1.13  # Rules to configure and make the package.
    1.14  compile_rules() {
    1.15    cd $src
    1.16 +  patch -p1 < ../stuff/414e0bbd99bf
    1.17 +  patch -p1 < ../stuff/d64b014c5253
    1.18 +  patch -p1 < ../stuff/d0a2ff731670
    1.19    sed -i 's/0 | xargs -0n 255 ln -sf --target-directory=\./ | while read file; do ln -sf $file . ; done/' v4l/Makefile
    1.20    grep -rl /sbin/depmod * | xargs sed -i 's|/sbin/depmod|/bin/echo|'
    1.21    grep -rl i2c_new_probed_device * | xargs sed -i 's/i2c_new_probed_device([^)]*/&, NULL/'
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/v4l-dvb/stuff/414e0bbd99bf	Sat Mar 26 12:32:20 2011 +0100
     2.3 @@ -0,0 +1,49 @@
     2.4 +
     2.5 +# HG changeset patch
     2.6 +# User Igor M. Liplianin <liplianin@me.by>
     2.7 +# Date 1293902198 -7200
     2.8 +# Node ID 414e0bbd99bf23b178c4b8aa539ef8f9f270117e
     2.9 +# Parent  d64b014c5253e3699e025339619a6f7704f2fb81
    2.10 +[PATCH 1/1] [media] i2c: Stop using I2C_CLASS_TV_ANALOG
    2.11 +
    2.12 +From: Jean Delvare <khali@linux-fr.org>
    2.13 +
    2.14 +Detection class I2C_CLASS_TV_ANALOG is set by a few adapters but no
    2.15 +I2C device driver is setting it anymore, which means it can be
    2.16 +dropped. I2C devices on analog TV adapters are instantiated
    2.17 +explicitly these days, which is much better.
    2.18 +
    2.19 +Signed-off-by: Jean Delvare <khali@linux-fr.org>
    2.20 +Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
    2.21 +
    2.22 +--- a/linux/drivers/media/video/hdpvr/hdpvr-i2c.c	Sat Jan 01 19:13:39 2011 +0200
    2.23 ++++ b/linux/drivers/media/video/hdpvr/hdpvr-i2c.c	Sat Jan 01 19:16:38 2011 +0200
    2.24 +@@ -127,7 +127,6 @@
    2.25 + 	strlcpy(i2c_adap->name, "Hauppauge HD PVR I2C",
    2.26 + 		sizeof(i2c_adap->name));
    2.27 + 	i2c_adap->algo  = &hdpvr_algo;
    2.28 +-	i2c_adap->class = I2C_CLASS_TV_ANALOG;
    2.29 + 	i2c_adap->owner = THIS_MODULE;
    2.30 + 	i2c_adap->dev.parent = &dev->udev->dev;
    2.31 + 
    2.32 +--- a/linux/drivers/media/video/hexium_gemini.c	Sat Jan 01 19:13:39 2011 +0200
    2.33 ++++ b/linux/drivers/media/video/hexium_gemini.c	Sat Jan 01 19:16:38 2011 +0200
    2.34 +@@ -368,7 +368,6 @@
    2.35 + 	saa7146_write(dev, MC1, (MASK_08 | MASK_24 | MASK_10 | MASK_26));
    2.36 + 
    2.37 + 	hexium->i2c_adapter = (struct i2c_adapter) {
    2.38 +-		.class = I2C_CLASS_TV_ANALOG,
    2.39 + 		.name = "hexium gemini",
    2.40 + 	};
    2.41 + 	saa7146_i2c_adapter_prepare(dev, &hexium->i2c_adapter, SAA7146_I2C_BUS_BIT_RATE_480);
    2.42 +--- a/linux/drivers/media/video/hexium_orion.c	Sat Jan 01 19:13:39 2011 +0200
    2.43 ++++ b/linux/drivers/media/video/hexium_orion.c	Sat Jan 01 19:16:38 2011 +0200
    2.44 +@@ -231,7 +231,6 @@
    2.45 + 	saa7146_write(dev, MC2, (MASK_09 | MASK_25 | MASK_10 | MASK_26));
    2.46 + 
    2.47 + 	hexium->i2c_adapter = (struct i2c_adapter) {
    2.48 +-		.class = I2C_CLASS_TV_ANALOG,
    2.49 + 		.name = "hexium orion",
    2.50 + 	};
    2.51 + 	saa7146_i2c_adapter_prepare(dev, &hexium->i2c_adapter, SAA7146_I2C_BUS_BIT_RATE_480);
    2.52 +
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/v4l-dvb/stuff/d0a2ff731670	Sat Mar 26 12:32:20 2011 +0100
     3.3 @@ -0,0 +1,181 @@
     3.4 +
     3.5 +# HG changeset patch
     3.6 +# User Jean Delvare <khali@linux-fr.org>
     3.7 +# Date 1293818674 -7200
     3.8 +# Node ID d0a2ff731670f853f4e661e8542eacd29fd55131
     3.9 +# Parent  3be76b724b85004860ba7c625a735bc8b060bac4
    3.10 +[PATCH] [media] i2c: Stop using I2C_CLASS_TV_DIGITAL
    3.11 +
    3.12 +From: Jean Delvare <khali@linux-fr.org>
    3.13 +
    3.14 +Detection class I2C_CLASS_TV_DIGITAL is set by many adapters but no
    3.15 +I2C device driver is setting it anymore, which means it can be
    3.16 +dropped. I2C devices on digital TV adapters are instantiated
    3.17 +explicitly these days, which is much better.
    3.18 +
    3.19 +Signed-off-by: Jean Delvare <khali@linux-fr.org>
    3.20 +Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
    3.21 +
    3.22 +--- a/linux/drivers/media/dvb/b2c2/flexcop-i2c.c	Fri Dec 31 12:33:14 2010 +0100
    3.23 ++++ b/linux/drivers/media/dvb/b2c2/flexcop-i2c.c	Fri Dec 31 20:04:34 2010 +0200
    3.24 +@@ -248,9 +248,6 @@
    3.25 + 	i2c_set_adapdata(&fc->fc_i2c_adap[1].i2c_adap, &fc->fc_i2c_adap[1]);
    3.26 + 	i2c_set_adapdata(&fc->fc_i2c_adap[2].i2c_adap, &fc->fc_i2c_adap[2]);
    3.27 + 
    3.28 +-	fc->fc_i2c_adap[0].i2c_adap.class =
    3.29 +-		fc->fc_i2c_adap[1].i2c_adap.class =
    3.30 +-		fc->fc_i2c_adap[2].i2c_adap.class = I2C_CLASS_TV_DIGITAL;
    3.31 + 	fc->fc_i2c_adap[0].i2c_adap.algo =
    3.32 + 		fc->fc_i2c_adap[1].i2c_adap.algo =
    3.33 + 		fc->fc_i2c_adap[2].i2c_adap.algo = &flexcop_algo;
    3.34 +--- a/linux/drivers/media/dvb/dm1105/dm1105.c	Fri Dec 31 12:33:14 2010 +0100
    3.35 ++++ b/linux/drivers/media/dvb/dm1105/dm1105.c	Fri Dec 31 20:04:34 2010 +0200
    3.36 +@@ -894,7 +894,6 @@
    3.37 + 	i2c_set_adapdata(&dev->i2c_adap, dev);
    3.38 + 	strcpy(dev->i2c_adap.name, DRIVER_NAME);
    3.39 + 	dev->i2c_adap.owner = THIS_MODULE;
    3.40 +-	dev->i2c_adap.class = I2C_CLASS_TV_DIGITAL;
    3.41 + 	dev->i2c_adap.dev.parent = &pdev->dev;
    3.42 + 	dev->i2c_adap.algo = &dm1105_algo;
    3.43 + 	dev->i2c_adap.algo_data = dev;
    3.44 +--- a/linux/drivers/media/dvb/dvb-usb/af9015.c	Fri Dec 31 12:33:14 2010 +0100
    3.45 ++++ b/linux/drivers/media/dvb/dvb-usb/af9015.c	Fri Dec 31 20:04:34 2010 +0200
    3.46 +@@ -1135,11 +1135,6 @@
    3.47 + 
    3.48 + 	strncpy(state->i2c_adap.name, d->desc->name,
    3.49 + 		sizeof(state->i2c_adap.name));
    3.50 +-#ifdef I2C_ADAP_CLASS_TV_DIGITAL
    3.51 +-	state->i2c_adap.class = I2C_ADAP_CLASS_TV_DIGITAL,
    3.52 +-#else
    3.53 +-	state->i2c_adap.class = I2C_CLASS_TV_DIGITAL,
    3.54 +-#endif
    3.55 + 	state->i2c_adap.algo      = d->props.i2c_algo;
    3.56 + 	state->i2c_adap.algo_data = NULL;
    3.57 + 	state->i2c_adap.dev.parent = &d->udev->dev;
    3.58 +--- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c	Fri Dec 31 12:33:14 2010 +0100
    3.59 ++++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c	Fri Dec 31 20:04:34 2010 +0200
    3.60 +@@ -20,7 +20,6 @@
    3.61 + 	}
    3.62 + 
    3.63 + 	strlcpy(d->i2c_adap.name, d->desc->name, sizeof(d->i2c_adap.name));
    3.64 +-	d->i2c_adap.class = I2C_CLASS_TV_DIGITAL,
    3.65 + 	d->i2c_adap.algo      = d->props.i2c_algo;
    3.66 + 	d->i2c_adap.algo_data = NULL;
    3.67 + 	d->i2c_adap.dev.parent = &d->udev->dev;
    3.68 +--- a/linux/drivers/media/dvb/frontends/cx24123.c	Fri Dec 31 12:33:14 2010 +0100
    3.69 ++++ b/linux/drivers/media/dvb/frontends/cx24123.c	Fri Dec 31 20:04:34 2010 +0200
    3.70 +@@ -1111,7 +1111,6 @@
    3.71 + 
    3.72 + 	strlcpy(state->tuner_i2c_adapter.name, "CX24123 tuner I2C bus",
    3.73 + 		sizeof(state->tuner_i2c_adapter.name));
    3.74 +-	state->tuner_i2c_adapter.class     = I2C_CLASS_TV_DIGITAL,
    3.75 + 	state->tuner_i2c_adapter.algo      = &cx24123_tuner_i2c_algo;
    3.76 + 	state->tuner_i2c_adapter.algo_data = NULL;
    3.77 + 	i2c_set_adapdata(&state->tuner_i2c_adapter, state);
    3.78 +--- a/linux/drivers/media/dvb/frontends/dibx000_common.c	Fri Dec 31 12:33:14 2010 +0100
    3.79 ++++ b/linux/drivers/media/dvb/frontends/dibx000_common.c	Fri Dec 31 20:04:34 2010 +0200
    3.80 +@@ -172,7 +172,6 @@
    3.81 + 			    struct dibx000_i2c_master *mst)
    3.82 + {
    3.83 + 	strncpy(i2c_adap->name, name, sizeof(i2c_adap->name));
    3.84 +-	i2c_adap->class = I2C_CLASS_TV_DIGITAL, i2c_adap->algo = algo;
    3.85 + 	i2c_adap->algo_data = NULL;
    3.86 + 	i2c_set_adapdata(i2c_adap, mst);
    3.87 + 	if (i2c_add_adapter(i2c_adap) < 0)
    3.88 +--- a/linux/drivers/media/dvb/frontends/s5h1420.c	Fri Dec 31 12:33:14 2010 +0100
    3.89 ++++ b/linux/drivers/media/dvb/frontends/s5h1420.c	Fri Dec 31 20:04:34 2010 +0200
    3.90 +@@ -955,7 +955,6 @@
    3.91 + 	/* create tuner i2c adapter */
    3.92 + 	strlcpy(state->tuner_i2c_adapter.name, "S5H1420-PN1010 tuner I2C bus",
    3.93 + 		sizeof(state->tuner_i2c_adapter.name));
    3.94 +-	state->tuner_i2c_adapter.class     = I2C_CLASS_TV_DIGITAL,
    3.95 + 	state->tuner_i2c_adapter.algo      = &s5h1420_tuner_i2c_algo;
    3.96 + 	state->tuner_i2c_adapter.algo_data = NULL;
    3.97 + 	i2c_set_adapdata(&state->tuner_i2c_adapter, state);
    3.98 +--- a/linux/drivers/media/dvb/mantis/mantis_i2c.c	Fri Dec 31 12:33:14 2010 +0100
    3.99 ++++ b/linux/drivers/media/dvb/mantis/mantis_i2c.c	Fri Dec 31 20:04:34 2010 +0200
   3.100 +@@ -159,7 +159,6 @@
   3.101 + 	.owner			= THIS_MODULE,
   3.102 + 	.name			= "Mantis I2C",
   3.103 + 	.id			= I2C_HW_B_MANTIS,
   3.104 +-	.class			= I2C_CLASS_TV_DIGITAL,
   3.105 + 	.algo			= &mantis_algo,
   3.106 + };
   3.107 + 
   3.108 +--- a/linux/drivers/media/dvb/ngene/ngene-i2c.c	Fri Dec 31 12:33:14 2010 +0100
   3.109 ++++ b/linux/drivers/media/dvb/ngene/ngene-i2c.c	Fri Dec 31 20:04:34 2010 +0200
   3.110 +@@ -212,11 +212,6 @@
   3.111 + 	struct i2c_adapter *adap = &(dev->channel[dev_nr].i2c_adapter);
   3.112 + 
   3.113 + 	i2c_set_adapdata(adap, &(dev->channel[dev_nr]));
   3.114 +-#ifdef I2C_CLASS_TV_DIGITAL
   3.115 +-	adap->class = I2C_CLASS_TV_DIGITAL | I2C_CLASS_TV_ANALOG;
   3.116 +-#else
   3.117 +-	adap->class = I2C_CLASS_TV_ANALOG;
   3.118 +-#endif
   3.119 + 
   3.120 + 	strcpy(adap->name, "nGene");
   3.121 + 
   3.122 +--- a/linux/drivers/media/dvb/pluto2/pluto2.c	Fri Dec 31 12:33:14 2010 +0100
   3.123 ++++ b/linux/drivers/media/dvb/pluto2/pluto2.c	Fri Dec 31 20:04:34 2010 +0200
   3.124 +@@ -655,7 +655,6 @@
   3.125 + 	i2c_set_adapdata(&pluto->i2c_adap, pluto);
   3.126 + 	strcpy(pluto->i2c_adap.name, DRIVER_NAME);
   3.127 + 	pluto->i2c_adap.owner = THIS_MODULE;
   3.128 +-	pluto->i2c_adap.class = I2C_CLASS_TV_DIGITAL;
   3.129 + 	pluto->i2c_adap.dev.parent = &pdev->dev;
   3.130 + 	pluto->i2c_adap.algo_data = &pluto->i2c_bit;
   3.131 + 	pluto->i2c_bit.data = pluto;
   3.132 +--- a/linux/drivers/media/dvb/pt1/pt1.c	Fri Dec 31 12:33:14 2010 +0100
   3.133 ++++ b/linux/drivers/media/dvb/pt1/pt1.c	Fri Dec 31 20:04:34 2010 +0200
   3.134 +@@ -1087,7 +1087,6 @@
   3.135 + 	pt1_update_power(pt1);
   3.136 + 
   3.137 + 	i2c_adap = &pt1->i2c_adap;
   3.138 +-	i2c_adap->class = I2C_CLASS_TV_DIGITAL;
   3.139 + 	i2c_adap->algo = &pt1_i2c_algo;
   3.140 + 	i2c_adap->algo_data = NULL;
   3.141 + 	i2c_adap->dev.parent = &pdev->dev;
   3.142 +--- a/linux/drivers/media/dvb/ttpci/av7110.c	Fri Dec 31 12:33:14 2010 +0100
   3.143 ++++ b/linux/drivers/media/dvb/ttpci/av7110.c	Fri Dec 31 20:04:34 2010 +0200
   3.144 +@@ -2479,7 +2479,6 @@
   3.145 + 	   get recognized before the main driver is fully loaded */
   3.146 + 	saa7146_write(dev, GPIO_CTRL, 0x500000);
   3.147 + 
   3.148 +-	av7110->i2c_adap.class = I2C_CLASS_TV_DIGITAL;
   3.149 + 	strlcpy(av7110->i2c_adap.name, pci_ext->ext_priv, sizeof(av7110->i2c_adap.name));
   3.150 + 
   3.151 + 	saa7146_i2c_adapter_prepare(dev, &av7110->i2c_adap, SAA7146_I2C_BUS_BIT_RATE_120); /* 275 kHz */
   3.152 +--- a/linux/drivers/media/dvb/ttpci/budget-core.c	Fri Dec 31 12:33:14 2010 +0100
   3.153 ++++ b/linux/drivers/media/dvb/ttpci/budget-core.c	Fri Dec 31 20:04:34 2010 +0200
   3.154 +@@ -495,8 +495,6 @@
   3.155 + 	if (bi->type != BUDGET_FS_ACTIVY)
   3.156 + 		saa7146_write(dev, GPIO_CTRL, 0x500000);	/* GPIO 3 = 1 */
   3.157 + 
   3.158 +-	budget->i2c_adap.class = I2C_CLASS_TV_DIGITAL;
   3.159 +-
   3.160 + 	strlcpy(budget->i2c_adap.name, budget->card->name, sizeof(budget->i2c_adap.name));
   3.161 + 
   3.162 + 	saa7146_i2c_adapter_prepare(dev, &budget->i2c_adap, SAA7146_I2C_BUS_BIT_RATE_120);
   3.163 +--- a/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c	Fri Dec 31 12:33:14 2010 +0100
   3.164 ++++ b/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c	Fri Dec 31 20:04:34 2010 +0200
   3.165 +@@ -1717,7 +1717,6 @@
   3.166 + 
   3.167 + 	i2c_set_adapdata(&ttusb->i2c_adap, ttusb);
   3.168 + 
   3.169 +-	ttusb->i2c_adap.class		  = I2C_CLASS_TV_DIGITAL;
   3.170 + 	ttusb->i2c_adap.algo              = &ttusb_dec_algo;
   3.171 + 	ttusb->i2c_adap.algo_data         = NULL;
   3.172 + 	ttusb->i2c_adap.dev.parent	  = &udev->dev;
   3.173 +--- a/linux/drivers/media/video/cx88/cx88-vp3054-i2c.c	Fri Dec 31 12:33:14 2010 +0100
   3.174 ++++ b/linux/drivers/media/video/cx88/cx88-vp3054-i2c.c	Fri Dec 31 20:04:34 2010 +0200
   3.175 +@@ -121,8 +121,6 @@
   3.176 + 	memcpy(&vp3054_i2c->algo, &vp3054_i2c_algo_template,
   3.177 + 	       sizeof(vp3054_i2c->algo));
   3.178 + 
   3.179 +-	vp3054_i2c->adap.class |= I2C_CLASS_TV_DIGITAL;
   3.180 +-
   3.181 + 	vp3054_i2c->adap.dev.parent = &dev->pci->dev;
   3.182 + 	strlcpy(vp3054_i2c->adap.name, core->name,
   3.183 + 		sizeof(vp3054_i2c->adap.name));
   3.184 +
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/v4l-dvb/stuff/d64b014c5253	Sat Mar 26 12:32:20 2011 +0100
     4.3 @@ -0,0 +1,37 @@
     4.4 +
     4.5 +# HG changeset patch
     4.6 +# User Igor M. Liplianin <liplianin@me.by>
     4.7 +# Date 1293902019 -7200
     4.8 +# Node ID d64b014c5253e3699e025339619a6f7704f2fb81
     4.9 +# Parent  d0a2ff731670f853f4e661e8542eacd29fd55131
    4.10 +V4L/DVB: dvb: Convert "mutex" to semaphore
    4.11 +
    4.12 +From: Thomas Gleixner <tglx@linutronix.de>
    4.13 +
    4.14 +Get rid of init_MUTEX[_LOCKED]() and use sema_init() instead.
    4.15 +
    4.16 +Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    4.17 +Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
    4.18 +---
    4.19 +
    4.20 +--- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c	Fri Dec 31 20:04:34 2010 +0200
    4.21 ++++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c	Sat Jan 01 19:13:39 2011 +0200
    4.22 +@@ -715,7 +715,7 @@
    4.23 + 
    4.24 + 	kthread_stop(fepriv->thread);
    4.25 + 
    4.26 +-	init_MUTEX (&fepriv->sem);
    4.27 ++	sema_init(&fepriv->sem, 1);
    4.28 + 	fepriv->state = FESTATE_IDLE;
    4.29 + 
    4.30 + 	/* paranoia check in case a signal arrived */
    4.31 +@@ -2074,7 +2074,7 @@
    4.32 + 	}
    4.33 + 	fepriv = fe->frontend_priv;
    4.34 + 
    4.35 +-	init_MUTEX (&fepriv->sem);
    4.36 ++	sema_init(&fepriv->sem, 1);
    4.37 + 	init_waitqueue_head (&fepriv->wait_queue);
    4.38 + 	init_waitqueue_head (&fepriv->events.wait_queue);
    4.39 + 	mutex_init(&fepriv->events.mtx);
    4.40 +