The patch number 8317 was added via Mauro Carvalho Chehab <[EMAIL PROTECTED]>
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:
        [EMAIL PROTECTED]

------

From: Dean Anderson  <[EMAIL PROTECTED]>
Sensoray 2255 V4l driver checkpatch fixes


This patch fixes some coding style issues.
It also fixes a NULL de-reference on driver unload.
The permissions for the module parameters were changed to 0644.

Signed-off-by: Dean Anderson <[EMAIL PROTECTED]>
Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>


---

 linux/drivers/media/video/s2255drv.c |   61 +++++++++++++++------------
 1 file changed, 35 insertions(+), 26 deletions(-)

diff -r 690a53985159 -r 851d162c3bff linux/drivers/media/video/s2255drv.c
--- a/linux/drivers/media/video/s2255drv.c      Wed Jul 02 16:01:21 2008 +0000
+++ b/linux/drivers/media/video/s2255drv.c      Mon Jun 30 21:28:34 2008 +0000
@@ -68,17 +68,17 @@
 /* maximum time for DSP to start responding after last FW word loaded(ms) */
 #define S2255_DSP_BOOTTIME      400
 /* maximum time to wait for firmware to load (ms) */
-#define S2255_LOAD_TIMEOUT      (5000+S2255_DSP_BOOTTIME)
+#define S2255_LOAD_TIMEOUT      (5000 + S2255_DSP_BOOTTIME)
 #define S2255_DEF_BUFS          16
 #define MAX_CHANNELS           4
 #define FRAME_MARKER           0x2255DA4AL
-#define MAX_PIPE_USBBLOCK      (40*1024)
-#define DEFAULT_PIPE_USBBLOCK  (16*1024)
+#define MAX_PIPE_USBBLOCK      (40 * 1024)
+#define DEFAULT_PIPE_USBBLOCK  (16 * 1024)
 #define MAX_CHANNELS           4
 #define MAX_PIPE_BUFFERS       1
 #define SYS_FRAMES             4
 /* maximum size is PAL full size plus room for the marker header(s) */
-#define SYS_FRAMES_MAXSIZE     (720*288*2*2 + 4096)
+#define SYS_FRAMES_MAXSIZE     (720 * 288 * 2 * 2 + 4096)
 #define DEF_USB_BLOCK          (4096)
 #define LINE_SZ_4CIFS_NTSC     640
 #define LINE_SZ_2CIFS_NTSC     640
