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

Klaus Schmidinger Klaus.Schmidinger at cadsoft.de
Sun Mar 6 10:48:57 CET 2005


C.Y.M wrote:
> 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,

Whoever checks this in to CVS should please make sure the latest
CVS version of dvb-kernel still compiles with kernel 2.6.8 (which ist
the version used in current Linux distributions such as SUSE 9.2).
I'd hate to be forced to install a special kernel version in case
I switch to dvb-kernel.

Klaus

> ------------------------------------------------------------------------
> 
> --- 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);
>  
> 
> 
> ------------------------------------------------------------------------
> 
> --- 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