The patch number 10497 was added via Hans Verkuil <hverk...@xs4all.nl>
to http://linuxtv.org/hg/v4l-dvb master development tree.

Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel

If anyone has any objections, please let us know by sending a message to:
        Linux Media Mailing List <linux-me...@vger.kernel.org>

------

From: Hans Verkuil  <hverk...@xs4all.nl>
saa7146: i2c adapdata now points to v4l2_device.


Prepare for converting to v4l2_subdev.

Priority: normal

Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>


---

 linux/drivers/media/common/saa7146_core.c |    2 +-
 linux/drivers/media/common/saa7146_i2c.c  |    5 +++--
 linux/include/media/saa7146.h             |    5 +++++
 3 files changed, 9 insertions(+), 3 deletions(-)

diff -r 435923b9a3e7 -r e7ee52a42e39 linux/drivers/media/common/saa7146_core.c
--- a/linux/drivers/media/common/saa7146_core.c Sat Feb 07 11:23:40 2009 +0100
+++ b/linux/drivers/media/common/saa7146_core.c Sat Feb 07 11:38:12 2009 +0100
@@ -520,7 +520,7 @@ static void saa7146_remove_one(struct pc
 static void saa7146_remove_one(struct pci_dev *pdev)
 {
        struct v4l2_device *v4l2_dev = pci_get_drvdata(pdev);
-       struct saa7146_dev *dev = container_of(v4l2_dev, struct saa7146_dev, 
v4l2_dev);
+       struct saa7146_dev *dev = to_saa7146_dev(v4l2_dev);
        struct {
                void *addr;
                dma_addr_t dma;
diff -r 435923b9a3e7 -r e7ee52a42e39 linux/drivers/media/common/saa7146_i2c.c
--- a/linux/drivers/media/common/saa7146_i2c.c  Sat Feb 07 11:23:40 2009 +0100
+++ b/linux/drivers/media/common/saa7146_i2c.c  Sat Feb 07 11:38:12 2009 +0100
@@ -391,7 +391,8 @@ out:
 /* utility functions */
 static int saa7146_i2c_xfer(struct i2c_adapter* adapter, struct i2c_msg *msg, 
int num)
 {
-       struct saa7146_dev* dev = i2c_get_adapdata(adapter);
+       struct v4l2_device *v4l2_dev = i2c_get_adapdata(adapter);
+       struct saa7146_dev *dev = to_saa7146_dev(v4l2_dev);
 
        /* use helper function to transfer data */
        return saa7146_i2c_transfer(dev, msg, num, adapter->retries);
@@ -423,7 +424,7 @@ int saa7146_i2c_adapter_prepare(struct s
 
        if( NULL != i2c_adapter ) {
                BUG_ON(!i2c_adapter->class);
-               i2c_set_adapdata(i2c_adapter,dev);
+               i2c_set_adapdata(i2c_adapter, &dev->v4l2_dev);
                i2c_adapter->dev.parent    = &dev->pci->dev;
                i2c_adapter->algo          = &saa7146_algo;
                i2c_adapter->algo_data     = NULL;
diff -r 435923b9a3e7 -r e7ee52a42e39 linux/include/media/saa7146.h
--- a/linux/include/media/saa7146.h     Sat Feb 07 11:23:40 2009 +0100
+++ b/linux/include/media/saa7146.h     Sat Feb 07 11:38:12 2009 +0100
@@ -148,6 +148,11 @@ struct saa7146_dev
        struct saa7146_dma              d_rps0;
        struct saa7146_dma              d_rps1;
 };
+
+static inline struct saa7146_dev *to_saa7146_dev(struct v4l2_device *v4l2_dev)
+{
+       return container_of(v4l2_dev, struct saa7146_dev, v4l2_dev);
+}
 
 /* from saa7146_i2c.c */
 int saa7146_i2c_adapter_prepare(struct saa7146_dev *dev, struct i2c_adapter 
*i2c_adapter, u32 bitrate);


---

Patch is available at: 
http://linuxtv.org/hg/v4l-dvb/rev/e7ee52a42e3920bd5449bdaaad408aea65dba57b

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to