aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/i2c/busses/i2c-davinci.c4
-rw-r--r--drivers/i2c/busses/i2c-gpio.c1
-rw-r--r--drivers/i2c/busses/i2c-omap.c6
-rw-r--r--drivers/i2c/chips/isp1301_omap.c2
-rw-r--r--drivers/media/video/videobuf-core.c14
5 files changed, 20 insertions, 7 deletions
diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davinci.c
index bd7aaff35240..67679882ebef 100644
--- a/drivers/i2c/busses/i2c-davinci.c
+++ b/drivers/i2c/busses/i2c-davinci.c
@@ -404,7 +404,7 @@ static irqreturn_t i2c_davinci_isr(int this_irq, void *dev_id)
404 DAVINCI_I2C_STR_REG, 404 DAVINCI_I2C_STR_REG,
405 w); 405 w);
406 } else 406 } else
407 dev_err(dev->dev, "RDR IRQ while no" 407 dev_err(dev->dev, "RDR IRQ while no "
408 "data requested\n"); 408 "data requested\n");
409 break; 409 break;
410 410
@@ -423,7 +423,7 @@ static irqreturn_t i2c_davinci_isr(int this_irq, void *dev_id)
423 DAVINCI_I2C_IMR_REG, 423 DAVINCI_I2C_IMR_REG,
424 w); 424 w);
425 } else 425 } else
426 dev_err(dev->dev, "TDR IRQ while no data to" 426 dev_err(dev->dev, "TDR IRQ while no data to "
427 "send\n"); 427 "send\n");
428 break; 428 break;
429 429
diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c
index 44e1cd21bb01..3ca19fc234fb 100644
--- a/drivers/i2c/busses/i2c-gpio.c
+++ b/drivers/i2c/busses/i2c-gpio.c
@@ -140,6 +140,7 @@ static int __init i2c_gpio_probe(struct platform_device *pdev)
140 adap->owner = THIS_MODULE; 140 adap->owner = THIS_MODULE;
141 snprintf(adap->name, sizeof(adap->name), "i2c-gpio%d", pdev->id); 141 snprintf(adap->name, sizeof(adap->name), "i2c-gpio%d", pdev->id);
142 adap->algo_data = bit_data; 142 adap->algo_data = bit_data;
143 adap->class = I2C_CLASS_HWMON;
143 adap->dev.parent = &pdev->dev; 144 adap->dev.parent = &pdev->dev;
144 145
145 /* 146 /*
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 89a30028ddb6..cb55cf2ba1e9 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -203,7 +203,7 @@ static int omap_i2c_init(struct omap_i2c_dev *dev)
203 while (!(omap_i2c_read_reg(dev, OMAP_I2C_SYSS_REG) & 203 while (!(omap_i2c_read_reg(dev, OMAP_I2C_SYSS_REG) &
204 OMAP_I2C_SYSS_RDONE)) { 204 OMAP_I2C_SYSS_RDONE)) {
205 if (time_after(jiffies, timeout)) { 205 if (time_after(jiffies, timeout)) {
206 dev_warn(dev->dev, "timeout waiting" 206 dev_warn(dev->dev, "timeout waiting "
207 "for controller reset\n"); 207 "for controller reset\n");
208 return -ETIMEDOUT; 208 return -ETIMEDOUT;
209 } 209 }
@@ -483,7 +483,7 @@ omap_i2c_isr(int this_irq, void *dev_id)
483 dev->buf_len--; 483 dev->buf_len--;
484 } 484 }
485 } else 485 } else
486 dev_err(dev->dev, "RRDY IRQ while no data" 486 dev_err(dev->dev, "RRDY IRQ while no data "
487 "requested\n"); 487 "requested\n");
488 omap_i2c_ack_stat(dev, OMAP_I2C_STAT_RRDY); 488 omap_i2c_ack_stat(dev, OMAP_I2C_STAT_RRDY);
489 continue; 489 continue;
@@ -498,7 +498,7 @@ omap_i2c_isr(int this_irq, void *dev_id)
498 dev->buf_len--; 498 dev->buf_len--;
499 } 499 }
500 } else 500 } else
501 dev_err(dev->dev, "XRDY IRQ while no" 501 dev_err(dev->dev, "XRDY IRQ while no "
502 "data to send\n"); 502 "data to send\n");
503 omap_i2c_write_reg(dev, OMAP_I2C_DATA_REG, w); 503 omap_i2c_write_reg(dev, OMAP_I2C_DATA_REG, w);
504 omap_i2c_ack_stat(dev, OMAP_I2C_STAT_XRDY); 504 omap_i2c_ack_stat(dev, OMAP_I2C_STAT_XRDY);
diff --git a/drivers/i2c/chips/isp1301_omap.c b/drivers/i2c/chips/isp1301_omap.c
index fe04e46991aa..b767603a07ba 100644
--- a/drivers/i2c/chips/isp1301_omap.c
+++ b/drivers/i2c/chips/isp1301_omap.c
@@ -26,7 +26,7 @@
26#include <linux/interrupt.h> 26#include <linux/interrupt.h>
27#include <linux/platform_device.h> 27#include <linux/platform_device.h>
28#include <linux/usb/ch9.h> 28#include <linux/usb/ch9.h>
29#include <linux/usb_gadget.h> 29#include <linux/usb/gadget.h>
30#include <linux/usb.h> 30#include <linux/usb.h>
31#include <linux/usb/otg.h> 31#include <linux/usb/otg.h>
32#include <linux/i2c.h> 32#include <linux/i2c.h>
diff --git a/drivers/media/video/videobuf-core.c b/drivers/media/video/videobuf-core.c
index de2f56b19163..81f77d2b4bd3 100644
--- a/drivers/media/video/videobuf-core.c
+++ b/drivers/media/video/videobuf-core.c
@@ -806,7 +806,7 @@ ssize_t videobuf_read_one(struct videobuf_queue *q,
806} 806}
807 807
808/* Locking: Caller holds q->lock */ 808/* Locking: Caller holds q->lock */
809int videobuf_read_start(struct videobuf_queue *q) 809int __videobuf_read_start(struct videobuf_queue *q)
810{ 810{
811 enum v4l2_field field; 811 enum v4l2_field field;
812 unsigned long flags=0; 812 unsigned long flags=0;
@@ -862,6 +862,17 @@ static void __videobuf_read_stop(struct videobuf_queue *q)
862 862
863} 863}
864 864
865int videobuf_read_start(struct videobuf_queue *q)
866{
867 int rc;
868
869 mutex_lock(&q->lock);
870 rc = __videobuf_read_start(q);
871 mutex_unlock(&q->lock);
872
873 return rc;
874}
875
865void videobuf_read_stop(struct videobuf_queue *q) 876void videobuf_read_stop(struct videobuf_queue *q)
866{ 877{
867 mutex_lock(&q->lock); 878 mutex_lock(&q->lock);
@@ -1058,6 +1069,7 @@ EXPORT_SYMBOL_GPL(videobuf_dqbuf);
1058EXPORT_SYMBOL_GPL(videobuf_streamon); 1069EXPORT_SYMBOL_GPL(videobuf_streamon);
1059EXPORT_SYMBOL_GPL(videobuf_streamoff); 1070EXPORT_SYMBOL_GPL(videobuf_streamoff);
1060 1071
1072EXPORT_SYMBOL_GPL(videobuf_read_start);
1061EXPORT_SYMBOL_GPL(videobuf_read_stop); 1073EXPORT_SYMBOL_GPL(videobuf_read_stop);
1062EXPORT_SYMBOL_GPL(videobuf_stop); 1074EXPORT_SYMBOL_GPL(videobuf_stop);
1063EXPORT_SYMBOL_GPL(videobuf_read_stream); 1075EXPORT_SYMBOL_GPL(videobuf_read_stream);