@@ -169,7 +169,7 @@ struct s2255_bufferi {
 
 #define DEF_MODEI_NTSC_CONT    {FORMAT_NTSC, DEF_SCALE, DEF_COLOR,     \
                        DEF_FDEC, DEF_BRIGHT, DEF_CONTRAST, DEF_SATURATION, \
-                       DEF_HUE, 0, DEF_USB_BLOCK, 0 }
+                       DEF_HUE, 0, DEF_USB_BLOCK, 0}
 
 struct s2255_dmaqueue {
        struct list_head        active;
@@ -276,6 +276,10 @@ struct s2255_fh {
        struct s2255_mode       mode;
 };
 
+/*
+ * TODO: fixme S2255_MAX_USERS. Do not limit open driver handles.
+ * Limit V4L to one stream at a time.
+ */
 #define S2255_MAX_USERS         1
 
 #define CUR_USB_FWVER  774     /* current cypress EEPROM firmware version */
@@ -294,7 +298,7 @@ struct s2255_fh {
 #define PREFIX_SIZE            512
 
 /* Channels on box are in reverse order */
-static unsigned long G_chnmap[MAX_CHANNELS] = { 3, 2, 1, 0 };
+static unsigned long G_chnmap[MAX_CHANNELS] = {3, 2, 1, 0};
 
 static LIST_HEAD(s2255_devlist);
 
@@ -330,11 +334,11 @@ static unsigned int vid_limit = 16;       /* V
 /* start video number */
 static int video_nr = -1;      /* /dev/videoN, -1 for autodetect */
 
-module_param(debug, int, 0);
+module_param(debug, int, 0644);
 MODULE_PARM_DESC(debug, "Debug level(0-100) default 0");
-module_param(vid_limit, int, 0);
+module_param(vid_limit, int, 0644);
 MODULE_PARM_DESC(vid_limit, "video memory limit(Mb)");
-module_param(video_nr, int, 0);
+module_param(video_nr, int, 0644);
 MODULE_PARM_DESC(video_nr, "start video minor(-1 default autodetect)");
 
 /* USB device table */
@@ -438,7 +442,10 @@ static int norm_minh(struct video_device
 }
 
 
-/* converts 2255 planar format to yuyv or uyvy */
+/*
+ * TODO: fixme: move YUV reordering to hardware
+ * converts 2255 planar format to yuyv or uyvy
+ */
 static void planar422p_to_yuv_packed(const unsigned char *in,
                                     unsigned char *out,
                                     int width, int height,
@@ -503,7 +510,7 @@ static void s2255_fwchunk_complete(struc
        struct usb_device *udev = urb->dev;
        int len;
        dprintk(100, "udev %p urb %p", udev, urb);
-
+       /* TODO: fixme.  reflect change in status */
        if (urb->status) {
                dev_err(&udev->dev, "URB failed with status %d", urb->status);
                return;
@@ -683,7 +690,7 @@ static int buffer_setup(struct videobuf_
        if (0 == *count)
                *count = S2255_DEF_BUFS;
 
-       while (*size * *count > vid_limit * 1024 * 1024)
+       while (*size * (*count) > vid_limit * 1024 * 1024)
                (*count)--;
 
        return 0;
@@ -790,7 +797,7 @@ static int res_get(struct s2255_dev *dev
 
 static int res_locked(struct s2255_dev *dev, struct s2255_fh *fh)
 {
-       return (dev->resources[fh->channel]);
+       return dev->resources[fh->channel];
 }
 
 static void res_free(struct s2255_dev *dev, struct s2255_fh *fh)
@@ -807,7 +814,8 @@ static int vidioc_querycap(struct file *
        struct s2255_dev *dev = fh->dev;
        strlcpy(cap->driver, "s2255", sizeof(cap->driver));
        strlcpy(cap->card, "s2255", sizeof(cap->card));
-       strlcpy(cap->bus_info, dev_name(&dev->udev->dev), 
sizeof(cap->bus_info));
+       strlcpy(cap->bus_info, dev_name(&dev->udev->dev),
+               sizeof(cap->bus_info));
        cap->version = S2255_VERSION;
        cap->capabilities = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
        return 0;
@@ -840,8 +848,7 @@ static int vidioc_g_fmt_vid_cap(struct f
        f->fmt.pix.pixelformat = fh->fmt->fourcc;
        f->fmt.pix.bytesperline = f->fmt.pix.width * (fh->fmt->depth >> 3);
        f->fmt.pix.sizeimage = f->fmt.pix.height * f->fmt.pix.bytesperline;
-
-       return (0);
+       return 0;
 }
 
 static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
@@ -962,7 +969,7 @@ static int vidioc_s_fmt_vid_cap(struct f
        ret = vidioc_try_fmt_vid_cap(file, fh, f);
 
        if (ret < 0)
-               return (ret);
+               return ret;
 
        fmt = format_by_fourcc(f->fmt.pix.pixelformat);
 
@@ -1337,7 +1344,7 @@ static int vidioc_enum_input(struct file
        inp->type = V4L2_INPUT_TYPE_CAMERA;
        inp->std = S2255_NORMS;
        strlcpy(inp->name, "Camera", sizeof(inp->name));
-       return (0);
+       return 0;
 }
 
 static int vidioc_g_input(struct file *file, void *priv, unsigned int *i)
@@ -1361,7 +1368,7 @@ static int vidioc_queryctrl(struct file 
        for (i = 0; i < ARRAY_SIZE(s2255_qctrl); i++)
                if (qc->id && qc->id == s2255_qctrl[i].id) {
                        memcpy(qc, &(s2255_qctrl[i]), sizeof(*qc));
-                       return (0);
+                       return 0;
                }
 
        dprintk(4, "query_ctrl -EINVAL %d\n", qc->id);
@@ -1376,7 +1383,7 @@ static int vidioc_g_ctrl(struct file *fi
        for (i = 0; i < ARRAY_SIZE(s2255_qctrl); i++)
                if (ctrl->id == s2255_qctrl[i].id) {
                        ctrl->value = qctl_regs[i];
-                       return (0);
+                       return 0;
                }
        dprintk(4, "g_ctrl -EINVAL\n");
 
@@ -1396,7 +1403,7 @@ static int vidioc_s_ctrl(struct file *fi
                if (ctrl->id == s2255_qctrl[i].id) {
                        if (ctrl->value < s2255_qctrl[i].minimum ||
                            ctrl->value > s2255_qctrl[i].maximum)
-                               return (-ERANGE);
+                               return -ERANGE;
 
                        qctl_regs[i] = ctrl->value;
                        /* update the mode to the corresponding value */
@@ -1572,6 +1579,11 @@ static void s2255_destroy(struct kref *k
                usb_free_urb(dev->fw_data->fw_urb);
                dev->fw_data->fw_urb = NULL;
        }
+       /*
+        * TODO: fixme(above, below): potentially leaving timers alive.
+        *                            do not ignore timeout below if
+        *                            it occurs.
+        */
 
        /* make sure we aren't waiting for the DSP */
        if (atomic_read(&dev->fw_data->fw_state) == S2255_FW_LOADED_DSPWAIT) {
@@ -1583,13 +1595,10 @@ static void s2255_destroy(struct kref *k
        }
 
        if (dev->fw_data) {
+               if (dev->fw_data->fw)
+                       release_firmware(dev->fw_data->fw);
                kfree(dev->fw_data->pfw_data);
                kfree(dev->fw_data);
-       }
-
-       if (dev->fw_data->fw) {
-               release_firmware(dev->fw_data->fw);
-               dev->fw_data->fw = NULL;
        }
 
        usb_put_dev(dev->udev);


---

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

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

Reply via email to