rpms/kernel/devel linux-2.6-net-fix-gro-bug.patch, NONE, 1.1.2.2 linux-2.6-net-xfrm-fix-spin-unlock.patch, NONE, 1.1.2.2 linux-2.6-relatime-by-default.patch, NONE, 1.1.2.2 linux-2.6-revert-dvb-net-kabi-change.patch, NONE, 1.1.2.2 linux-2.6-v4l-pvrusb2-fixes.patch, NONE, 1.1.2.2 config-generic, 1.238.6.12, 1.238.6.13 drm-i915-resume-force-mode.patch, 1.1.2.2, 1.1.2.3 drm-nouveau.patch, 1.8.6.6, 1.8.6.7 increase-MAX_LOCKDEP_ENTRIES.patch, 1.1.2.2, 1.1.2.3 kernel.spec, 1.1294.2.14, 1.1294.2.15 linux-2.6-v4l-dvb-experimental.patch, 1.2.2.3, 1.2.2.4 linux-2.6-v4l-dvb-fixes.patch, 1.2.8.5, 1.2.8.6 linux-2.6-v4l-dvb-update.patch, 1.1.2.7, 1.1.2.8 xen.pvops.post.patch, 1.1.2.7, 1.1.2.8

Michael Young myoung at fedoraproject.org
Sat Mar 28 15:19:40 UTC 2009


Author: myoung

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv5551

Modified Files:
      Tag: private-myoung-dom0-branch
	config-generic drm-i915-resume-force-mode.patch 
	drm-nouveau.patch increase-MAX_LOCKDEP_ENTRIES.patch 
	kernel.spec linux-2.6-v4l-dvb-experimental.patch 
	linux-2.6-v4l-dvb-fixes.patch linux-2.6-v4l-dvb-update.patch 
	xen.pvops.post.patch 
Added Files:
      Tag: private-myoung-dom0-branch
	linux-2.6-net-fix-gro-bug.patch 
	linux-2.6-net-xfrm-fix-spin-unlock.patch 
	linux-2.6-relatime-by-default.patch 
	linux-2.6-revert-dvb-net-kabi-change.patch 
	linux-2.6-v4l-pvrusb2-fixes.patch 
Log Message:
pvops has compile problems with dropwatch patch applied so drop it


linux-2.6-net-fix-gro-bug.patch:

--- NEW FILE linux-2.6-net-fix-gro-bug.patch ---
http://marc.info/?l=linux-kernel&m=123819452727313&w=4


It's a known problem, the following fix will be submitted
to 2.6.29.1 over the weekend.

GRO: Disable GRO on legacy netif_rx path

When I fixed the GRO crash in the legacy receive path I used
napi_complete to replace __napi_complete.  Unfortunately they're
not the same when NETPOLL is enabled, which may result in us
not calling __napi_complete at all.

What's more, we really do need to keep the __napi_complete call
within the IRQ-off section since in theory an IRQ can occur in
between and fill up the backlog to the maximum, causing us to
lock up.

Since we can't seem to find a fix that works properly right now,
this patch reverts all the GRO support from the netif_rx path.

Signed-off-by: Herbert Xu <herbert at gondor.apana.org.au>
Signed-off-by: David S. Miller <davem at davemloft.net>
---
 net/core/dev.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/net/core/dev.c b/net/core/dev.c
index 052dd47..63ec4bf 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2627,18 +2627,15 @@ static int process_backlog(struct napi_struct *napi, int quota)
 		local_irq_disable();
 		skb = __skb_dequeue(&queue->input_pkt_queue);
 		if (!skb) {
+			__napi_complete(napi);
 			local_irq_enable();
-			napi_complete(napi);
-			goto out;
+			break;
 		}
 		local_irq_enable();
 
-		napi_gro_receive(napi, skb);
+		netif_receive_skb(skb);
 	} while (++work < quota && jiffies == start_time);
 
-	napi_gro_flush(napi);
-
-out:
 	return work;
 }
 

linux-2.6-net-xfrm-fix-spin-unlock.patch:

--- NEW FILE linux-2.6-net-xfrm-fix-spin-unlock.patch ---
xfrm: spin_lock() should be spin_unlock()

spin_lock() should be spin_unlock() in xfrm_state_walk_done().

caused by:
commit 12a169e7d8f4b1c95252d8b04ed0f1033ed7cfe2
"ipsec: Put dumpers on the dump list"

Reported-by: Marc Milgram <mmilgram at redhat.com>
Signed-off-by: Chuck Ebbert <cebbert at redhat.com>
---

rh bug 489764

--- linux-2.6.29.noarch.orig/net/xfrm/xfrm_state.c
+++ linux-2.6.29.noarch/net/xfrm/xfrm_state.c
@@ -1615,7 +1615,7 @@ void xfrm_state_walk_done(struct xfrm_st
 
 	spin_lock_bh(&xfrm_state_lock);
 	list_del(&walk->all);
-	spin_lock_bh(&xfrm_state_lock);
+	spin_unlock_bh(&xfrm_state_lock);
 }
 EXPORT_SYMBOL(xfrm_state_walk_done);
 

linux-2.6-relatime-by-default.patch:

--- NEW FILE linux-2.6-relatime-by-default.patch ---
diff --git a/fs/namespace.c b/fs/namespace.c
index 06f8e63..f0e7530 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -780,6 +780,7 @@ static void show_mnt_opts(struct seq_file *m, struct vfsmount *mnt)
 		{ MNT_NOATIME, ",noatime" },
 		{ MNT_NODIRATIME, ",nodiratime" },
 		{ MNT_RELATIME, ",relatime" },
+		{ MNT_STRICTATIME, ",strictatime" },
 		{ 0, NULL }
 	};
 	const struct proc_fs_info *fs_infop;
@@ -1919,6 +1920,9 @@ long do_mount(char *dev_name, char *dir_name, char *type_page,
 	if (data_page)
 		((char *)data_page)[PAGE_SIZE - 1] = 0;
 
+	/* Default to relatime */
+	mnt_flags |= MNT_RELATIME;
+
 	/* Separate the per-mountpoint flags */
 	if (flags & MS_NOSUID)
 		mnt_flags |= MNT_NOSUID;
@@ -1930,13 +1934,14 @@ long do_mount(char *dev_name, char *dir_name, char *type_page,
 		mnt_flags |= MNT_NOATIME;
 	if (flags & MS_NODIRATIME)
 		mnt_flags |= MNT_NODIRATIME;
-	if (flags & MS_RELATIME)
-		mnt_flags |= MNT_RELATIME;
+	if (flags & MS_STRICTATIME)
+		mnt_flags &= ~(MNT_RELATIME | MNT_NOATIME);
 	if (flags & MS_RDONLY)
 		mnt_flags |= MNT_READONLY;
 
 	flags &= ~(MS_NOSUID | MS_NOEXEC | MS_NODEV | MS_ACTIVE |
-		   MS_NOATIME | MS_NODIRATIME | MS_RELATIME| MS_KERNMOUNT);
+		   MS_NOATIME | MS_NODIRATIME | MS_RELATIME| MS_KERNMOUNT |
+		   MS_STRICTATIME);
 
 	/* ... and get the mountpoint */
 	retval = kern_path(dir_name, LOOKUP_FOLLOW, &path);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 92734c0..5bc81c4 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -141,6 +141,7 @@ struct inodes_stat_t {
 #define MS_RELATIME	(1<<21)	/* Update atime relative to mtime/ctime. */
 #define MS_KERNMOUNT	(1<<22) /* this is a kern_mount call */
 #define MS_I_VERSION	(1<<23) /* Update inode I_version field */
+#define MS_STRICTATIME	(1<<24) /* Always perform atime updates */
 #define MS_ACTIVE	(1<<30)
 #define MS_NOUSER	(1<<31)
 
diff --git a/include/linux/mount.h b/include/linux/mount.h
index cab2a85..51f55f9 100644
--- a/include/linux/mount.h
+++ b/include/linux/mount.h
@@ -27,6 +27,7 @@ struct mnt_namespace;
 #define MNT_NODIRATIME	0x10
 #define MNT_RELATIME	0x20
 #define MNT_READONLY	0x40	/* does the user want this to be r/o? */
+#define MNT_STRICTATIME 0x80
 
 #define MNT_SHRINKABLE	0x100
 #define MNT_IMBALANCED_WRITE_COUNT	0x200 /* just for debugging */
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -1290,6 +1290,40 @@ sector_t bmap(struct inode * inode, sector_t block)
 }
 EXPORT_SYMBOL(bmap);
 
+/*
+ * With relative atime, only update atime if the previous atime is
+ * earlier than either the ctime or mtime or if at least a day has
+ * passed since the last atime update.
+ */
+static int relatime_need_update(struct vfsmount *mnt, struct inode *inode,
+			     struct timespec now)
+{
+
+	if (!(mnt->mnt_flags & MNT_RELATIME))
+		return 1;
+	/*
+	 * Is mtime younger than atime? If yes, update atime:
+	 */
+	if (timespec_compare(&inode->i_mtime, &inode->i_atime) >= 0)
+		return 1;
+	/*
+	 * Is ctime younger than atime? If yes, update atime:
+	 */
+	if (timespec_compare(&inode->i_ctime, &inode->i_atime) >= 0)
+		return 1;
+
+	/*
+	 * Is the previous atime value older than a day? If yes,
+	 * update atime:
+	 */
+	if ((long)(now.tv_sec - inode->i_atime.tv_sec) >= 24*60*60)
+		return 1;
+	/*
+	 * Good, we can skip the atime update:
+	 */
+	return 0;
+}
+
 /**
  *	touch_atime	-	update the access time
  *	@mnt: mount the inode is accessed on
@@ -1317,17 +1351,12 @@ void touch_atime(struct vfsmount *mnt, struct dentry *dentry)
 		goto out;
 	if ((mnt->mnt_flags & MNT_NODIRATIME) && S_ISDIR(inode->i_mode))
 		goto out;
-	if (mnt->mnt_flags & MNT_RELATIME) {
-		/*
-		 * With relative atime, only update atime if the previous
-		 * atime is earlier than either the ctime or mtime.
-		 */
-		if (timespec_compare(&inode->i_mtime, &inode->i_atime) < 0 &&
-		    timespec_compare(&inode->i_ctime, &inode->i_atime) < 0)
-			goto out;
-	}
 
 	now = current_fs_time(inode->i_sb);
+
+	if (!relatime_need_update(mnt, inode, now))
+		goto out;
+
 	if (timespec_equal(&inode->i_atime, &now))
 		goto out;
 

linux-2.6-revert-dvb-net-kabi-change.patch:

--- NEW FILE linux-2.6-revert-dvb-net-kabi-change.patch ---
diff --git a/drivers/media/dvb/dvb-core/dvb_net.c b/drivers/media/dvb/dvb-core/dvb_net.c
index f6ba846..03fd9dd 100644
--- a/drivers/media/dvb/dvb-core/dvb_net.c
+++ b/drivers/media/dvb/dvb-core/dvb_net.c
@@ -125,6 +125,7 @@ static void hexdump( const unsigned char *buf, unsigned short len )
 
 struct dvb_net_priv {
 	int in_use;
+	struct net_device_stats stats;
 	u16 pid;
 	struct net_device *net;
 	struct dvb_net *host;
@@ -383,8 +384,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
 				if (priv->ule_skb) {
 					dev_kfree_skb( priv->ule_skb );
 					/* Prepare for next SNDU. */
-					dev->stats.rx_errors++;
-					dev->stats.rx_frame_errors++;
+					priv->stats.rx_errors++;
+					priv->stats.rx_frame_errors++;
 				}
 				reset_ule(priv);
 				priv->need_pusi = 1;
@@ -437,8 +438,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
 					dev_kfree_skb( priv->ule_skb );
 					/* Prepare for next SNDU. */
 					// reset_ule(priv);  moved to below.
-					dev->stats.rx_errors++;
-					dev->stats.rx_frame_errors++;
+					priv->stats.rx_errors++;
+					priv->stats.rx_frame_errors++;
 				}
 				reset_ule(priv);
 				/* skip to next PUSI. */
