aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/video/gspca/m5602/m5602_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/gspca/m5602/m5602_core.c')
-rw-r--r--drivers/media/video/gspca/m5602/m5602_core.c37
1 files changed, 21 insertions, 16 deletions
diff --git a/drivers/media/video/gspca/m5602/m5602_core.c b/drivers/media/video/gspca/m5602/m5602_core.c
index 475073501117..19d5e351ccc1 100644
--- a/drivers/media/video/gspca/m5602/m5602_core.c
+++ b/drivers/media/video/gspca/m5602/m5602_core.c
@@ -35,16 +35,6 @@ static const __devinitdata struct usb_device_id m5602_table[] = {
MODULE_DEVICE_TABLE(usb, m5602_table);
-/* sub-driver description, the ctrl and nctrl is filled at probe time */
-static struct sd_desc sd_desc = {
- .name = MODULE_NAME,
- .config = m5602_configure,
- .init = m5602_init,
- .start = m5602_start_transfer,
- .stopN = m5602_stop_transfer,
- .pkt_scan = m5602_urb_complete
-};
-
/* Reads a byte from the m5602 */
int m5602_read_bridge(struct sd *sd, u8 address, u8 *i2c_data)
{
@@ -104,7 +94,7 @@ static void m5602_dump_bridge(struct sd *sd)
info("Warning: The camera probably won't work until it's power cycled");
}
-int m5602_probe_sensor(struct sd *sd)
+static int m5602_probe_sensor(struct sd *sd)
{
/* Try the po1030 */
sd->sensor = &po1030;
@@ -137,7 +127,10 @@ int m5602_probe_sensor(struct sd *sd)
return -ENODEV;
}
-int m5602_init(struct gspca_dev *gspca_dev)
+static int m5602_configure(struct gspca_dev *gspca_dev,
+ const struct usb_device_id *id);
+
+static int m5602_init(struct gspca_dev *gspca_dev)
{
struct sd *sd = (struct sd *) gspca_dev;
int err;
@@ -149,7 +142,7 @@ int m5602_init(struct gspca_dev *gspca_dev)
return err;
}
-void m5602_start_transfer(struct gspca_dev *gspca_dev)
+static int m5602_start_transfer(struct gspca_dev *gspca_dev)
{
struct sd *sd = (struct sd *) gspca_dev;
__u8 *buf = sd->gspca_dev.usb_buf;
@@ -162,9 +155,11 @@ void m5602_start_transfer(struct gspca_dev *gspca_dev)
4, M5602_URB_MSG_TIMEOUT);
PDEBUG(DBG_V4L2, "Transfer started");
+ return 0;
}
-void m5602_urb_complete(struct gspca_dev *gspca_dev, struct gspca_frame *frame,
+static void m5602_urb_complete(struct gspca_dev *gspca_dev,
+ struct gspca_frame *frame,
__u8 *data, int len)
{
struct sd *sd = (struct sd *) gspca_dev;
@@ -216,13 +211,23 @@ void m5602_urb_complete(struct gspca_dev *gspca_dev, struct gspca_frame *frame,
}
}
-void m5602_stop_transfer(struct gspca_dev *gspca_dev)
+static void m5602_stop_transfer(struct gspca_dev *gspca_dev)
{
/* Is there are a command to stop a data transfer? */
}
+/* sub-driver description, the ctrl and nctrl is filled at probe time */
+static struct sd_desc sd_desc = {
+ .name = MODULE_NAME,
+ .config = m5602_configure,
+ .init = m5602_init,
+ .start = m5602_start_transfer,
+ .stopN = m5602_stop_transfer,
+ .pkt_scan = m5602_urb_complete
+};
+
/* this function is called at probe time */
-int m5602_configure(struct gspca_dev *gspca_dev,
+static int m5602_configure(struct gspca_dev *gspca_dev,
const struct usb_device_id *id)
{
struct sd *sd = (struct sd *) gspca_dev;