[linux-dvb] saa7146 changes required for 2.6.11-bk1

C.Y.M syphir at syphir.sytes.net
Sun Mar 6 01:25:51 CET 2005


I noticed the kernel developers made some new changes to i2c which affects 
saa7146 (and some other drivers) in 2.6.11-bk1.  Included is a patch for current 
dvb-kernel if you want to build the latest 2.6 kernel snapshot.

Best Regards,



-------------- next part --------------
--- dvb-kernel/linux/include/media/saa7146.h.orig      2005-03-05 13:40:47.000000000 -0800
+++ dvb-kernel/linux/include/media/saa7146.h   2005-03-05 13:41:31.000000000 -0800
@@ -169,7 +169,7 @@

 /* from saa7146_i2c.c */
 int saa7146_i2c_adapter_prepare(struct saa7146_dev *dev, struct i2c_adapter *i2c_adapter, u32 bitrate);
-int saa7146_i2c_transfer(struct saa7146_dev *saa, const struct i2c_msg msgs[], int num, int retries);
+int saa7146_i2c_transfer(struct saa7146_dev *saa, const struct i2c_msg *msgs, int num,  int retries);

 /* from saa7146_core.c */
 extern struct list_head saa7146_devices;
--- dvb-kernel/linux/drivers/media/common/saa7146_video.c.orig	2005-03-05 13:36:37.000000000 -0800
+++ dvb-kernel/linux/drivers/media/common/saa7146_video.c	2005-03-05 13:38:45.000000000 -0800
@@ -889,7 +889,7 @@
 
                 strcpy(cap->driver, "saa7146 v4l2");
 		strlcpy(cap->card, dev->ext->name, sizeof(cap->card));
-		sprintf(cap->bus_info,"PCI:%s",dev->pci->slot_name);
+		sprintf(cap->bus_info,"PCI:%s", pci_name(dev->pci));
 		cap->version = SAA7146_VERSION_CODE;
 		cap->capabilities =
 			V4L2_CAP_VIDEO_CAPTURE |
--- dvb-kernel/linux/drivers/media/common/saa7146_i2c.c.orig	2005-03-02 21:15:05.000000000 -0800
+++ dvb-kernel/linux/drivers/media/common/saa7146_i2c.c	2005-03-05 13:43:00.000000000 -0800
@@ -25,7 +25,7 @@
    sent through the saa7146. have a look at the specifications p. 122 ff
    to understand this. it returns the number of u32s to send, or -1
    in case of an error. */
-static int saa7146_i2c_msg_prepare(const struct i2c_msg m[], int num, u32 *op)
+static int saa7146_i2c_msg_prepare(const struct i2c_msg *m, int num, u32 *op)
 {
 	int h1, h2;
 	int i, j, addr;
@@ -89,7 +89,7 @@
    which bytes were read through the adapter and write them back to the corresponding
    i2c-message. but instead, we simply write back all bytes.
    fixme: this could be improved. */
-static int saa7146_i2c_msg_cleanup(const struct i2c_msg m[], int num, u32 *op)
+static int saa7146_i2c_msg_cleanup(const struct i2c_msg *m, int num, u32 *op)
 {
 	int i, j;
 	int op_count = 0;
@@ -272,7 +272,7 @@
 	return 0;
 }
 
-int saa7146_i2c_transfer(struct saa7146_dev *dev, const struct i2c_msg msgs[], int num, int retries)
+int saa7146_i2c_transfer(struct saa7146_dev *dev, const struct i2c_msg *msgs, int num, int retries)
 {
 	int i = 0, count = 0;
 	u32* buffer = dev->d_i2c.cpu_addr;
@@ -372,7 +372,7 @@
 }
 
 /* utility functions */
-static int saa7146_i2c_xfer(struct i2c_adapter* adapter, struct i2c_msg msg[], int num)
+static int saa7146_i2c_xfer(struct i2c_adapter* adapter, struct i2c_msg *msg, int num)
 {
 	struct saa7146_dev* dev = i2c_get_adapdata(adapter);
 
-------------- next part --------------
--- dvb-kernel/linux/drivers/media/dvb/b2c2/skystar2.c.orig	2005-02-11 17:57:54.000000000 -0800
+++ dvb-kernel/linux/drivers/media/dvb/b2c2/skystar2.c	2005-03-05 16:09:02.000000000 -0800
@@ -298,7 +298,7 @@
 	return buf - start;
 }
 
-static int master_xfer(struct i2c_adapter* adapter, struct i2c_msg msgs[], int num)
+static int master_xfer(struct i2c_adapter* adapter, struct i2c_msg *msgs, int num)
 {
 	struct adapter *tmp = i2c_get_adapdata(adapter);
 	int i, ret = 0;
--- dvb-kernel/linux/drivers/media/dvb/dibusb/dvb-dibusb-fe-i2c.c.orig	2005-03-05 14:00:35.000000000 -0800
+++ dvb-kernel/linux/drivers/media/dvb/dibusb/dvb-dibusb-fe-i2c.c	2005-03-05 16:09:02.000000000 -0800
@@ -38,7 +38,7 @@
 /*
  * I2C master xfer function
  */
-static int dibusb_i2c_xfer(struct i2c_adapter *adap,struct i2c_msg msg[],int num)
+static int dibusb_i2c_xfer(struct i2c_adapter *adap,struct i2c_msg *msg,int num)
 {
 	struct usb_dibusb *dib = i2c_get_adapdata(adap);
 	int i;
--- dvb-kernel/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c.orig	2005-02-19 01:16:49.000000000 -0800
+++ dvb-kernel/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c	2005-03-05 16:09:02.000000000 -0800
@@ -239,7 +239,7 @@
 	return rcv_len;
 }
 
-static int master_xfer(struct i2c_adapter* adapter, struct i2c_msg msg[], int num)
+static int master_xfer(struct i2c_adapter* adapter, struct i2c_msg *msg, int num)
 {
 	struct ttusb *ttusb = i2c_get_adapdata(adapter);
 	int i = 0;


More information about the linux-dvb mailing list