@@ -459,8 +460,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
 						/* Drop partly decoded SNDU, reset state, resync on PUSI. */
 						if (priv->ule_skb) {
 							dev_kfree_skb( priv->ule_skb );
-							dev->stats.rx_errors++;
-							dev->stats.rx_frame_errors++;
+							priv->stats.rx_errors++;
+							priv->stats.rx_frame_errors++;
 						}
 						reset_ule(priv);
 						priv->need_pusi = 1;
@@ -476,8 +477,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
 				if (priv->ule_sndu_remain > 183) {
 					/* Current SNDU lacks more data than there could be available in the
 					 * current TS cell. */
-					dev->stats.rx_errors++;
-					dev->stats.rx_length_errors++;
+					priv->stats.rx_errors++;
+					priv->stats.rx_length_errors++;
 					printk(KERN_WARNING "%lu: Expected %d more SNDU bytes, but "
 					       "got PUSI (pf %d, ts_remain %d).  Flushing incomplete payload.\n",
 					       priv->ts_count, priv->ule_sndu_remain, ts[4], ts_remain);
@@ -519,8 +520,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
 				if (priv->ule_sndu_len < 5) {
 					printk(KERN_WARNING "%lu: Invalid ULE SNDU length %u. "
 					       "Resyncing.\n", priv->ts_count, priv->ule_sndu_len);
-					dev->stats.rx_errors++;
-					dev->stats.rx_length_errors++;
+					priv->stats.rx_errors++;
+					priv->stats.rx_length_errors++;
 					priv->ule_sndu_len = 0;
 					priv->need_pusi = 1;
 					new_ts = 1;
@@ -572,7 +573,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
 			if (priv->ule_skb == NULL) {
 				printk(KERN_NOTICE "%s: Memory squeeze, dropping packet.\n",
 				       dev->name);
-				dev->stats.rx_dropped++;
+				priv->stats.rx_dropped++;
 				return;
 			}
 
@@ -636,8 +637,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
 				ule_dump = 1;
 #endif
 
-				dev->stats.rx_errors++;
-				dev->stats.rx_crc_errors++;
+				priv->stats.rx_errors++;
+				priv->stats.rx_crc_errors++;
 				dev_kfree_skb(priv->ule_skb);
 			} else {
 				/* CRC32 verified OK. */
@@ -743,8 +744,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
 				 * receive the packet anyhow. */
 				/* if (priv->ule_dbit && skb->pkt_type == PACKET_OTHERHOST)
 					priv->ule_skb->pkt_type = PACKET_HOST; */
-				dev->stats.rx_packets++;
-				dev->stats.rx_bytes += priv->ule_skb->len;
+				priv->stats.rx_packets++;
+				priv->stats.rx_bytes += priv->ule_skb->len;
 				netif_rx(priv->ule_skb);
 			}
 			sndu_done:
@@ -799,7 +800,8 @@ static void dvb_net_sec(struct net_device *dev,
 {
 	u8 *eth;
 	struct sk_buff *skb;
-	struct net_device_stats *stats = &dev->stats;
+	struct net_device_stats *stats =
+		&((struct dvb_net_priv *) netdev_priv(dev))->stats;
 	int snap = 0;
 
 	/* note: pkt_len includes a 32bit checksum */
@@ -1214,29 +1216,28 @@ static int dvb_net_stop(struct net_device *dev)
 	return dvb_net_feed_stop(dev);
 }
 
+static struct net_device_stats * dvb_net_get_stats(struct net_device *dev)
+{
+	return &((struct dvb_net_priv *) netdev_priv(dev))->stats;
+}
+
 static const struct header_ops dvb_header_ops = {
 	.create		= eth_header,
 	.parse		= eth_header_parse,
 	.rebuild	= eth_rebuild_header,
 };
 
-
-static const struct net_device_ops dvb_netdev_ops = {
-	.ndo_open		= dvb_net_open,
-	.ndo_stop		= dvb_net_stop,
-	.ndo_start_xmit		= dvb_net_tx,
-	.ndo_set_multicast_list = dvb_net_set_multicast_list,
-	.ndo_set_mac_address    = dvb_net_set_mac,
-	.ndo_change_mtu		= eth_change_mtu,
-	.ndo_validate_addr	= eth_validate_addr,
-};
-
 static void dvb_net_setup(struct net_device *dev)
 {
 	ether_setup(dev);
 
 	dev->header_ops		= &dvb_header_ops;
-	dev->netdev_ops		= &dvb_netdev_ops;
+	dev->open		= dvb_net_open;
+	dev->stop		= dvb_net_stop;
+	dev->hard_start_xmit	= dvb_net_tx;
+	dev->get_stats		= dvb_net_get_stats;
+	dev->set_multicast_list = dvb_net_set_multicast_list;
+	dev->set_mac_address    = dvb_net_set_mac;
 	dev->mtu		= 4096;
 	dev->mc_count           = 0;
 

linux-2.6-v4l-pvrusb2-fixes.patch:

--- NEW FILE linux-2.6-v4l-pvrusb2-fixes.patch ---
Index: linux-2.6.29.noarch/drivers/media/video/pvrusb2/Makefile
===================================================================
--- linux-2.6.29.noarch.orig/drivers/media/video/pvrusb2/Makefile
+++ linux-2.6.29.noarch/drivers/media/video/pvrusb2/Makefile
@@ -10,6 +10,7 @@ pvrusb2-objs	:= pvrusb2-i2c-core.o \
 		   pvrusb2-ctrl.o pvrusb2-std.o pvrusb2-devattr.o \
 		   pvrusb2-context.o pvrusb2-io.o pvrusb2-ioread.o \
 		   pvrusb2-cx2584x-v4l.o pvrusb2-wm8775.o \
+		   pvrusb2-cs53l32a.o \
 		   $(obj-pvrusb2-dvb-y) \
 		   $(obj-pvrusb2-sysfs-y) $(obj-pvrusb2-debugifc-y)
 


Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-generic,v
retrieving revision 1.238.6.12
retrieving revision 1.238.6.13
diff -u -r1.238.6.12 -r1.238.6.13
--- config-generic	26 Mar 2009 00:02:12 -0000	1.238.6.12
+++ config-generic	28 Mar 2009 15:18:48 -0000	1.238.6.13
@@ -1766,7 +1766,7 @@
 CONFIG_INPUT_MOUSE=y
 CONFIG_MOUSE_PS2=y
 # CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_ELANTECH is not set
+CONFIG_MOUSE_PS2_ELANTECH=y
 CONFIG_MOUSE_SERIAL=m
 CONFIG_MOUSE_VSXXXAA=m
 CONFIG_MOUSE_APPLETOUCH=m
@@ -2295,7 +2295,6 @@
 CONFIG_DVB_SIANO_SMS1XXX=m
 CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS=y
 CONFIG_DVB_TTUSB_DEC=m
-CONFIG_DVB_USB_CINERGY_T2=m
 CONFIG_DVB_USB_DTV5100=m
 CONFIG_DVB_USB_AF9015=m
 CONFIG_DVB_USB_ANYSEE=m
@@ -2351,6 +2350,7 @@
 CONFIG_VIDEO_SAA7146=m
 CONFIG_VIDEO_SAA7146_VV=m
 CONFIG_VIDEO_TUNER=m
+CONFIG_DVB_USB_CE6230=m
 # CONFIG_VIDEO_TUNER_CUSTOMISE is not set
 CONFIG_VIDEO_BTCX=m
 CONFIG_VIDEO_PVRUSB2=m
@@ -2740,6 +2740,7 @@
 CONFIG_USB_GSPCA_VC032X=m
 CONFIG_USB_GSPCA_ZC3XX=m
 CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
 CONFIG_USB_IBMCAM=m
 CONFIG_USB_KONICAWC=m
 CONFIG_USB_OV511=m

drm-i915-resume-force-mode.patch:

Index: drm-i915-resume-force-mode.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-i915-resume-force-mode.patch,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- drm-i915-resume-force-mode.patch	19 Feb 2009 20:28:14 -0000	1.1.2.2
+++ drm-i915-resume-force-mode.patch	28 Mar 2009 15:18:49 -0000	1.1.2.3
@@ -19,3 +19,32 @@
  	return 0;
  }
  
+From f5192bce8be69e5b33d7579bc282fef4d673e2c1 Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak at v3.sk>
+Date: Sun, 15 Mar 2009 13:55:55 +0100
+Subject: [PATCH] Fix i915 nomodeset NULL deref. during PM resume
+
+drm_helper_resume_force_mode() would crash while attempting to
+iterate through crtc_list, which is uninitialized when is modesetting
+disabled.
+---
+ drivers/gpu/drm/i915/i915_suspend.c |    3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
+index ef5fb6e..b138032 100644
+--- a/drivers/gpu/drm/i915/i915_suspend.c
++++ b/drivers/gpu/drm/i915/i915_suspend.c
+@@ -520,7 +520,8 @@ int i915_restore_state(struct drm_device *dev)
+ 
+ 	i915_restore_vga(dev);
+ 
+-	drm_helper_resume_force_mode(dev);
++	if (drm_core_check_feature(dev, DRIVER_MODESET))
++		drm_helper_resume_force_mode(dev);
+ 
+ 	return 0;
+ }
+-- 
+1.6.2
+

drm-nouveau.patch:

Index: drm-nouveau.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-nouveau.patch,v
retrieving revision 1.8.6.6
retrieving revision 1.8.6.7
diff -u -r1.8.6.6 -r1.8.6.7
--- drm-nouveau.patch	26 Mar 2009 00:02:12 -0000	1.8.6.6
+++ drm-nouveau.patch	28 Mar 2009 15:18:49 -0000	1.8.6.7
@@ -10467,10 +10467,10 @@
 +}
 diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c b/drivers/gpu/drm/nouveau/nouveau_state.c
 new file mode 100644
-index 0000000..e3efc05
+index 0000000..b07d332
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nouveau_state.c
-@@ -0,0 +1,1039 @@
+@@ -0,0 +1,1042 @@
 +/*
 + * Copyright 2005 Stephane Marchesin
 + * Copyright 2008 Stuart Bennett
@@ -11127,8 +11127,11 @@
 +#endif
 +
 +	/* For those who think they want to be funny. */
-+	if (dev_priv->card_type < NV_50)
-+		dev->driver->driver_features &= ~DRIVER_MODESET;
++	if (dev_priv->card_type < NV_50) {
++		DRM_ERROR("Kernel modesetting requested but not supported "
++			  "on this chipset.\n");
++		dev->driver->driver_features &= ~(DRIVER_MODESET|DRIVER_GEM);
++	}
 +
 +	/* Special flags */
 +	if (dev->pci_device == 0x01a0) {
@@ -18892,10 +18895,10 @@
 +
 diff --git a/drivers/gpu/drm/nouveau/nv50_dac.c b/drivers/gpu/drm/nouveau/nv50_dac.c
 new file mode 100644
-index 0000000..31c73d2
+index 0000000..0458e05
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nv50_dac.c
-@@ -0,0 +1,284 @@
+@@ -0,0 +1,279 @@
 +/*
 + * Copyright (C) 2008 Maarten Maathuis.
 + * All Rights Reserved.
@@ -19077,15 +19080,10 @@
 +
 +static void nv50_dac_prepare(struct drm_encoder *drm_encoder)
 +{
-+	struct nouveau_encoder *encoder = to_nouveau_encoder(drm_encoder);
-+
-+	nv50_dac_dpms(drm_encoder, DRM_MODE_DPMS_OFF);
-+	nv50_dac_disconnect(encoder);
 +}
 +
 +static void nv50_dac_commit(struct drm_encoder *drm_encoder)
 +{
-+	nv50_dac_dpms(drm_encoder, DRM_MODE_DPMS_ON);
 +}
 +
 +static void nv50_dac_mode_set(struct drm_encoder *drm_encoder,
@@ -42216,10 +42214,10 @@
 +#endif /* __NV50_I2C_H__ */
 diff --git a/drivers/gpu/drm/nouveau/nv50_instmem.c b/drivers/gpu/drm/nouveau/nv50_instmem.c
 new file mode 100644
-index 0000000..545196b
+index 0000000..b11d7c8
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nv50_instmem.c
-@@ -0,0 +1,376 @@
+@@ -0,0 +1,379 @@
 +/*
 + * Copyright (C) 2007 Ben Skeggs.
 + *
@@ -42398,6 +42396,9 @@
 +	nv_wr32(NV50_PUNK_BAR3_CTXDMA, (priv->pramin_bar->instance >> 4) |
 +					NV50_PUNK_BAR3_CTXDMA_VALID);
 +
++	for (i = 0; i < 8; i++)
++		nv_wr32(0x1900 + (i*4), 0);
++
 +	/* Assume that praying isn't enough, check that we can re-read the
 +	 * entire fake channel back from the PRAMIN BAR */
 +	dev_priv->engine.instmem.prepare_access(dev, false);

increase-MAX_LOCKDEP_ENTRIES.patch:

Index: increase-MAX_LOCKDEP_ENTRIES.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/increase-MAX_LOCKDEP_ENTRIES.patch,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- increase-MAX_LOCKDEP_ENTRIES.patch	17 Mar 2009 21:35:47 -0000	1.1.2.2
+++ increase-MAX_LOCKDEP_ENTRIES.patch	28 Mar 2009 15:18:50 -0000	1.1.2.3
@@ -7,7 +7,7 @@
   * conflicts and deadlocks.
   */
 -#define MAX_LOCKDEP_ENTRIES	8192UL
-+#define MAX_LOCKDEP_ENTRIES	10240UL
++#define MAX_LOCKDEP_ENTRIES	16384UL
  
  #define MAX_LOCKDEP_CHAINS_BITS	14
  #define MAX_LOCKDEP_CHAINS	(1UL << MAX_LOCKDEP_CHAINS_BITS)


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1294.2.14
retrieving revision 1.1294.2.15
diff -u -r1.1294.2.14 -r1.1294.2.15
--- kernel.spec	26 Mar 2009 00:02:13 -0000	1.1294.2.14
+++ kernel.spec	28 Mar 2009 15:18:50 -0000	1.1294.2.15
@@ -677,10 +677,12 @@
 Patch2899: linux-2.6-v4l-dvb-fixes.patch
 Patch2900: linux-2.6-v4l-dvb-update.patch
 Patch2901: linux-2.6-v4l-dvb-experimental.patch
+Patch2903: linux-2.6-revert-dvb-net-kabi-change.patch
 
 # fs fixes
 Patch2920: linux-2.6-ext4-flush-on-close.patch
 Patch3000: linux-2.6-btrfs-experimental-branch.patch
+Patch3010: linux-2.6-relatime-by-default.patch
 
 Patch9001: revert-fix-modules_install-via-nfs.patch
 
@@ -689,6 +691,12 @@
 #Adding dropwatch into rawhide until we get to 2.6.30
 Patch9003: linux-2.6-dropwatch-protocol.patch
 
+# fix for net lockups, will be in 2.6.29.1
+Patch9100: linux-2.6-net-fix-gro-bug.patch
+
+# fix locking in ipsec (#489764)
+Patch9101: linux-2.6-net-xfrm-fix-spin-unlock.patch
+
 Patch9997: xen.pvops.pre.patch
 Patch9998: xen.pvops.patch
 Patch9999: xen.pvops.post.patch
@@ -1112,6 +1120,9 @@
 # btrfs
 ApplyPatch linux-2.6-btrfs-experimental-branch.patch
 
+# relatime
+ApplyPatch linux-2.6-relatime-by-default.patch
+
 # USB
 
 # ACPI
@@ -1229,13 +1240,17 @@
 ApplyPatch linux-2.6-v4l-dvb-fixes.patch
 ApplyPatch linux-2.6-v4l-dvb-update.patch
 ApplyPatch linux-2.6-v4l-dvb-experimental.patch
+ApplyPatch linux-2.6-revert-dvb-net-kabi-change.patch
 
 # revert 8b249b6856f16f09b0e5b79ce5f4d435e439b9d6
 ApplyPatch revert-fix-modules_install-via-nfs.patch
 
 ApplyPatch cpufreq-add-atom-to-p4-clockmod.patch
 
-ApplyPatch linux-2.6-dropwatch-protocol.patch
+#ApplyPatch linux-2.6-dropwatch-protocol.patch
+
+ApplyPatch linux-2.6-net-fix-gro-bug.patch
+ApplyPatch linux-2.6-net-xfrm-fix-spin-unlock.patch
 
 ApplyPatch xen.pvops.pre.patch
 ApplyPatch xen.pvops.patch
@@ -1709,12 +1724,12 @@
 %kernel_variant_post -v smp
 
 %kernel_variant_preun PAE
-%kernel_variant_post -v PAE -r (kernel-smp|kernel-xen)
+%kernel_variant_post -v PAE -r (kernel|kernel-smp|kernel-xen)
 
 %kernel_variant_preun debug
 %kernel_variant_post -v debug
 
-%kernel_variant_post -v PAEdebug -r (kernel-smp|kernel-xen)
+%kernel_variant_post -v PAEdebug -r (kernel|kernel-smp|kernel-xen)
 %kernel_variant_preun PAEdebug
 
 if [ -x /sbin/ldconfig ]
@@ -1823,6 +1838,51 @@
 # and build.
 
 %changelog
+* Sat Mar 28 2009 Michael Young <m.a.young at durham.ac.uk>
+- drop dropwatch patch due to compile problems
+
+* Sat Mar 28 2009 Mauro Carvalho Chehab <mchehab at redhat.com>
+- linux-2.6-revert-dvb-net-kabi-change.patch: attempt to fix dvb net breakage
+- update v4l fixes patch to reflect what's ready for 2.6.30
+- update v4l devel patch to reflect what will be kept on linux-next for a while
+
+* Fri Mar 27 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.29-16
+- Fix 2.6.29 networking lockups.
+- Fix locking in net/xfrm/xfrm_state.c (#489764)
+
+* Fri Mar 27 2009 Ben Skeggs <bskeggs at redhat.com>
+- drm-nouveau.patch: do nothing for dac_{prepare,commit}, it's useless
+  and breaks some things in strange ways.
+
+* Fri Mar 27 2009 Ben Skeggs <bskeggs at redhat.com>
+- nv50: clear 0x1900/8 on init, possible fix for rh#492240
+- forcibly disable GEM also if KMS requested where not supported
+- inform the user if we disable KMS because of it not being supported
+
+* Thu Mar 26 2009 Matthew Garrett <mjg at redhat.com>
+- linux-2.6-relatime-by-default.patch: Backport relatime code from 2.6.30
+
+* Thu Mar 26 2009 Dave Jones <davej at redhat.com>
+- Check for modesetting enabled before forcing mode on 915. (#490336)
+
+* Thu Mar 26 2009 Dave Jones <davej at redhat.com>
+- Set kernel-PAE as default in grub. (#487578)
+
+* Thu Mar 26 2009 Dave Jones <davej at redhat.com>
+- Enable CONFIG_MOUSE_PS2_ELANTECH (#492163)
+
+* Thu Mar 26 2009 Kyle McMartin <kyle at redhat.com>
+- linux-2.6-v4l-pvrusb2-fixes.patch: fix build for uncle steve.
+
+* Thu Mar 26 2009 Mauro Carvalho Chehab <mchehab at redhat.com>
+- Move all 2.6.30 stuff into linux-2.6-v4l-dvb-fixes.patch, in
+  preparation for upstream pull;
+- Added two new drivers: gspca sq905c and DVB Intel ce6230
+- Updated to the latest v4l-dvb drivers.
+
+* Wed Mar 25 2009 Mauro Carvalho Chehab <mchehab at redhat.com>
+- remove duplicated Cinergy T2 entry at config-generic
+
 * Wed Mar 25 2009 Michael Young <m.a.young at durham.ac.uk>
 - disable linux-2.6-utrace-ftrace.patch due to merge problems
 - minor pvops update

linux-2.6-v4l-dvb-experimental.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.2.2.3 -r 1.2.2.4 linux-2.6-v4l-dvb-experimental.patch
Index: linux-2.6-v4l-dvb-experimental.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-v4l-dvb-experimental.patch,v
retrieving revision 1.2.2.3
retrieving revision 1.2.2.4
diff -u -r1.2.2.3 -r1.2.2.4
--- linux-2.6-v4l-dvb-experimental.patch	24 Mar 2009 22:57:43 -0000	1.2.2.3
+++ linux-2.6-v4l-dvb-experimental.patch	28 Mar 2009 15:18:51 -0000	1.2.2.4
@@ -1,17 +1,395 @@
-Mauro Carvalho Chehab (6):
+Hans Verkuil (2):
+      V4L/DVB (10982): cx231xx: fix compile warning
+      V4L/DVB (10989): cx25840: cx23885 detection was broken
+
+Mauro Carvalho Chehab (11):
       V4L/DVB (10953): cx25840: Fix CodingStyle errors introduced by the last patch
       V4L/DVB (10955): cx231xx: CodingStyle automatic fixes with Lindent
       V4L/DVB (10956): cx231xx: First series of manual CodingStyle fixes
       V4L/DVB (10957a): cx231xx: Fix compilation breakage
-      V4L/DVB (10958a): cx231xx: Whitespace and Kconfig fixes
+      V4L/DVB (11130): cx231xx: fix an inverted logic at vidioc_streamoff
+      V4L/DVB (11131): cx231xx: avoid trying to access unfilled dev struct
+      V4L/DVB (11132): cx231xx: usb probe cleanups
+      V4L/DVB (11133): cx231xx: don't print pcb config debug messages by default
+      V4L/DVB (11134): cx231xx: dmesg cleanup
+      V4L/DVB (11135): cx231xx: use usb_make_path() for bus_info
       Merge branch 'next' of ../pending into Fedora
 
-Sri Deevi (4):
+Sri Deevi (7):
       V4L/DVB (10952): cx25840: prepare it to be used by cx231xx module
       V4L/DVB (10954): Add cx231xx USB driver
       V4L/DVB (10957): cx231xx: Fix CodingStyle
-      V4L/DVB (10958): Some additional CodingStyle and minor fixes
+      V4L/DVB (10958): cx231xx: some additional CodingStyle and minor fixes
+      V4L/DVB (11038): Fix the issue with audio module & correction of Names
+      V4L/DVB (11128): cx231xx: convert the calls to subdev format
+      V4L/DVB (11129): cx231xx: Use generic names for each device block
+
+Uri Shkolnik (2):
+      V4L/DVB (11239): sdio: add cards ids for sms (Siano Mobile Silicon) MDTV receivers
+      V4L/DVB (11240): siano: add high level SDIO interface driver for SMS based cards
 
+diff --git a/drivers/media/dvb/siano/smssdio.c b/drivers/media/dvb/siano/smssdio.c
+new file mode 100644
+index 0000000..31ba8c5
+--- /dev/null
++++ b/drivers/media/dvb/siano/smssdio.c
+@@ -0,0 +1,356 @@
++/*
++ *  smssdio.c - Siano 1xxx SDIO interface driver
++ *
++ *  Copyright 2008 Pierre Ossman
++ *
++ * Based on code by Siano Mobile Silicon, Inc.,
++ * Copyright (C) 2006-2008, Uri Shkolnik
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or (at
++ * your option) any later version.
++ *
++ *
++ * This hardware is a bit odd in that all transfers should be done
++ * to/from the SMSSDIO_DATA register, yet the "increase address" bit
++ * always needs to be set.
++ *
++ * Also, buffers from the card are always aligned to 128 byte
++ * boundaries.
++ */
++
++/*
++ * General cleanup notes:
++ *
++ * - only typedefs should be name *_t
++ *
++ * - use ERR_PTR and friends for smscore_register_device()
++ *
++ * - smscore_getbuffer should zero fields
++ *
++ * Fix stop command
++ */
++
++#include <linux/moduleparam.h>
++#include <linux/firmware.h>
++#include <linux/delay.h>
++#include <linux/mmc/card.h>
++#include <linux/mmc/sdio_func.h>
++#include <linux/mmc/sdio_ids.h>
++
++#include "smscoreapi.h"
++#include "sms-cards.h"
++
++/* Registers */
++
++#define SMSSDIO_DATA		0x00
++#define SMSSDIO_INT		0x04
++
++static const struct sdio_device_id smssdio_ids[] = {
++	{SDIO_DEVICE(SDIO_VENDOR_ID_SIANO, SDIO_DEVICE_ID_SIANO_STELLAR),
++	 .driver_data = SMS1XXX_BOARD_SIANO_STELLAR},
++	{SDIO_DEVICE(SDIO_VENDOR_ID_SIANO, SDIO_DEVICE_ID_SIANO_NOVA_A0),
++	 .driver_data = SMS1XXX_BOARD_SIANO_NOVA_A},
++	{SDIO_DEVICE(SDIO_VENDOR_ID_SIANO, SDIO_DEVICE_ID_SIANO_NOVA_B0),
++	 .driver_data = SMS1XXX_BOARD_SIANO_NOVA_B},
++	{SDIO_DEVICE(SDIO_VENDOR_ID_SIANO, SDIO_DEVICE_ID_SIANO_VEGA_A0),
++	 .driver_data = SMS1XXX_BOARD_SIANO_VEGA},
++	{SDIO_DEVICE(SDIO_VENDOR_ID_SIANO, SDIO_DEVICE_ID_SIANO_VENICE),
++	 .driver_data = SMS1XXX_BOARD_SIANO_VEGA},
++	{ /* end: all zeroes */ },
++};
++
++MODULE_DEVICE_TABLE(sdio, smssdio_ids);
++
++struct smssdio_device {
++	struct sdio_func *func;
++
++	struct smscore_device_t *coredev;
++
++	struct smscore_buffer_t *split_cb;
++};
++
++/*******************************************************************/
++/* Siano core callbacks                                            */
++/*******************************************************************/
++
++static int smssdio_sendrequest(void *context, void *buffer, size_t size)
++{
++	int ret;
++	struct smssdio_device *smsdev;
++
++	smsdev = context;
++
++	sdio_claim_host(smsdev->func);
++
++	while (size >= smsdev->func->cur_blksize) {
++		ret = sdio_write_blocks(smsdev->func, SMSSDIO_DATA, buffer, 1);
++		if (ret)
++			goto out;
++
++		buffer += smsdev->func->cur_blksize;
++		size -= smsdev->func->cur_blksize;
++	}
++
++	if (size) {
++		ret = sdio_write_bytes(smsdev->func, SMSSDIO_DATA,
++				       buffer, size);
++		if (ret)
++			goto out;
++	}
++
++out:
++	sdio_release_host(smsdev->func);
++
++	return ret;
++}
++
++/*******************************************************************/
++/* SDIO callbacks                                                  */
++/*******************************************************************/
++
++static void smssdio_interrupt(struct sdio_func *func)
++{
++	int ret, isr;
++
++	struct smssdio_device *smsdev;
++	struct smscore_buffer_t *cb;
++	struct SmsMsgHdr_ST *hdr;
++	size_t size;
++
++	smsdev = sdio_get_drvdata(func);
++
++	/*
++	 * The interrupt register has no defined meaning. It is just
++	 * a way of turning of the level triggered interrupt.
++	 */
++	isr = sdio_readb(func, SMSSDIO_INT, &ret);
++	if (ret) {
++		dev_err(&smsdev->func->dev,
++			"Unable to read interrupt register!\n");
++		return;
++	}
++
++	if (smsdev->split_cb == NULL) {
++		cb = smscore_getbuffer(smsdev->coredev);
++		if (!cb) {
++			dev_err(&smsdev->func->dev,
++				"Unable to allocate data buffer!\n");
++			return;
++		}
++
++		ret = sdio_read_blocks(smsdev->func, cb->p, SMSSDIO_DATA, 1);
++		if (ret) {
++			dev_err(&smsdev->func->dev,
++				"Error %d reading initial block!\n", ret);
++			return;
++		}
++
++		hdr = cb->p;
++
[...3705 lines suppressed...]
 +		/* Save some power by putting tuner to sleep */
-+		cx231xx_i2c_call_clients(&dev->i2c_bus[1], TUNER_SET_STANDBY,
-+					 NULL);
++		call_all(dev, core, s_standby, 0);
 +
 +		/* do this before setting alternate! */
 +		cx231xx_uninit_isoc(dev);
@@ -13298,7 +13396,7 @@
 +
 +	*vfd = *template;
 +	vfd->minor = -1;
-+	vfd->parent = &dev->udev->dev;
++	vfd->v4l2_dev = &dev->v4l2_dev;
 +	vfd->release = video_device_release;
 +	vfd->debug = video_debug;
 +
@@ -13311,8 +13409,6 @@
 +{
 +	int ret;
 +
-+	cx231xx_info("%s()\n", __func__);
-+
 +	cx231xx_info("%s: v4l2 driver version %d.%d.%d\n",
 +		     dev->name,
 +		     (CX231XX_VERSION_CODE >> 16) & 0xff,
@@ -13400,10 +13496,10 @@
 +}
 diff --git a/drivers/media/video/cx231xx/cx231xx.h b/drivers/media/video/cx231xx/cx231xx.h
 new file mode 100644
-index 0000000..7c2a162
+index 0000000..aa4a23e
 --- /dev/null
 +++ b/drivers/media/video/cx231xx/cx231xx.h
-@@ -0,0 +1,766 @@
+@@ -0,0 +1,779 @@
 +/*
 +   cx231xx.h - driver for Conexant Cx23100/101/102 USB video capture devices
 +
@@ -13429,11 +13525,15 @@
 +#define _CX231XX_H
 +
 +#include <linux/videodev2.h>
-+#include <media/videobuf-vmalloc.h>
-+
++#include <linux/types.h>
++#include <linux/ioctl.h>
 +#include <linux/i2c.h>
 +#include <linux/i2c-algo-bit.h>
 +#include <linux/mutex.h>
++
++
++#include <media/videobuf-vmalloc.h>
++#include <media/v4l2-device.h>
 +#include <media/ir-kbd-i2c.h>
 +#if defined(CONFIG_VIDEO_CX231XX_DVB) || \
 +	defined(CONFIG_VIDEO_CX231XX_DVB_MODULE)
@@ -13448,9 +13548,9 @@
 +#define PWR_SLEEP_INTERVAL              5
 +
 +/* I2C addresses for control block in Cx231xx */
-+#define     Colibri_DEVICE_ADDRESS      0x60
-+#define     Flatrion_DEVICE_ADDRESS     0x98
-+#define     HAMMERHEAD_I2C_ADDRESS      0x88
++#define     AFE_DEVICE_ADDRESS		0x60
++#define     I2S_BLK_DEVICE_ADDRESS	0x98
++#define     VID_BLK_I2C_ADDRESS		0x88
 +#define     DIF_USE_BASEBAND            0xFFFFFFFF
 +
 +/* Boards supported by driver */
@@ -13853,6 +13953,10 @@
 +
 +	struct cx231xx_fmt *format;
 +
++	struct v4l2_device v4l2_dev;
++	struct v4l2_subdev *sd_cx25840;
++	struct v4l2_subdev *sd_tuner;
++
 +	struct cx231xx_IR *ir;
 +
 +	struct list_head devlist;
@@ -13938,9 +14042,9 @@
 +	/* Power Modes */
 +	int power_mode;
 +
-+	/* colibri parameters */
-+	enum AFE_MODE colibri_mode;
-+	u32 colibri_ref_count;
++	/* afe parameters */
++	enum AFE_MODE afe_mode;
++	u32 afe_ref_count;
 +
 +	/* video related parameters */
 +	u32 video_input;
@@ -13950,6 +14054,13 @@
 +
 +};
 +
++#define cx25840_call(cx231xx, o, f, args...) \
++	v4l2_subdev_call(cx231xx->sd_cx25840, o, f, ##args)
++#define tuner_call(cx231xx, o, f, args...) \
++	v4l2_subdev_call(cx231xx->sd_tuner, o, f, ##args)
++#define call_all(dev, o, f, args...) \
++	v4l2_device_call_until_err(&dev->v4l2_dev, 0, o, f, ##args)
++
 +struct cx231xx_ops {
 +	struct list_head next;
 +	char *name;
@@ -13963,8 +14074,6 @@
 +int cx231xx_reset_analog_tuner(struct cx231xx *dev);
 +
 +/* Provided by cx231xx-i2c.c */
-+void cx231xx_i2c_call_clients(struct cx231xx_i2c *bus, unsigned int cmd,
-+			      void *arg);
 +void cx231xx_do_i2c_scan(struct cx231xx *dev, struct i2c_client *c);
 +int cx231xx_i2c_register(struct cx231xx_i2c *bus);
 +int cx231xx_i2c_unregister(struct cx231xx_i2c *bus);
@@ -13981,21 +14090,21 @@
 +					u16 saddr, u32 mask, u32 value);
 +u32 cx231xx_set_field(u32 field_mask, u32 data);
 +
-+/* Colibri related functions */
-+int cx231xx_colibri_init_super_block(struct cx231xx *dev, u32 ref_count);
-+int cx231xx_colibri_init_channels(struct cx231xx *dev);
-+int cx231xx_colibri_setup_AFE_for_baseband(struct cx231xx *dev);
-+int cx231xx_colibri_set_input_mux(struct cx231xx *dev, u32 input_mux);
-+int cx231xx_colibri_set_mode(struct cx231xx *dev, enum AFE_MODE mode);
-+int cx231xx_colibri_update_power_control(struct cx231xx *dev,
++/* afe related functions */
++int cx231xx_afe_init_super_block(struct cx231xx *dev, u32 ref_count);
++int cx231xx_afe_init_channels(struct cx231xx *dev);
++int cx231xx_afe_setup_AFE_for_baseband(struct cx231xx *dev);
++int cx231xx_afe_set_input_mux(struct cx231xx *dev, u32 input_mux);
++int cx231xx_afe_set_mode(struct cx231xx *dev, enum AFE_MODE mode);
++int cx231xx_afe_update_power_control(struct cx231xx *dev,
 +					enum AV_MODE avmode);
-+int cx231xx_colibri_adjust_ref_count(struct cx231xx *dev, u32 video_input);
++int cx231xx_afe_adjust_ref_count(struct cx231xx *dev, u32 video_input);
 +
-+/* flatiron related functions */
-+int cx231xx_flatiron_initialize(struct cx231xx *dev);
-+int cx231xx_flatiron_update_power_control(struct cx231xx *dev,
++/* i2s block related functions */
++int cx231xx_i2s_blk_initialize(struct cx231xx *dev);
++int cx231xx_i2s_blk_update_power_control(struct cx231xx *dev,
 +					enum AV_MODE avmode);
-+int cx231xx_flatiron_set_audio_input(struct cx231xx *dev, u8 audio_input);
++int cx231xx_i2s_blk_set_audio_input(struct cx231xx *dev, u8 audio_input);
 +
 +/* DIF related functions */
 +int cx231xx_dif_configure_C2HH_for_low_IF(struct cx231xx *dev, u32 mode,
@@ -14310,7 +14419,7 @@
  
  static int get_volume(struct i2c_client *client)
 diff --git a/drivers/media/video/cx25840/cx25840-core.c b/drivers/media/video/cx25840/cx25840-core.c
-index 4a5d5ef..40c9559 100644
+index 4a5d5ef..4c3135f 100644
 --- a/drivers/media/video/cx25840/cx25840-core.c
 +++ b/drivers/media/video/cx25840/cx25840-core.c
 @@ -348,6 +348,77 @@ static void cx23885_initialize(struct i2c_client *client)
@@ -14539,15 +14648,9 @@
  	else
  		cx25840_initialize(client);
  	return 0;
-@@ -1477,10 +1567,12 @@ static int cx25840_probe(struct i2c_client *client,
- 	}
- 	else if ((device_id & 0xff00) == 0x8400) {
- 		id = V4L2_IDENT_CX25840 + ((device_id >> 4) & 0xf);
--	} else if (device_id == 0x0000) {
-+	} /* else if (device_id == 0x0000) {
+@@ -1481,6 +1571,8 @@ static int cx25840_probe(struct i2c_client *client,
  		id = V4L2_IDENT_CX25836 + ((device_id >> 4) & 0xf) - 6;
--	} else if (device_id == 0x1313) {
-+	} */ else if (device_id == 0x1313) {
+ 	} else if (device_id == 0x1313) {
  		id = V4L2_IDENT_CX25836 + ((device_id >> 4) & 0xf) - 6;
 +	} else if ((device_id & 0xfff0) == 0x5A30) {
 +		id = V4L2_IDENT_CX25840 + ((device_id >> 4) & 0xf);
@@ -14625,3 +14728,22 @@
  #define I2C_HW_B_HDPVR		0x010025 /* Hauppauge HD PVR */
  
  /* --- SGI adapters							*/
+diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h
+index ea1bf5b..3d7533d 100644
+--- a/include/linux/mmc/sdio_ids.h
++++ b/include/linux/mmc/sdio_ids.h
+@@ -24,6 +24,14 @@
+  */
+ 
+ #define SDIO_VENDOR_ID_MARVELL			0x02df
++#define SDIO_VENDOR_ID_SIANO			0x039a
++
+ #define SDIO_DEVICE_ID_MARVELL_LIBERTAS		0x9103
++#define SDIO_DEVICE_ID_SIANO_STELLAR 		0x5347
++#define SDIO_DEVICE_ID_SIANO_NOVA_A0		0x1100
++#define SDIO_DEVICE_ID_SIANO_NOVA_B0		0x0201
++#define SDIO_DEVICE_ID_SIANO_NICE		0x0202
++#define SDIO_DEVICE_ID_SIANO_VEGA_A0		0x0300
++#define SDIO_DEVICE_ID_SIANO_VENICE		0x0301
+ 
+ #endif

linux-2.6-v4l-dvb-fixes.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.2.8.5 -r 1.2.8.6 linux-2.6-v4l-dvb-fixes.patch
Index: linux-2.6-v4l-dvb-fixes.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-v4l-dvb-fixes.patch,v
retrieving revision 1.2.8.5
retrieving revision 1.2.8.6
diff -u -r1.2.8.5 -r1.2.8.6
--- linux-2.6-v4l-dvb-fixes.patch	24 Mar 2009 22:57:44 -0000	1.2.8.5
+++ linux-2.6-v4l-dvb-fixes.patch	28 Mar 2009 15:18:51 -0000	1.2.8.6
@@ -1,16 +1,106380 @@
-Devin Heitmueller (1):
+Abylay Ospan (5):
+      V4L/DVB (10796): Add init code for NetUP Dual DVB-S2 CI card
+      V4L/DVB (10797): Add EEPROM code for NetUP Dual DVB-S2 CI card.
+      V4L/DVB (10798): Add CIMax(R) SP2 Common Interface code for NetUP Dual DVB-S2 CI card
+      V4L/DVB (11056): Bug fix in NetUP: restore high address lines in CI
+      V4L/DVB (11057): Fix CiMax stability in Netup Dual DVB-S2 CI
+
+Adam Baker (2):
+      V4L/DVB (10639): gspca - sq905: New subdriver.
+      V4L/DVB (10829): Support alternate resolutions for sq905
+
+Alan Cox (2):
+      V4L/DVB (11243): cx88: Missing failure checks
+      V4L/DVB (11244): pluto2: silence spew of card hung up messages
+
+Alan McIvor (1):
+      V4L/DVB (11124): Add support for ProVideo PV-183 to bttv
+
+Alexey Klimov (18):
+      V4L/DVB (10316): v4l/dvb: use usb_make_path in usb-radio drivers
+      V4L/DVB (10324): em28xx: Correct mailing list
+      V4L/DVB (10335): gspca - all subdrivers: Fix CodingStyle in sd_mod_init function.
+      V4L/DVB (10336): gspca - all subdrivers: Return ret instead of -1 in sd_mod_init.
+      V4L/DVB (10455): radio-mr800: codingstyle cleanups
+      V4L/DVB (10456): radio-mr800: place dev_err instead of dev_warn
+      V4L/DVB (10457): radio-mr800: add more dev_err messages in probe
+      V4L/DVB (10458): radio-mr800: move radio start and stop in one function
+      V4L/DVB (10459): radio-mr800: fix amradio_set_freq
+      V4L/DVB (10460): radio-mr800: add stereo support
+      V4L/DVB (10461): radio-mr800: add few lost mutex locks
+      V4L/DVB (10462): radio-mr800: increase version and add comments
+      V4L/DVB (10463): radio-mr800: fix checking of retval after usb_bulk_msg
+      V4L/DVB (10464): radio-si470x: use usb_make_path in usb-radio drivers
+      V4L/DVB (10465): dsbr100: Add few lost mutex locks.
+      V4L/DVB (10522): em28xx-audio: replace printk with em28xx_errdev
+      V4L/DVB (10946): radio-rtrack2: fix double mutex_unlock
+      V4L/DVB (10961): radio-terratec: remove linux/delay.h which hadn't been used.
+
+Andy Walls (44):
+      V4L/DVB (10274): cx18: Fix a PLL divisor update for the I2S master clock
+      V4L/DVB (10275): cx18: Additional debug to display outgoing mailbox parameters
+      V4L/DVB (10276): cx18, cx2341x, ivtv: Add AC-3 audio encoding control to cx18
+      V4L/DVB (10277): cx18, cx2341x: Fix bugs in cx18 AC3 control and comply with V4L2 spec
+      V4L/DVB (10278): cx18: Fix bad audio in first analog capture.
+      V4L/DVB (10279): cx18: Print driver version number when logging status
+      V4L/DVB (10280): cx18: Rename structure members: dev to pci_dev and v4l2dev to video_dev
+      V4L/DVB (10281): cx18: Conversion to new V4L2 framework: use v4l2_device object
+      V4L/DVB (10283): cx18: Call request_module() with proper argument types.
+      V4L/DVB (10284): cx18: Add initial entry for a Leadtek DVR3100 H hybrid card
+      V4L/DVB (10433): cx18: Defer A/V core initialization until a valid cx18_av_cmd arrives
+      V4L/DVB (10434): cx18: Smarter verification of CX18_AUDIO_ENABLE register writes
+      V4L/DVB (10435): cx18: Normalize APU after second APU firmware load
+      V4L/DVB (10436): cx18: Fix coding style of a switch statement per checkpatch.pl
+      V4L/DVB (10437): cx18: Remove an unused spinlock
+      V4L/DVB (10439): cx18: Clean-up and enable sliced VBI handling
+      V4L/DVB (10440): cx18: Fix presentation timestamp (PTS) for VBI buffers
+      V4L/DVB (10441): cx18: Fix VBI ioctl() handling and Raw/Sliced VBI state management
+      V4L/DVB (10442): cx18: Fixes for enforcing when Encoder Raw VBI params can be set
+      V4L/DVB (10443): cx18: Use correct line counts per field in firmware API call
+      V4L/DVB (10444): cx18: Fix sliced VBI PTS and fix artifacts in last raw line of field
+      V4L/DVB (10445): cx18: Process Raw VBI on a whole frame basis; fix VBI buffer size
+      V4L/DVB (10446): cx18: Finally get sliced VBI working - for 525 line 60 Hz systems at least
+      V4L/DVB (10755): cx18: Convert the integrated A/V decoder core interface to a v4l2_subdev
+      V4L/DVB (10756): cx18: Slim down instance handling, build names from v4l2_device.name
+      V4L/DVB (10757): cx18, v4l2-chip-ident: Finish conversion of AV decoder core to v4l2_subdev
+      V4L/DVB (10758): cx18: Convert I2C devices to v4l2_subdevices
+      V4L/DVB (10759): cx18: Convert GPIO connected functions to act as v4l2_subdevices
+      V4L/DVB (10760): cx18: Fix a memory leak of buffers used for sliced VBI insertion
+      V4L/DVB (10761): cx18: Change log lines for internal subdevs and fix tveeprom reads
+      V4L/DVB (10762): cx18: Get rid of unused variables related to video output
+      V4L/DVB (10763): cx18: Increment version number due to significant changes for v4l2_subdevs
+      V4L/DVB (10764): cx18: Disable AC3 controls as the firmware doesn't support AC3
+      V4L/DVB (10850): cx18: Use strlcpy() instead of strncpy() for temp eeprom i2c_client setup
+      V4L/DVB (10851): cx18: Fix a video scaling check problem introduced by sliced VBI changes
+      V4L/DVB (10852): cx18: Include cx18-audio.h in cx18-audio.c to eliminate s-parse warning
+      V4L/DVB (10853): cx18: Fix s-parse warnings and a logic error about extracting the VBI PTS
+      V4L/DVB (10854): cx18: Correct comments about vertical and horizontal blanking timings
+      V4L/DVB (10855): cx18: Fix VPS service register codes
+      V4L/DVB (10856): cx18: Add interlock so sliced VBI insertion only happens for an MPEG PS
+      V4L/DVB (11042): v4l2-api: Add definitions for V4L2_MPEG_STREAM_VBI_FMT_IVTV payloads
+      V4L/DVB (11091): cx18, ivtv: Ensure endianess for linemasks in VBI embedded in MPEG stream
+      V4L/DVB (11092): cx18: Optimize processing of VBI buffers from the capture unit
+      V4L/DVB (11233): mxl5005s: Switch in mxl5005s_set_params should operate on correct values
+
+Antoine Jacquet (1):
+      V4L/DVB (10263): zr364xx: add support for Aiptek DV T300
+
+Antonio Ospite (2):
+      V4L/DVB (10344): gspca - ov534: Disable the Hercules webcams.
+      V4L/DVB (10676): mt9m111: Call icl->reset() on mt9m111_reset().
+
+Antti Palosaari (4):
+      V4L/DVB (10286): af9015: add new USB ID for KWorld DVB-T 395U
+      V4L/DVB (10329): af9015: remove dual_mode module param
+      V4L/DVB (11215): zl10353: add support for Intel CE6230 and Intel CE6231
+      V4L/DVB (11216): Add driver for Intel CE6230 DVB-T USB2.0
+
+Arne Luehrs (1):
+      V4L/DVB (10319): dib0700: enable IR receiver in Nova TD usb stick (52009)
+
+Bruno Christo (1):
+      V4L/DVB (10827): Add support for GeoVision GV-800(S)
+
+Daniel Glöckner (1):
+      V4L/DVB (11242): allow v4l2 drivers to provide a get_unmapped_area handler
+
+Devin Heitmueller (36):
+      V4L/DVB (10320): dib0700: fix i2c error message to make data type clear
+      V4L/DVB (10321): dib0700: Report dib0700_i2c_enumeration failures
+      V4L/DVB (11059): xc5000: fix bug for hybrid xc5000 devices with IF other than 5380
+      V4L/DVB (11060): au8522: rename the au8522.c source file
+      V4L/DVB (11061): au8522: move shared state and common functions into a separate header files
+      V4L/DVB (11062): au8522: fix register read/write high bits
+      V4L/DVB (11063): au8522: power down the digital demod when not in use
+      V4L/DVB (11064): au8522: make use of hybrid framework so analog/digital demod can share state
+      V4L/DVB (11065): au8522: add support for analog side of demodulator
+      V4L/DVB (11066): au0828: add support for analog functionality in bridge
+      V4L/DVB (11067): au0828: workaround a bug in the au0828 i2c handling
+      V4L/DVB (11068): au0828: add analog profile for the HVR-850
+      V4L/DVB (11069): au8522: add mutex protecting use of hybrid state
+      V4L/DVB (11070): au0828: Rework the way the analog video binding occurs
+      V4L/DVB (11071): tveeprom: add the xc5000 tuner to the tveeprom definition
+      V4L/DVB (11072): au0828: advertise only NTSC-M (as opposed to all NTSC standards)
+      V4L/DVB (11073): au0828: disable VBI code since it doesn't yet work
+      V4L/DVB (11074): au0828: fix i2c enumeration bug
+      V4L/DVB (11075): au0828: make register debug lines easier to read
+      V4L/DVB (11076): au0828: make g_chip_ident call work properly
+      V4L/DVB (11077): au0828: properly handle missing analog USB endpoint
+      V4L/DVB (11078): au0828: properly handle non-existent analog inputs
+      V4L/DVB (11079): au0828: fix panic on disconnect if analog initialization failed
+      V4L/DVB (11080): au0828: Convert to use v4l2_device/subdev framework
+      V4L/DVB (11081): au0828: make sure v4l2_device name is unique
+      V4L/DVB (11082): au0828: remove memset calls in v4l2 routines.
+      V4L/DVB (11083): au0828: remove some unneeded braces
+      V4L/DVB (11084): au0828: add entry for undefined input type
+      V4L/DVB (11085): au0828/au8522: Codingstyle fixes
+      V4L/DVB (11086): au0828: rename macro for currently non-function VBI support
+      V4L/DVB (11088): au0828: finish videodev/subdev conversion
+      V4L/DVB (11089): au8522: finish conversion to v4l2_device/subdev
+      V4L/DVB (11139): em28xx: add remote control definition for HVR-900 (both versions)
+      V4L/DVB (11140): usbvision: fix oops on ARM platform when allocating transfer buffers
       V4L/DVB (11141): em28xx: fix oops on ARM platform when allocating transfer buffers
+      V4L/DVB (11142): au0828: fix oops on ARM platform when allocating transfer buffers
 
-diff --git a/drivers/media/video/em28xx/em28xx-core.c b/drivers/media/video/em28xx/em28xx-core.c
-index 94fb1b6..f3c18ed 100644
---- a/drivers/media/video/em28xx/em28xx-core.c
-+++ b/drivers/media/video/em28xx/em28xx-core.c
-@@ -963,7 +963,7 @@ int em28xx_init_isoc(struct em28xx *dev, int max_packets,
- 				 em28xx_irq_callback, dma_q, 1);
+Douglas Kosovic (1):
+      V4L/DVB (10299): bttv: Add support for IVCE-8784 support for V4L2 bttv driver
+
+Douglas Schilling Landgraf (13):
+      V4L/DVB (10323): em28xx: Add entry for GADMEI TVR200
+      V4L/DVB (10326): em28xx: Cleanup: fix bad whitespacing
+      V4L/DVB (10327): em28xx: Add check before call em28xx_isoc_audio_deinit()
+      V4L/DVB (10517): em28xx: remove bad check (changeset a31c595188af)
+      V4L/DVB (10520): em28xx-audio: Add spinlock for trigger
+      V4L/DVB (10521): em28xx-audio: Add lock for users
+      V4L/DVB (10523): em28xx-audio: Add macros EM28XX_START_AUDIO / EM28XX_STOP_AUDIO
+      V4L/DVB (10524): em28xx: Add DVC 101 model to Pinnacle Dazzle description
+      V4L/DVB (10556): em28xx-cards: Add Pinnacle Dazzle Video Creator Plus DVC107 description
+      V4L/DVB (10739): em28xx-cards: remove incorrect entry
+      V4L/DVB (10740): em28xx-cards: Add SIIG AVTuner-PVR board
+      V4L/DVB (10741): em28xx: Add Kaiser Baas Video to DVD maker support
+      V4L/DVB (11222): gspca - zc3xx: The webcam DLink DSB - C320 has the sensor pas106.
+
+Erik Andren (3):
+      V4L/DVB (10334): gspca - stv06xx: Rework control description.
+      V4L/DVB (10341): gspca - stv06xx: Plug a memory leak in the pb0100 sensor driver.
+      V4L/DVB (10342): gspca - stv06xx: Add ctrl caching to the vv6410.
+
+Erik S. Beiser (1):
+      V4L/DVB (10826): cx88: Add IR support to pcHDTV HD3000 & HD5500
+
+Guennadi Liakhovetski (9):
+      V4L/DVB (10665): soc-camera: add data signal polarity flags to drivers
+      V4L/DVB (10672): sh_mobile_ceu_camera: include NV* formats into the format list only once.
+      V4L/DVB (10673): mt9t031: fix gain and hflip controls, register update, and scaling
+      V4L/DVB (10674): soc-camera: camera host driver for i.MX3x SoCs
+      V4L/DVB (10675): soc-camera: extend soc_camera_bus_param_compatible with more tests
+      V4L/DVB (11024): soc-camera: separate S_FMT and S_CROP operations
+      V4L/DVB (11025): soc-camera: configure drivers with a default format on open
+      V4L/DVB (11026): sh-mobile-ceu-camera: set field to the value, configured at open()
+      V4L/DVB (11027): soc-camera: configure drivers with a default format at probe time
+
+Hans Verkuil (142):
+      V4L/DVB (10231): v4l2-subdev: add v4l2_ext_controls support
+      V4L/DVB (10244): v4l2: replace a few snprintfs with strlcpy
[...106001 lines suppressed...]
+-			return 0;
+-		case VIDIOCSFREQ:
+-			if(copy_from_user(&tea->freq, arg, sizeof(tea->freq)))
+-				return -EFAULT;
+-			snd_tea575x_set_freq(tea);
+-			return 0;
+-		case VIDIOCGAUDIO:
+-		{
+-			struct video_audio v;
+-			memset(&v, 0, sizeof(v));
+-			strcpy(v.name, "Radio");
+-			if(copy_to_user(arg,&v, sizeof(v)))
+-				return -EFAULT;
++	}
++	return -EINVAL;
++}
++
++static int vidioc_g_ctrl(struct file *file, void *priv,
++					struct v4l2_control *ctrl)
++{
++	struct snd_tea575x *tea = video_drvdata(file);
++
++	switch (ctrl->id) {
++	case V4L2_CID_AUDIO_MUTE:
++		if (tea->ops->mute) {
++			ctrl->value = tea->mute;
+ 			return 0;
+ 		}
+-		case VIDIOCSAUDIO:
+-		{
+-			struct video_audio v;
+-			if(copy_from_user(&v, arg, sizeof(v)))
+-				return -EFAULT;
+-			if (tea->ops->mute)
+-				tea->ops->mute(tea,
+-					       (v.flags &
+-						VIDEO_AUDIO_MUTE) ? 1 : 0);
+-			if(v.audio)
+-				return -EINVAL;
++	}
++	return -EINVAL;
++}
++
++static int vidioc_s_ctrl(struct file *file, void *priv,
++					struct v4l2_control *ctrl)
++{
++	struct snd_tea575x *tea = video_drvdata(file);
++
++	switch (ctrl->id) {
++	case V4L2_CID_AUDIO_MUTE:
++		if (tea->ops->mute) {
++			tea->ops->mute(tea, ctrl->value);
++			tea->mute = 1;
+ 			return 0;
+ 		}
+-		default:
+-			return -ENOIOCTLCMD;
+ 	}
++	return -EINVAL;
++}
++
++static int vidioc_g_input(struct file *filp, void *priv, unsigned int *i)
++{
++	*i = 0;
++	return 0;
+ }
+ 
+-static void snd_tea575x_release(struct video_device *vfd)
++static int vidioc_s_input(struct file *filp, void *priv, unsigned int i)
+ {
++	if (i != 0)
++		return -EINVAL;
++	return 0;
+ }
+ 
+ static int snd_tea575x_exclusive_open(struct file *file)
+@@ -189,50 +260,91 @@ static int snd_tea575x_exclusive_release(struct file *file)
+ 	return 0;
+ }
+ 
++static const struct v4l2_file_operations tea575x_fops = {
++	.owner		= THIS_MODULE,
++	.open           = snd_tea575x_exclusive_open,
++	.release        = snd_tea575x_exclusive_release,
++	.ioctl		= video_ioctl2,
++};
++
++static const struct v4l2_ioctl_ops tea575x_ioctl_ops = {
++	.vidioc_querycap    = vidioc_querycap,
++	.vidioc_g_tuner     = vidioc_g_tuner,
++	.vidioc_s_tuner     = vidioc_s_tuner,
++	.vidioc_g_audio     = vidioc_g_audio,
++	.vidioc_s_audio     = vidioc_s_audio,
++	.vidioc_g_input     = vidioc_g_input,
++	.vidioc_s_input     = vidioc_s_input,
++	.vidioc_g_frequency = vidioc_g_frequency,
++	.vidioc_s_frequency = vidioc_s_frequency,
++	.vidioc_queryctrl   = vidioc_queryctrl,
++	.vidioc_g_ctrl      = vidioc_g_ctrl,
++	.vidioc_s_ctrl      = vidioc_s_ctrl,
++};
++
++static struct video_device tea575x_radio = {
++	.name           = "tea575x-tuner",
++	.fops           = &tea575x_fops,
++	.ioctl_ops 	= &tea575x_ioctl_ops,
++	.release	= video_device_release,
++};
++
+ /*
+  * initialize all the tea575x chips
+  */
+ void snd_tea575x_init(struct snd_tea575x *tea)
+ {
++	int retval;
+ 	unsigned int val;
++	struct video_device *tea575x_radio_inst;
+ 
+ 	val = tea->ops->read(tea);
+ 	if (val == 0x1ffffff || val == 0) {
+-		snd_printk(KERN_ERR "Cannot find TEA575x chip\n");
++		snd_printk(KERN_ERR
++			   "tea575x-tuner: Cannot find TEA575x chip\n");
+ 		return;
+ 	}
+ 
+-	memset(&tea->vd, 0, sizeof(tea->vd));
+-	strcpy(tea->vd.name, tea->tea5759 ? "TEA5759 radio" : "TEA5757 radio");
+-	tea->vd.release = snd_tea575x_release;
+-	video_set_drvdata(&tea->vd, tea);
+-	tea->vd.fops = &tea->fops;
+ 	tea->in_use = 0;
+-	tea->fops.owner = tea->card->module;
+-	tea->fops.open = snd_tea575x_exclusive_open;
+-	tea->fops.release = snd_tea575x_exclusive_release;
+-	tea->fops.ioctl = snd_tea575x_ioctl;
+-	if (video_register_device(&tea->vd, VFL_TYPE_RADIO, tea->dev_nr - 1) < 0) {
+-		snd_printk(KERN_ERR "unable to register tea575x tuner\n");
++	tea->val = TEA575X_BIT_BAND_FM | TEA575X_BIT_SEARCH_10_40;
++	tea->freq = 90500 * 16;		/* 90.5Mhz default */
++
++	tea575x_radio_inst = video_device_alloc();
++	if (tea575x_radio_inst == NULL) {
++		printk(KERN_ERR "tea575x-tuner: not enough memory\n");
+ 		return;
+ 	}
+-	tea->vd_registered = 1;
+ 
+-	tea->val = TEA575X_BIT_BAND_FM | TEA575X_BIT_SEARCH_10_40;
+-	tea->freq = 90500 * 16;		/* 90.5Mhz default */
++	memcpy(tea575x_radio_inst, &tea575x_radio, sizeof(tea575x_radio));
++
++	strcpy(tea575x_radio.name, tea->tea5759 ?
++				   "TEA5759 radio" : "TEA5757 radio");
++
++	video_set_drvdata(tea575x_radio_inst, tea);
++
++	retval = video_register_device(tea575x_radio_inst,
++				       VFL_TYPE_RADIO, radio_nr);
++	if (retval) {
++		printk(KERN_ERR "tea575x-tuner: can't register video device!\n");
++		kfree(tea575x_radio_inst);
++		return;
++	}
+ 
+ 	snd_tea575x_set_freq(tea);
+ 
+ 	/* mute on init */
+-	if (tea->ops->mute)
++	if (tea->ops->mute) {
+ 		tea->ops->mute(tea, 1);
++		tea->mute = 1;
++	}
++	tea->vd = tea575x_radio_inst;
+ }
+ 
+ void snd_tea575x_exit(struct snd_tea575x *tea)
+ {
+-	if (tea->vd_registered) {
+-		video_unregister_device(&tea->vd);
+-		tea->vd_registered = 0;
++	if (tea->vd) {
++		video_unregister_device(tea->vd);
++		tea->vd = NULL;
+ 	}
+ }
+ 
+diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
+index 82b9bdd..6cc18bf 100644
+--- a/sound/pci/Kconfig
++++ b/sound/pci/Kconfig
+@@ -487,7 +487,7 @@ config SND_FM801
+ config SND_FM801_TEA575X_BOOL
+ 	bool "ForteMedia FM801 + TEA5757 tuner"
+ 	depends on SND_FM801
+-	depends on VIDEO_V4L1=y || VIDEO_V4L1=SND_FM801
++	depends on VIDEO_V4L2=y || VIDEO_V4L2=SND_FM801
+ 	help
+ 	  Say Y here to include support for soundcards based on the ForteMedia
+ 	  FM801 chip with a TEA5757 tuner connected to GPIO1-3 pins (Media

linux-2.6-v4l-dvb-update.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.1.2.7 -r 1.1.2.8 linux-2.6-v4l-dvb-update.patch
Index: linux-2.6-v4l-dvb-update.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-v4l-dvb-update.patch,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -r1.1.2.7 -r1.1.2.8
--- linux-2.6-v4l-dvb-update.patch	24 Mar 2009 22:57:44 -0000	1.1.2.7
+++ linux-2.6-v4l-dvb-update.patch	28 Mar 2009 15:18:52 -0000	1.1.2.8
@@ -1,100031 +1,366 @@
-Abylay Ospan (5):
-      V4L/DVB (10796): Add init code for NetUP Dual DVB-S2 CI card
-      V4L/DVB (10797): Add EEPROM code for NetUP Dual DVB-S2 CI card.
-      V4L/DVB (10798): Add CIMax(R) SP2 Common Interface code for NetUP Dual DVB-S2 CI card
-      V4L/DVB (11056): Bug fix in NetUP: restore high address lines in CI
-      V4L/DVB (11057): Fix CiMax stability in Netup Dual DVB-S2 CI
-
-Adam Baker (2):
-      V4L/DVB (10639): gspca - sq905: New subdriver.
-      V4L/DVB (10829): Support alternate resolutions for sq905
-
-Alan McIvor (1):
-      V4L/DVB (11124): Add support for ProVideo PV-183 to bttv
-
-Alexey Klimov (18):
-      V4L/DVB (10316): v4l/dvb: use usb_make_path in usb-radio drivers
-      V4L/DVB (10324): em28xx: Correct mailing list
-      V4L/DVB (10335): gspca - all subdrivers: Fix CodingStyle in sd_mod_init function.
-      V4L/DVB (10336): gspca - all subdrivers: Return ret instead of -1 in sd_mod_init.
-      V4L/DVB (10455): radio-mr800: codingstyle cleanups
-      V4L/DVB (10456): radio-mr800: place dev_err instead of dev_warn
-      V4L/DVB (10457): radio-mr800: add more dev_err messages in probe
-      V4L/DVB (10458): radio-mr800: move radio start and stop in one function
-      V4L/DVB (10459): radio-mr800: fix amradio_set_freq
-      V4L/DVB (10460): radio-mr800: add stereo support
-      V4L/DVB (10461): radio-mr800: add few lost mutex locks
-      V4L/DVB (10462): radio-mr800: increase version and add comments
-      V4L/DVB (10463): radio-mr800: fix checking of retval after usb_bulk_msg
-      V4L/DVB (10464): radio-si470x: use usb_make_path in usb-radio drivers
-      V4L/DVB (10465): dsbr100: Add few lost mutex locks.
-      V4L/DVB (10522): em28xx-audio: replace printk with em28xx_errdev
-      V4L/DVB (10946): radio-rtrack2: fix double mutex_unlock
-      V4L/DVB (10961): radio-terratec: remove linux/delay.h which hadn't been used.
-
-Andy Walls (43):
-      V4L/DVB (10274): cx18: Fix a PLL divisor update for the I2S master clock
-      V4L/DVB (10275): cx18: Additional debug to display outgoing mailbox parameters
-      V4L/DVB (10276): cx18, cx2341x, ivtv: Add AC-3 audio encoding control to cx18
-      V4L/DVB (10277): cx18, cx2341x: Fix bugs in cx18 AC3 control and comply with V4L2 spec
-      V4L/DVB (10278): cx18: Fix bad audio in first analog capture.
-      V4L/DVB (10279): cx18: Print driver version number when logging status
-      V4L/DVB (10280): cx18: Rename structure members: dev to pci_dev and v4l2dev to video_dev
-      V4L/DVB (10281): cx18: Conversion to new V4L2 framework: use v4l2_device object
-      V4L/DVB (10283): cx18: Call request_module() with proper argument types.
-      V4L/DVB (10284): cx18: Add initial entry for a Leadtek DVR3100 H hybrid card
-      V4L/DVB (10433): cx18: Defer A/V core initialization until a valid cx18_av_cmd arrives
-      V4L/DVB (10434): cx18: Smarter verification of CX18_AUDIO_ENABLE register writes
-      V4L/DVB (10435): cx18: Normalize APU after second APU firmware load
-      V4L/DVB (10436): cx18: Fix coding style of a switch statement per checkpatch.pl
-      V4L/DVB (10437): cx18: Remove an unused spinlock
-      V4L/DVB (10439): cx18: Clean-up and enable sliced VBI handling
-      V4L/DVB (10440): cx18: Fix presentation timestamp (PTS) for VBI buffers
-      V4L/DVB (10441): cx18: Fix VBI ioctl() handling and Raw/Sliced VBI state management
-      V4L/DVB (10442): cx18: Fixes for enforcing when Encoder Raw VBI params can be set
-      V4L/DVB (10443): cx18: Use correct line counts per field in firmware API call
-      V4L/DVB (10444): cx18: Fix sliced VBI PTS and fix artifacts in last raw line of field
-      V4L/DVB (10445): cx18: Process Raw VBI on a whole frame basis; fix VBI buffer size
-      V4L/DVB (10446): cx18: Finally get sliced VBI working - for 525 line 60 Hz systems at least
-      V4L/DVB (10755): cx18: Convert the integrated A/V decoder core interface to a v4l2_subdev
-      V4L/DVB (10756): cx18: Slim down instance handling, build names from v4l2_device.name
-      V4L/DVB (10757): cx18, v4l2-chip-ident: Finish conversion of AV decoder core to v4l2_subdev
-      V4L/DVB (10758): cx18: Convert I2C devices to v4l2_subdevices
-      V4L/DVB (10759): cx18: Convert GPIO connected functions to act as v4l2_subdevices
-      V4L/DVB (10760): cx18: Fix a memory leak of buffers used for sliced VBI insertion
-      V4L/DVB (10761): cx18: Change log lines for internal subdevs and fix tveeprom reads
-      V4L/DVB (10762): cx18: Get rid of unused variables related to video output
-      V4L/DVB (10763): cx18: Increment version number due to significant changes for v4l2_subdevs
-      V4L/DVB (10764): cx18: Disable AC3 controls as the firmware doesn't support AC3
-      V4L/DVB (10850): cx18: Use strlcpy() instead of strncpy() for temp eeprom i2c_client setup
-      V4L/DVB (10851): cx18: Fix a video scaling check problem introduced by sliced VBI changes
-      V4L/DVB (10852): cx18: Include cx18-audio.h in cx18-audio.c to eliminate s-parse warning
-      V4L/DVB (10853): cx18: Fix s-parse warnings and a logic error about extracting the VBI PTS
-      V4L/DVB (10854): cx18: Correct comments about vertical and horizontal blanking timings
-      V4L/DVB (10855): cx18: Fix VPS service register codes
-      V4L/DVB (10856): cx18: Add interlock so sliced VBI insertion only happens for an MPEG PS
-      V4L/DVB (11042): v4l2-api: Add definitions for V4L2_MPEG_STREAM_VBI_FMT_IVTV payloads
-      V4L/DVB (11091): cx18, ivtv: Ensure endianess for linemasks in VBI embedded in MPEG stream
-      V4L/DVB (11092): cx18: Optimize processing of VBI buffers from the capture unit
-
-Antoine Jacquet (1):
-      V4L/DVB (10263): zr364xx: add support for Aiptek DV T300
-
-Antonio Ospite (2):
-      V4L/DVB (10344): gspca - ov534: Disable the Hercules webcams.
-      V4L/DVB (10676): mt9m111: Call icl->reset() on mt9m111_reset().
-
-Antti Palosaari (2):
-      V4L/DVB (10286): af9015: add new USB ID for KWorld DVB-T 395U
-      V4L/DVB (10329): af9015: remove dual_mode module param
-
-Arne Luehrs (1):
-      V4L/DVB (10319): dib0700: enable IR receiver in Nova TD usb stick (52009)
-
-Bruno Christo (1):
-      V4L/DVB (10827): Add support for GeoVision GV-800(S)
-
-Devin Heitmueller (35):
-      V4L/DVB (10320): dib0700: fix i2c error message to make data type clear
-      V4L/DVB (10321): dib0700: Report dib0700_i2c_enumeration failures
-      V4L/DVB (11059): xc5000: fix bug for hybrid xc5000 devices with IF other than 5380
-      V4L/DVB (11060): au8522: rename the au8522.c source file
-      V4L/DVB (11061): au8522: move shared state and common functions into a separate header files
-      V4L/DVB (11062): au8522: fix register read/write high bits
-      V4L/DVB (11063): au8522: power down the digital demod when not in use
-      V4L/DVB (11064): au8522: make use of hybrid framework so analog/digital demod can share state
-      V4L/DVB (11065): au8522: add support for analog side of demodulator
-      V4L/DVB (11066): au0828: add support for analog functionality in bridge
-      V4L/DVB (11067): au0828: workaround a bug in the au0828 i2c handling
-      V4L/DVB (11068): au0828: add analog profile for the HVR-850
-      V4L/DVB (11069): au8522: add mutex protecting use of hybrid state
-      V4L/DVB (11070): au0828: Rework the way the analog video binding occurs
-      V4L/DVB (11071): tveeprom: add the xc5000 tuner to the tveeprom definition
-      V4L/DVB (11072): au0828: advertise only NTSC-M (as opposed to all NTSC standards)
-      V4L/DVB (11073): au0828: disable VBI code since it doesn't yet work
-      V4L/DVB (11074): au0828: fix i2c enumeration bug
-      V4L/DVB (11075): au0828: make register debug lines easier to read
-      V4L/DVB (11076): au0828: make g_chip_ident call work properly
-      V4L/DVB (11077): au0828: properly handle missing analog USB endpoint
-      V4L/DVB (11078): au0828: properly handle non-existent analog inputs
-      V4L/DVB (11079): au0828: fix panic on disconnect if analog initialization failed
-      V4L/DVB (11080): au0828: Convert to use v4l2_device/subdev framework
-      V4L/DVB (11081): au0828: make sure v4l2_device name is unique
-      V4L/DVB (11082): au0828: remove memset calls in v4l2 routines.
-      V4L/DVB (11083): au0828: remove some unneeded braces
-      V4L/DVB (11084): au0828: add entry for undefined input type
-      V4L/DVB (11085): au0828/au8522: Codingstyle fixes
-      V4L/DVB (11086): au0828: rename macro for currently non-function VBI support
-      V4L/DVB (11088): au0828: finish videodev/subdev conversion
-      V4L/DVB (11089): au8522: finish conversion to v4l2_device/subdev
-      V4L/DVB (11139): em28xx: add remote control definition for HVR-900 (both versions)
-      V4L/DVB (11140): usbvision: fix oops on ARM platform when allocating transfer buffers
-      V4L/DVB (11142): au0828: fix oops on ARM platform when allocating transfer buffers
-
-Douglas Kosovic (1):
-      V4L/DVB (10299): bttv: Add support for IVCE-8784 support for V4L2 bttv driver
-
-Douglas Schilling Landgraf (12):
-      V4L/DVB (10323): em28xx: Add entry for GADMEI TVR200
-      V4L/DVB (10326): em28xx: Cleanup: fix bad whitespacing
-      V4L/DVB (10327): em28xx: Add check before call em28xx_isoc_audio_deinit()
-      V4L/DVB (10517): em28xx: remove bad check (changeset a31c595188af)
-      V4L/DVB (10520): em28xx-audio: Add spinlock for trigger
-      V4L/DVB (10521): em28xx-audio: Add lock for users
-      V4L/DVB (10523): em28xx-audio: Add macros EM28XX_START_AUDIO / EM28XX_STOP_AUDIO
-      V4L/DVB (10524): em28xx: Add DVC 101 model to Pinnacle Dazzle description
-      V4L/DVB (10556): em28xx-cards: Add Pinnacle Dazzle Video Creator Plus DVC107 description
-      V4L/DVB (10739): em28xx-cards: remove incorrect entry
-      V4L/DVB (10740): em28xx-cards: Add SIIG AVTuner-PVR board
-      V4L/DVB (10741): em28xx: Add Kaiser Baas Video to DVD maker support
-
-Erik Andren (3):
-      V4L/DVB (10334): gspca - stv06xx: Rework control description.
-      V4L/DVB (10341): gspca - stv06xx: Plug a memory leak in the pb0100 sensor driver.
-      V4L/DVB (10342): gspca - stv06xx: Add ctrl caching to the vv6410.
-
-Erik S. Beiser (1):
-      V4L/DVB (10826): cx88: Add IR support to pcHDTV HD3000 & HD5500
-
-Guennadi Liakhovetski (9):
-      V4L/DVB (10665): soc-camera: add data signal polarity flags to drivers
-      V4L/DVB (10672): sh_mobile_ceu_camera: include NV* formats into the format list only once.
-      V4L/DVB (10673): mt9t031: fix gain and hflip controls, register update, and scaling
-      V4L/DVB (10674): soc-camera: camera host driver for i.MX3x SoCs
-      V4L/DVB (10675): soc-camera: extend soc_camera_bus_param_compatible with more tests
-      V4L/DVB (11024): soc-camera: separate S_FMT and S_CROP operations
-      V4L/DVB (11025): soc-camera: configure drivers with a default format on open
-      V4L/DVB (11026): sh-mobile-ceu-camera: set field to the value, configured at open()
-      V4L/DVB (11027): soc-camera: configure drivers with a default format at probe time
-
-Hans Verkuil (142):
-      V4L/DVB (10231): v4l2-subdev: add v4l2_ext_controls support
-      V4L/DVB (10244): v4l2: replace a few snprintfs with strlcpy
-      V4L/DVB (10246): saa6752hs: convert to v4l2_subdev.
-      V4L/DVB (10247): saa7134: convert to the new v4l2 framework.
-      V4L/DVB (10249): v4l2-common: added v4l2_i2c_tuner_addrs()
-      V4L/DVB (10251): cx25840: add comments explaining what the init() does.
-      V4L/DVB (10252): v4l2 doc: explain why v4l2_device_unregister_subdev() has to be called.
-      V4L/DVB (10271): saa7146: convert to video_ioctl2.
-      V4L/DVB (10272): av7110: test type field in VIDIOC_G_SLICED_VBI_CAP
-      V4L/DVB (10291): em28xx: fix VIDIOC_G_CTRL when there is no msp34xx device.
-      V4L/DVB (10313): saa7146: fix VIDIOC_ENUMSTD.
-      V4L/DVB (10406): gspca: fix compiler warning
-      V4L/DVB (10408): v4l2: fix incorrect hue range check
-      V4L/DVB (10409): v4l: remove unused I2C_DRIVERIDs.
-      V4L/DVB (10486): ivtv/cx18: fix g_fmt and try_fmt for raw video
-      V4L/DVB (10487): doc: update hm12 documentation.
-      V4L/DVB (10488): ivtv: cleanup naming conventions
-      V4L/DVB (10489): doc: use consistent naming conventions for vdev and v4l2_dev.
-      V4L/DVB (10490): v4l2: prefill ident and revision from v4l2_dbg_chip_ident.
-      V4L/DVB (10496): saa7146: implement v4l2_device support.
-      V4L/DVB (10497): saa7146: i2c adapdata now points to v4l2_device.
[...99916 lines suppressed...]
--			return 0;
--		case VIDIOCSFREQ:
--			if(copy_from_user(&tea->freq, arg, sizeof(tea->freq)))
--				return -EFAULT;
--			snd_tea575x_set_freq(tea);
--			return 0;
--		case VIDIOCGAUDIO:
--		{
--			struct video_audio v;
--			memset(&v, 0, sizeof(v));
--			strcpy(v.name, "Radio");
--			if(copy_to_user(arg,&v, sizeof(v)))
--				return -EFAULT;
-+	}
-+	return -EINVAL;
-+}
-+
-+static int vidioc_g_ctrl(struct file *file, void *priv,
-+					struct v4l2_control *ctrl)
-+{
-+	struct snd_tea575x *tea = video_drvdata(file);
-+
-+	switch (ctrl->id) {
-+	case V4L2_CID_AUDIO_MUTE:
-+		if (tea->ops->mute) {
-+			ctrl->value = tea->mute;
- 			return 0;
- 		}
--		case VIDIOCSAUDIO:
--		{
--			struct video_audio v;
--			if(copy_from_user(&v, arg, sizeof(v)))
--				return -EFAULT;
--			if (tea->ops->mute)
--				tea->ops->mute(tea,
--					       (v.flags &
--						VIDEO_AUDIO_MUTE) ? 1 : 0);
--			if(v.audio)
--				return -EINVAL;
-+	}
-+	return -EINVAL;
-+}
-+
-+static int vidioc_s_ctrl(struct file *file, void *priv,
-+					struct v4l2_control *ctrl)
-+{
-+	struct snd_tea575x *tea = video_drvdata(file);
-+
-+	switch (ctrl->id) {
-+	case V4L2_CID_AUDIO_MUTE:
-+		if (tea->ops->mute) {
-+			tea->ops->mute(tea, ctrl->value);
-+			tea->mute = 1;
- 			return 0;
- 		}
--		default:
--			return -ENOIOCTLCMD;
- 	}
-+	return -EINVAL;
-+}
-+
-+static int vidioc_g_input(struct file *filp, void *priv, unsigned int *i)
-+{
-+	*i = 0;
-+	return 0;
- }
- 
--static void snd_tea575x_release(struct video_device *vfd)
-+static int vidioc_s_input(struct file *filp, void *priv, unsigned int i)
- {
-+	if (i != 0)
-+		return -EINVAL;
-+	return 0;
- }
- 
- static int snd_tea575x_exclusive_open(struct file *file)
-@@ -189,50 +260,91 @@ static int snd_tea575x_exclusive_release(struct file *file)
- 	return 0;
- }
- 
-+static const struct v4l2_file_operations tea575x_fops = {
-+	.owner		= THIS_MODULE,
-+	.open           = snd_tea575x_exclusive_open,
-+	.release        = snd_tea575x_exclusive_release,
-+	.ioctl		= video_ioctl2,
-+};
-+
-+static const struct v4l2_ioctl_ops tea575x_ioctl_ops = {
-+	.vidioc_querycap    = vidioc_querycap,
-+	.vidioc_g_tuner     = vidioc_g_tuner,
-+	.vidioc_s_tuner     = vidioc_s_tuner,
-+	.vidioc_g_audio     = vidioc_g_audio,
-+	.vidioc_s_audio     = vidioc_s_audio,
-+	.vidioc_g_input     = vidioc_g_input,
-+	.vidioc_s_input     = vidioc_s_input,
-+	.vidioc_g_frequency = vidioc_g_frequency,
-+	.vidioc_s_frequency = vidioc_s_frequency,
-+	.vidioc_queryctrl   = vidioc_queryctrl,
-+	.vidioc_g_ctrl      = vidioc_g_ctrl,
-+	.vidioc_s_ctrl      = vidioc_s_ctrl,
-+};
-+
-+static struct video_device tea575x_radio = {
-+	.name           = "tea575x-tuner",
-+	.fops           = &tea575x_fops,
-+	.ioctl_ops 	= &tea575x_ioctl_ops,
-+	.release	= video_device_release,
-+};
-+
- /*
-  * initialize all the tea575x chips
-  */
- void snd_tea575x_init(struct snd_tea575x *tea)
- {
-+	int retval;
- 	unsigned int val;
-+	struct video_device *tea575x_radio_inst;
- 
- 	val = tea->ops->read(tea);
- 	if (val == 0x1ffffff || val == 0) {
--		snd_printk(KERN_ERR "Cannot find TEA575x chip\n");
-+		snd_printk(KERN_ERR
-+			   "tea575x-tuner: Cannot find TEA575x chip\n");
- 		return;
- 	}
- 
--	memset(&tea->vd, 0, sizeof(tea->vd));
--	strcpy(tea->vd.name, tea->tea5759 ? "TEA5759 radio" : "TEA5757 radio");
--	tea->vd.release = snd_tea575x_release;
--	video_set_drvdata(&tea->vd, tea);
--	tea->vd.fops = &tea->fops;
- 	tea->in_use = 0;
--	tea->fops.owner = tea->card->module;
--	tea->fops.open = snd_tea575x_exclusive_open;
--	tea->fops.release = snd_tea575x_exclusive_release;
--	tea->fops.ioctl = snd_tea575x_ioctl;
--	if (video_register_device(&tea->vd, VFL_TYPE_RADIO, tea->dev_nr - 1) < 0) {
--		snd_printk(KERN_ERR "unable to register tea575x tuner\n");
-+	tea->val = TEA575X_BIT_BAND_FM | TEA575X_BIT_SEARCH_10_40;
-+	tea->freq = 90500 * 16;		/* 90.5Mhz default */
-+
-+	tea575x_radio_inst = video_device_alloc();
-+	if (tea575x_radio_inst == NULL) {
-+		printk(KERN_ERR "tea575x-tuner: not enough memory\n");
- 		return;
- 	}
--	tea->vd_registered = 1;
- 
--	tea->val = TEA575X_BIT_BAND_FM | TEA575X_BIT_SEARCH_10_40;
--	tea->freq = 90500 * 16;		/* 90.5Mhz default */
-+	memcpy(tea575x_radio_inst, &tea575x_radio, sizeof(tea575x_radio));
-+
-+	strcpy(tea575x_radio.name, tea->tea5759 ?
-+				   "TEA5759 radio" : "TEA5757 radio");
-+
-+	video_set_drvdata(tea575x_radio_inst, tea);
-+
-+	retval = video_register_device(tea575x_radio_inst,
-+				       VFL_TYPE_RADIO, radio_nr);
-+	if (retval) {
-+		printk(KERN_ERR "tea575x-tuner: can't register video device!\n");
-+		kfree(tea575x_radio_inst);
-+		return;
-+	}
- 
- 	snd_tea575x_set_freq(tea);
- 
- 	/* mute on init */
--	if (tea->ops->mute)
-+	if (tea->ops->mute) {
- 		tea->ops->mute(tea, 1);
-+		tea->mute = 1;
-+	}
-+	tea->vd = tea575x_radio_inst;
- }
- 
- void snd_tea575x_exit(struct snd_tea575x *tea)
- {
--	if (tea->vd_registered) {
--		video_unregister_device(&tea->vd);
--		tea->vd_registered = 0;
-+	if (tea->vd) {
-+		video_unregister_device(tea->vd);
-+		tea->vd = NULL;
- 	}
- }
- 
-diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
-index 82b9bdd..6cc18bf 100644
---- a/sound/pci/Kconfig
-+++ b/sound/pci/Kconfig
-@@ -487,7 +487,7 @@ config SND_FM801
- config SND_FM801_TEA575X_BOOL
- 	bool "ForteMedia FM801 + TEA5757 tuner"
- 	depends on SND_FM801
--	depends on VIDEO_V4L1=y || VIDEO_V4L1=SND_FM801
-+	depends on VIDEO_V4L2=y || VIDEO_V4L2=SND_FM801
- 	help
- 	  Say Y here to include support for soundcards based on the ForteMedia
- 	  FM801 chip with a TEA5757 tuner connected to GPIO1-3 pins (Media

xen.pvops.post.patch:

Index: xen.pvops.post.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/Attic/xen.pvops.post.patch,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -r1.1.2.7 -r1.1.2.8
--- xen.pvops.post.patch	26 Mar 2009 00:02:15 -0000	1.1.2.7
+++ xen.pvops.post.patch	28 Mar 2009 15:18:54 -0000	1.1.2.8
@@ -867,3 +867,7 @@
  	help
  	  Say Y here to support the Afatech AF9005 based DVB-T USB1.1 receiver
  	  and the TerraTec Cinergy T USB XE (Rev.1)
+--- a/localversion-tip	2009-02-17 19:49:34.000000000 +0000
++++ /dev/null	2009-02-17 18:08:14.005240123 +0000
+@@ -1 +0,0 @@
+--tip




More information about the fedora-extras-commits mailing list