Commit f5402007 authored by sensoray-dev's avatar sensoray-dev Committed by Mauro Carvalho Chehab

[media] s2255drv: checkpatch fix: coding style fix

Fixes all style warnings from scripts/checkpatch -f
Signed-off-by: default avatarDean Anderson <linux-dev@sensoray.com>
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 2d27b37d
...@@ -218,6 +218,7 @@ struct s2255_fmt; /*forward declaration */ ...@@ -218,6 +218,7 @@ struct s2255_fmt; /*forward declaration */
struct s2255_dev; struct s2255_dev;
struct s2255_channel { struct s2255_channel {
struct s2255_dev *dev;
struct video_device vdev; struct video_device vdev;
struct v4l2_ctrl_handler hdl; struct v4l2_ctrl_handler hdl;
struct v4l2_ctrl *jpegqual_ctrl; struct v4l2_ctrl *jpegqual_ctrl;
...@@ -259,7 +260,7 @@ struct s2255_channel { ...@@ -259,7 +260,7 @@ struct s2255_channel {
struct s2255_dev { struct s2255_dev {
struct s2255_channel channel[MAX_CHANNELS]; struct s2255_channel channel[MAX_CHANNELS];
struct v4l2_device v4l2_dev; struct v4l2_device v4l2_dev;
atomic_t num_channels; atomic_t num_channels;
int frames; int frames;
struct mutex lock; /* channels[].vdev.lock */ struct mutex lock; /* channels[].vdev.lock */
...@@ -352,7 +353,6 @@ struct s2255_fh { ...@@ -352,7 +353,6 @@ struct s2255_fh {
static unsigned long G_chnmap[MAX_CHANNELS] = {3, 2, 1, 0}; static unsigned long G_chnmap[MAX_CHANNELS] = {3, 2, 1, 0};
static int debug; static int debug;
static int *s2255_debug = &debug;
static int s2255_start_readpipe(struct s2255_dev *dev); static int s2255_start_readpipe(struct s2255_dev *dev);
static void s2255_stop_readpipe(struct s2255_dev *dev); static void s2255_stop_readpipe(struct s2255_dev *dev);
...@@ -373,13 +373,8 @@ static long s2255_vendor_req(struct s2255_dev *dev, unsigned char req, ...@@ -373,13 +373,8 @@ static long s2255_vendor_req(struct s2255_dev *dev, unsigned char req,
#define s2255_dev_err(dev, fmt, arg...) \ #define s2255_dev_err(dev, fmt, arg...) \
dev_err(dev, S2255_DRIVER_NAME " - " fmt, ##arg) dev_err(dev, S2255_DRIVER_NAME " - " fmt, ##arg)
#define dprintk(level, fmt, arg...) \ #define dprintk(dev, level, fmt, arg...) \
do { \ v4l2_dbg(level, debug, &dev->v4l2_dev, fmt, ## arg)
if (*s2255_debug >= (level)) { \
printk(KERN_DEBUG S2255_DRIVER_NAME \
": " fmt, ##arg); \
} \
} while (0)
static struct usb_driver s2255_driver; static struct usb_driver s2255_driver;
...@@ -498,7 +493,7 @@ static void planar422p_to_yuv_packed(const unsigned char *in, ...@@ -498,7 +493,7 @@ static void planar422p_to_yuv_packed(const unsigned char *in,
static void s2255_reset_dsppower(struct s2255_dev *dev) static void s2255_reset_dsppower(struct s2255_dev *dev)
{ {
s2255_vendor_req(dev, 0x40, 0x0000, 0x0001, NULL, 0, 1); s2255_vendor_req(dev, 0x40, 0x0000, 0x0001, NULL, 0, 1);
msleep(10); msleep(20);
s2255_vendor_req(dev, 0x50, 0x0000, 0x0000, NULL, 0, 1); s2255_vendor_req(dev, 0x50, 0x0000, 0x0000, NULL, 0, 1);
msleep(600); msleep(600);
s2255_vendor_req(dev, 0x10, 0x0000, 0x0000, NULL, 0, 1); s2255_vendor_req(dev, 0x10, 0x0000, 0x0000, NULL, 0, 1);
...@@ -510,9 +505,8 @@ static void s2255_reset_dsppower(struct s2255_dev *dev) ...@@ -510,9 +505,8 @@ static void s2255_reset_dsppower(struct s2255_dev *dev)
static void s2255_timer(unsigned long user_data) static void s2255_timer(unsigned long user_data)
{ {
struct s2255_fw *data = (struct s2255_fw *)user_data; struct s2255_fw *data = (struct s2255_fw *)user_data;
dprintk(100, "%s\n", __func__);
if (usb_submit_urb(data->fw_urb, GFP_ATOMIC) < 0) { if (usb_submit_urb(data->fw_urb, GFP_ATOMIC) < 0) {
printk(KERN_ERR "s2255: can't submit urb\n"); pr_err("s2255: can't submit urb\n");
atomic_set(&data->fw_state, S2255_FW_FAILED); atomic_set(&data->fw_state, S2255_FW_FAILED);
/* wake up anything waiting for the firmware */ /* wake up anything waiting for the firmware */
wake_up(&data->wait_fw); wake_up(&data->wait_fw);
...@@ -532,7 +526,6 @@ static void s2255_fwchunk_complete(struct urb *urb) ...@@ -532,7 +526,6 @@ static void s2255_fwchunk_complete(struct urb *urb)
struct s2255_fw *data = urb->context; struct s2255_fw *data = urb->context;
struct usb_device *udev = urb->dev; struct usb_device *udev = urb->dev;
int len; int len;
dprintk(100, "%s: udev %p urb %p", __func__, udev, urb);
if (urb->status) { if (urb->status) {
dev_err(&udev->dev, "URB failed with status %d\n", urb->status); dev_err(&udev->dev, "URB failed with status %d\n", urb->status);
atomic_set(&data->fw_state, S2255_FW_FAILED); atomic_set(&data->fw_state, S2255_FW_FAILED);
...@@ -559,9 +552,6 @@ static void s2255_fwchunk_complete(struct urb *urb) ...@@ -559,9 +552,6 @@ static void s2255_fwchunk_complete(struct urb *urb)
if (len < CHUNK_SIZE) if (len < CHUNK_SIZE)
memset(data->pfw_data, 0, CHUNK_SIZE); memset(data->pfw_data, 0, CHUNK_SIZE);
dprintk(100, "completed len %d, loaded %d \n", len,
data->fw_loaded);
memcpy(data->pfw_data, memcpy(data->pfw_data,
(char *) data->fw->data + data->fw_loaded, len); (char *) data->fw->data + data->fw_loaded, len);
...@@ -576,10 +566,8 @@ static void s2255_fwchunk_complete(struct urb *urb) ...@@ -576,10 +566,8 @@ static void s2255_fwchunk_complete(struct urb *urb)
return; return;
} }
data->fw_loaded += len; data->fw_loaded += len;
} else { } else
atomic_set(&data->fw_state, S2255_FW_LOADED_DSPWAIT); atomic_set(&data->fw_state, S2255_FW_LOADED_DSPWAIT);
dprintk(100, "%s: firmware upload complete\n", __func__);
}
return; return;
} }
...@@ -593,7 +581,7 @@ static int s2255_got_frame(struct s2255_channel *channel, int jpgsize) ...@@ -593,7 +581,7 @@ static int s2255_got_frame(struct s2255_channel *channel, int jpgsize)
int rc = 0; int rc = 0;
spin_lock_irqsave(&dev->slock, flags); spin_lock_irqsave(&dev->slock, flags);
if (list_empty(&dma_q->active)) { if (list_empty(&dma_q->active)) {
dprintk(1, "No active queue to serve\n"); dprintk(dev, 1, "No active queue to serve\n");
rc = -1; rc = -1;
goto unlock; goto unlock;
} }
...@@ -603,7 +591,7 @@ static int s2255_got_frame(struct s2255_channel *channel, int jpgsize) ...@@ -603,7 +591,7 @@ static int s2255_got_frame(struct s2255_channel *channel, int jpgsize)
v4l2_get_timestamp(&buf->vb.ts); v4l2_get_timestamp(&buf->vb.ts);
s2255_fillbuff(channel, buf, jpgsize); s2255_fillbuff(channel, buf, jpgsize);
wake_up(&buf->vb.done); wake_up(&buf->vb.done);
dprintk(2, "%s: [buf/i] [%p/%d]\n", __func__, buf, buf->vb.i); dprintk(dev, 2, "%s: [buf/i] [%p/%d]\n", __func__, buf, buf->vb.i);
unlock: unlock:
spin_unlock_irqrestore(&dev->slock, flags); spin_unlock_irqrestore(&dev->slock, flags);
return rc; return rc;
...@@ -615,9 +603,9 @@ static const struct s2255_fmt *format_by_fourcc(int fourcc) ...@@ -615,9 +603,9 @@ static const struct s2255_fmt *format_by_fourcc(int fourcc)
for (i = 0; i < ARRAY_SIZE(formats); i++) { for (i = 0; i < ARRAY_SIZE(formats); i++) {
if (-1 == formats[i].fourcc) if (-1 == formats[i].fourcc)
continue; continue;
if (!jpeg_enable && ((formats[i].fourcc == V4L2_PIX_FMT_JPEG) || if (!jpeg_enable && ((formats[i].fourcc == V4L2_PIX_FMT_JPEG) ||
(formats[i].fourcc == V4L2_PIX_FMT_MJPEG))) (formats[i].fourcc == V4L2_PIX_FMT_MJPEG)))
continue; continue;
if (formats[i].fourcc == fourcc) if (formats[i].fourcc == fourcc)
return formats + i; return formats + i;
} }
...@@ -639,6 +627,7 @@ static void s2255_fillbuff(struct s2255_channel *channel, ...@@ -639,6 +627,7 @@ static void s2255_fillbuff(struct s2255_channel *channel,
const char *tmpbuf; const char *tmpbuf;
char *vbuf = videobuf_to_vmalloc(&buf->vb); char *vbuf = videobuf_to_vmalloc(&buf->vb);
unsigned long last_frame; unsigned long last_frame;
struct s2255_dev *dev = channel->dev;
if (!vbuf) if (!vbuf)
return; return;
...@@ -667,18 +656,16 @@ static void s2255_fillbuff(struct s2255_channel *channel, ...@@ -667,18 +656,16 @@ static void s2255_fillbuff(struct s2255_channel *channel,
buf->vb.width * buf->vb.height * 2); buf->vb.width * buf->vb.height * 2);
break; break;
default: default:
printk(KERN_DEBUG "s2255: unknown format?\n"); pr_info("s2255: unknown format?\n");
} }
channel->last_frame = -1; channel->last_frame = -1;
} else { } else {
printk(KERN_ERR "s2255: =======no frame\n"); pr_err("s2255: =======no frame\n");
return; return;
} }
dprintk(2, "s2255fill at : Buffer 0x%08lx size= %d\n", dprintk(dev, 2, "s2255fill at : Buffer 0x%08lx size= %d\n",
(unsigned long)vbuf, pos); (unsigned long)vbuf, pos);
/* tell v4l buffer was filled */ /* tell v4l buffer was filled */
buf->vb.field_count = channel->frame_count * 2; buf->vb.field_count = channel->frame_count * 2;
v4l2_get_timestamp(&buf->vb.ts); v4l2_get_timestamp(&buf->vb.ts);
buf->vb.state = VIDEOBUF_DONE; buf->vb.state = VIDEOBUF_DONE;
...@@ -707,8 +694,6 @@ static int buffer_setup(struct videobuf_queue *vq, unsigned int *count, ...@@ -707,8 +694,6 @@ static int buffer_setup(struct videobuf_queue *vq, unsigned int *count,
static void free_buffer(struct videobuf_queue *vq, struct s2255_buffer *buf) static void free_buffer(struct videobuf_queue *vq, struct s2255_buffer *buf)
{ {
dprintk(4, "%s\n", __func__);
videobuf_vmalloc_free(&buf->vb); videobuf_vmalloc_free(&buf->vb);
buf->vb.state = VIDEOBUF_NEEDS_INIT; buf->vb.state = VIDEOBUF_NEEDS_INIT;
} }
...@@ -722,7 +707,7 @@ static int buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb, ...@@ -722,7 +707,7 @@ static int buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb,
int rc; int rc;
int w = channel->width; int w = channel->width;
int h = channel->height; int h = channel->height;
dprintk(4, "%s, field=%d\n", __func__, field); dprintk(fh->dev, 4, "%s, field=%d\n", __func__, field);
if (channel->fmt == NULL) if (channel->fmt == NULL)
return -EINVAL; return -EINVAL;
...@@ -730,12 +715,12 @@ static int buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb, ...@@ -730,12 +715,12 @@ static int buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb,
(w > norm_maxw(channel)) || (w > norm_maxw(channel)) ||
(h < norm_minh(channel)) || (h < norm_minh(channel)) ||
(h > norm_maxh(channel))) { (h > norm_maxh(channel))) {
dprintk(4, "invalid buffer prepare\n"); dprintk(fh->dev, 4, "invalid buffer prepare\n");
return -EINVAL; return -EINVAL;
} }
buf->vb.size = w * h * (channel->fmt->depth >> 3); buf->vb.size = w * h * (channel->fmt->depth >> 3);
if (0 != buf->vb.baddr && buf->vb.bsize < buf->vb.size) { if (0 != buf->vb.baddr && buf->vb.bsize < buf->vb.size) {
dprintk(4, "invalid buffer prepare\n"); dprintk(fh->dev, 4, "invalid buffer prepare\n");
return -EINVAL; return -EINVAL;
} }
...@@ -763,7 +748,7 @@ static void buffer_queue(struct videobuf_queue *vq, struct videobuf_buffer *vb) ...@@ -763,7 +748,7 @@ static void buffer_queue(struct videobuf_queue *vq, struct videobuf_buffer *vb)
struct s2255_fh *fh = vq->priv_data; struct s2255_fh *fh = vq->priv_data;
struct s2255_channel *channel = fh->channel; struct s2255_channel *channel = fh->channel;
struct s2255_dmaqueue *vidq = &channel->vidq; struct s2255_dmaqueue *vidq = &channel->vidq;
dprintk(1, "%s\n", __func__); dprintk(fh->dev, 1, "%s\n", __func__);
buf->vb.state = VIDEOBUF_QUEUED; buf->vb.state = VIDEOBUF_QUEUED;
list_add_tail(&buf->vb.queue, &vidq->active); list_add_tail(&buf->vb.queue, &vidq->active);
} }
...@@ -773,7 +758,7 @@ static void buffer_release(struct videobuf_queue *vq, ...@@ -773,7 +758,7 @@ static void buffer_release(struct videobuf_queue *vq,
{ {
struct s2255_buffer *buf = container_of(vb, struct s2255_buffer, vb); struct s2255_buffer *buf = container_of(vb, struct s2255_buffer, vb);
struct s2255_fh *fh = vq->priv_data; struct s2255_fh *fh = vq->priv_data;
dprintk(4, "%s %d\n", __func__, fh->channel->idx); dprintk(fh->dev, 4, "%s %d\n", __func__, fh->channel->idx);
free_buffer(vq, buf); free_buffer(vq, buf);
} }
...@@ -794,7 +779,7 @@ static int res_get(struct s2255_fh *fh) ...@@ -794,7 +779,7 @@ static int res_get(struct s2255_fh *fh)
/* it's free, grab it */ /* it's free, grab it */
channel->resources = 1; channel->resources = 1;
fh->resources = 1; fh->resources = 1;
dprintk(1, "s2255: res: get\n"); dprintk(fh->dev, 1, "s2255: res: get\n");
return 1; return 1;
} }
...@@ -814,7 +799,6 @@ static void res_free(struct s2255_fh *fh) ...@@ -814,7 +799,6 @@ static void res_free(struct s2255_fh *fh)
struct s2255_channel *channel = fh->channel; struct s2255_channel *channel = fh->channel;
channel->resources = 0; channel->resources = 0;
fh->resources = 0; fh->resources = 0;
dprintk(1, "res: put\n");
} }
static int vidioc_querycap(struct file *file, void *priv, static int vidioc_querycap(struct file *file, void *priv,
...@@ -841,7 +825,6 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, ...@@ -841,7 +825,6 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv,
if (!jpeg_enable && ((formats[index].fourcc == V4L2_PIX_FMT_JPEG) || if (!jpeg_enable && ((formats[index].fourcc == V4L2_PIX_FMT_JPEG) ||
(formats[index].fourcc == V4L2_PIX_FMT_MJPEG))) (formats[index].fourcc == V4L2_PIX_FMT_MJPEG)))
return -EINVAL; return -EINVAL;
dprintk(4, "name %s\n", formats[index].name);
strlcpy(f->description, formats[index].name, sizeof(f->description)); strlcpy(f->description, formats[index].name, sizeof(f->description));
f->pixelformat = formats[index].fourcc; f->pixelformat = formats[index].fourcc;
return 0; return 0;
...@@ -885,7 +868,7 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, ...@@ -885,7 +868,7 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
field = f->fmt.pix.field; field = f->fmt.pix.field;
dprintk(50, "%s NTSC: %d suggested width: %d, height: %d\n", dprintk(fh->dev, 50, "%s NTSC: %d suggested width: %d, height: %d\n",
__func__, is_ntsc, f->fmt.pix.width, f->fmt.pix.height); __func__, is_ntsc, f->fmt.pix.width, f->fmt.pix.height);
if (is_ntsc) { if (is_ntsc) {
/* NTSC */ /* NTSC */
...@@ -927,7 +910,7 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, ...@@ -927,7 +910,7 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
f->fmt.pix.sizeimage = f->fmt.pix.height * f->fmt.pix.bytesperline; f->fmt.pix.sizeimage = f->fmt.pix.height * f->fmt.pix.bytesperline;
f->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M; f->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M;
f->fmt.pix.priv = 0; f->fmt.pix.priv = 0;
dprintk(50, "%s: set width %d height %d field %d\n", __func__, dprintk(fh->dev, 50, "%s: set width %d height %d field %d\n", __func__,
f->fmt.pix.width, f->fmt.pix.height, f->fmt.pix.field); f->fmt.pix.width, f->fmt.pix.height, f->fmt.pix.field);
return 0; return 0;
} }
...@@ -955,13 +938,13 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, ...@@ -955,13 +938,13 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv,
mutex_lock(&q->vb_lock); mutex_lock(&q->vb_lock);
if (videobuf_queue_is_busy(&fh->vb_vidq)) { if (videobuf_queue_is_busy(&fh->vb_vidq)) {
dprintk(1, "queue busy\n"); dprintk(fh->dev, 1, "queue busy\n");
ret = -EBUSY; ret = -EBUSY;
goto out_s_fmt; goto out_s_fmt;
} }
if (res_locked(fh)) { if (res_locked(fh)) {
dprintk(1, "%s: channel busy\n", __func__); dprintk(fh->dev, 1, "%s: channel busy\n", __func__);
ret = -EBUSY; ret = -EBUSY;
goto out_s_fmt; goto out_s_fmt;
} }
...@@ -1160,7 +1143,7 @@ static int s2255_set_mode(struct s2255_channel *channel, ...@@ -1160,7 +1143,7 @@ static int s2255_set_mode(struct s2255_channel *channel,
int i; int i;
chn_rev = G_chnmap[channel->idx]; chn_rev = G_chnmap[channel->idx];
dprintk(3, "%s channel: %d\n", __func__, channel->idx); dprintk(dev, 3, "%s channel: %d\n", __func__, channel->idx);
/* if JPEG, set the quality */ /* if JPEG, set the quality */
if ((mode->color & MASK_COLOR) == COLOR_JPG) { if ((mode->color & MASK_COLOR) == COLOR_JPG) {
mode->color &= ~MASK_COLOR; mode->color &= ~MASK_COLOR;
...@@ -1171,7 +1154,7 @@ static int s2255_set_mode(struct s2255_channel *channel, ...@@ -1171,7 +1154,7 @@ static int s2255_set_mode(struct s2255_channel *channel,
/* save the mode */ /* save the mode */
channel->mode = *mode; channel->mode = *mode;
channel->req_image_size = get_transfer_size(mode); channel->req_image_size = get_transfer_size(mode);
dprintk(1, "%s: reqsize %ld\n", __func__, channel->req_image_size); dprintk(dev, 1, "%s: reqsize %ld\n", __func__, channel->req_image_size);
buffer = kzalloc(512, GFP_KERNEL); buffer = kzalloc(512, GFP_KERNEL);
if (buffer == NULL) { if (buffer == NULL) {
dev_err(&dev->udev->dev, "out of mem\n"); dev_err(&dev->udev->dev, "out of mem\n");
...@@ -1194,13 +1177,13 @@ static int s2255_set_mode(struct s2255_channel *channel, ...@@ -1194,13 +1177,13 @@ static int s2255_set_mode(struct s2255_channel *channel,
(channel->setmode_ready != 0), (channel->setmode_ready != 0),
msecs_to_jiffies(S2255_SETMODE_TIMEOUT)); msecs_to_jiffies(S2255_SETMODE_TIMEOUT));
if (channel->setmode_ready != 1) { if (channel->setmode_ready != 1) {
printk(KERN_DEBUG "s2255: no set mode response\n"); dprintk(dev, 0, "s2255: no set mode response\n");
res = -EFAULT; res = -EFAULT;
} }
} }
/* clear the restart flag */ /* clear the restart flag */
channel->mode.restart = 0; channel->mode.restart = 0;
dprintk(1, "%s chn %d, result: %d\n", __func__, channel->idx, res); dprintk(dev, 1, "%s chn %d, result: %d\n", __func__, channel->idx, res);
return res; return res;
} }
...@@ -1211,7 +1194,7 @@ static int s2255_cmd_status(struct s2255_channel *channel, u32 *pstatus) ...@@ -1211,7 +1194,7 @@ static int s2255_cmd_status(struct s2255_channel *channel, u32 *pstatus)
u32 chn_rev; u32 chn_rev;
struct s2255_dev *dev = to_s2255_dev(channel->vdev.v4l2_dev); struct s2255_dev *dev = to_s2255_dev(channel->vdev.v4l2_dev);
chn_rev = G_chnmap[channel->idx]; chn_rev = G_chnmap[channel->idx];
dprintk(4, "%s chan %d\n", __func__, channel->idx); dprintk(dev, 4, "%s chan %d\n", __func__, channel->idx);
buffer = kzalloc(512, GFP_KERNEL); buffer = kzalloc(512, GFP_KERNEL);
if (buffer == NULL) { if (buffer == NULL) {
dev_err(&dev->udev->dev, "out of mem\n"); dev_err(&dev->udev->dev, "out of mem\n");
...@@ -1229,11 +1212,11 @@ static int s2255_cmd_status(struct s2255_channel *channel, u32 *pstatus) ...@@ -1229,11 +1212,11 @@ static int s2255_cmd_status(struct s2255_channel *channel, u32 *pstatus)
(channel->vidstatus_ready != 0), (channel->vidstatus_ready != 0),
msecs_to_jiffies(S2255_VIDSTATUS_TIMEOUT)); msecs_to_jiffies(S2255_VIDSTATUS_TIMEOUT));
if (channel->vidstatus_ready != 1) { if (channel->vidstatus_ready != 1) {
printk(KERN_DEBUG "s2255: no vidstatus response\n"); dprintk(dev, 0, "s2255: no vidstatus response\n");
res = -EFAULT; res = -EFAULT;
} }
*pstatus = channel->vidstatus; *pstatus = channel->vidstatus;
dprintk(4, "%s, vid status %d\n", __func__, *pstatus); dprintk(dev, 4, "%s, vid status %d\n", __func__, *pstatus);
return res; return res;
} }
...@@ -1244,7 +1227,7 @@ static int vidioc_streamon(struct file *file, void *priv, enum v4l2_buf_type i) ...@@ -1244,7 +1227,7 @@ static int vidioc_streamon(struct file *file, void *priv, enum v4l2_buf_type i)
struct s2255_dev *dev = fh->dev; struct s2255_dev *dev = fh->dev;
struct s2255_channel *channel = fh->channel; struct s2255_channel *channel = fh->channel;
int j; int j;
dprintk(4, "%s\n", __func__); dprintk(dev, 4, "%s\n", __func__);
if (fh->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) { if (fh->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) {
dev_err(&dev->udev->dev, "invalid fh type0\n"); dev_err(&dev->udev->dev, "invalid fh type0\n");
return -EINVAL; return -EINVAL;
...@@ -1279,15 +1262,13 @@ static int vidioc_streamon(struct file *file, void *priv, enum v4l2_buf_type i) ...@@ -1279,15 +1262,13 @@ static int vidioc_streamon(struct file *file, void *priv, enum v4l2_buf_type i)
static int vidioc_streamoff(struct file *file, void *priv, enum v4l2_buf_type i) static int vidioc_streamoff(struct file *file, void *priv, enum v4l2_buf_type i)
{ {
struct s2255_fh *fh = priv; struct s2255_fh *fh = priv;
dprintk(4, "%s\n, channel: %d", __func__, fh->channel->idx); dprintk(fh->dev, 4, "%s\n, channel: %d", __func__, fh->channel->idx);
if (fh->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) { if (fh->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) {
printk(KERN_ERR "invalid fh type0\n"); dprintk(fh->dev, 1, "invalid fh type0\n");
return -EINVAL; return -EINVAL;
} }
if (i != fh->type) { if (i != fh->type)
printk(KERN_ERR "invalid type i\n");
return -EINVAL; return -EINVAL;
}
s2255_stop_acquire(fh->channel); s2255_stop_acquire(fh->channel);
videobuf_streamoff(&fh->vb_vidq); videobuf_streamoff(&fh->vb_vidq);
res_free(fh); res_free(fh);
...@@ -1304,13 +1285,13 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id i) ...@@ -1304,13 +1285,13 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id i)
mutex_lock(&q->vb_lock); mutex_lock(&q->vb_lock);
if (res_locked(fh)) { if (res_locked(fh)) {
dprintk(1, "can't change standard after started\n"); dprintk(fh->dev, 1, "can't change standard after started\n");
ret = -EBUSY; ret = -EBUSY;
goto out_s_std; goto out_s_std;
} }
mode = fh->channel->mode; mode = fh->channel->mode;
if (i & V4L2_STD_525_60) { if (i & V4L2_STD_525_60) {
dprintk(4, "%s 60 Hz\n", __func__); dprintk(fh->dev, 4, "%s 60 Hz\n", __func__);
/* if changing format, reset frame decimation/intervals */ /* if changing format, reset frame decimation/intervals */
if (mode.format != FORMAT_NTSC) { if (mode.format != FORMAT_NTSC) {
mode.restart = 1; mode.restart = 1;
...@@ -1320,7 +1301,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id i) ...@@ -1320,7 +1301,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id i)
channel->height = NUM_LINES_4CIFS_NTSC * 2; channel->height = NUM_LINES_4CIFS_NTSC * 2;
} }
} else if (i & V4L2_STD_625_50) { } else if (i & V4L2_STD_625_50) {
dprintk(4, "%s 50 Hz\n", __func__); dprintk(fh->dev, 4, "%s 50 Hz\n", __func__);
if (mode.format != FORMAT_PAL) { if (mode.format != FORMAT_PAL) {
mode.restart = 1; mode.restart = 1;
mode.format = FORMAT_PAL; mode.format = FORMAT_PAL;
...@@ -1370,7 +1351,8 @@ static int vidioc_enum_input(struct file *file, void *priv, ...@@ -1370,7 +1351,8 @@ static int vidioc_enum_input(struct file *file, void *priv,
if (dev->dsp_fw_ver >= S2255_MIN_DSP_STATUS) { if (dev->dsp_fw_ver >= S2255_MIN_DSP_STATUS) {
int rc; int rc;
rc = s2255_cmd_status(fh->channel, &status); rc = s2255_cmd_status(fh->channel, &status);
dprintk(4, "s2255_cmd_status rc: %d status %x\n", rc, status); dprintk(dev, 4, "s2255_cmd_status rc: %d status %x\n",
rc, status);
if (rc == 0) if (rc == 0)
inp->status = (status & 0x01) ? 0 inp->status = (status & 0x01) ? 0
: V4L2_IN_ST_NO_SIGNAL; : V4L2_IN_ST_NO_SIGNAL;
...@@ -1405,10 +1387,7 @@ static int s2255_s_ctrl(struct v4l2_ctrl *ctrl) ...@@ -1405,10 +1387,7 @@ static int s2255_s_ctrl(struct v4l2_ctrl *ctrl)
struct s2255_channel *channel = struct s2255_channel *channel =
container_of(ctrl->handler, struct s2255_channel, hdl); container_of(ctrl->handler, struct s2255_channel, hdl);
struct s2255_mode mode; struct s2255_mode mode;
mode = channel->mode; mode = channel->mode;
dprintk(4, "%s\n", __func__);
/* update the mode to the corresponding value */ /* update the mode to the corresponding value */
switch (ctrl->id) { switch (ctrl->id) {
case V4L2_CID_BRIGHTNESS: case V4L2_CID_BRIGHTNESS:
...@@ -1450,7 +1429,7 @@ static int vidioc_g_jpegcomp(struct file *file, void *priv, ...@@ -1450,7 +1429,7 @@ static int vidioc_g_jpegcomp(struct file *file, void *priv,
memset(jc, 0, sizeof(*jc)); memset(jc, 0, sizeof(*jc));
jc->quality = channel->jpegqual; jc->quality = channel->jpegqual;
dprintk(2, "%s: quality %d\n", __func__, jc->quality); dprintk(fh->dev, 2, "%s: quality %d\n", __func__, jc->quality);
return 0; return 0;
} }
...@@ -1462,7 +1441,7 @@ static int vidioc_s_jpegcomp(struct file *file, void *priv, ...@@ -1462,7 +1441,7 @@ static int vidioc_s_jpegcomp(struct file *file, void *priv,
if (jc->quality < 0 || jc->quality > 100) if (jc->quality < 0 || jc->quality > 100)
return -EINVAL; return -EINVAL;
v4l2_ctrl_s_ctrl(channel->jpegqual_ctrl, jc->quality); v4l2_ctrl_s_ctrl(channel->jpegqual_ctrl, jc->quality);
dprintk(2, "%s: quality %d\n", __func__, jc->quality); dprintk(fh->dev, 2, "%s: quality %d\n", __func__, jc->quality);
return 0; return 0;
} }
...@@ -1494,7 +1473,8 @@ static int vidioc_g_parm(struct file *file, void *priv, ...@@ -1494,7 +1473,8 @@ static int vidioc_g_parm(struct file *file, void *priv,
sp->parm.capture.timeperframe.numerator = def_num * 5; sp->parm.capture.timeperframe.numerator = def_num * 5;
break; break;
} }
dprintk(4, "%s capture mode, %d timeperframe %d/%d\n", __func__, dprintk(fh->dev, 4, "%s capture mode, %d timeperframe %d/%d\n",
__func__,
sp->parm.capture.capturemode, sp->parm.capture.capturemode,
sp->parm.capture.timeperframe.numerator, sp->parm.capture.timeperframe.numerator,
sp->parm.capture.timeperframe.denominator); sp->parm.capture.timeperframe.denominator);
...@@ -1535,7 +1515,7 @@ static int vidioc_s_parm(struct file *file, void *priv, ...@@ -1535,7 +1515,7 @@ static int vidioc_s_parm(struct file *file, void *priv,
mode.fdec = fdec; mode.fdec = fdec;
sp->parm.capture.timeperframe.denominator = def_dem; sp->parm.capture.timeperframe.denominator = def_dem;
s2255_set_mode(channel, &mode); s2255_set_mode(channel, &mode);
dprintk(4, "%s capture mode, %d timeperframe %d/%d, fdec %d\n", dprintk(fh->dev, 4, "%s capture mode, %d timeperframe %d/%d, fdec %d\n",
__func__, __func__,
sp->parm.capture.capturemode, sp->parm.capture.capturemode,
sp->parm.capture.timeperframe.numerator, sp->parm.capture.timeperframe.numerator,
...@@ -1604,7 +1584,8 @@ static int vidioc_enum_frameintervals(struct file *file, void *priv, ...@@ -1604,7 +1584,8 @@ static int vidioc_enum_frameintervals(struct file *file, void *priv,
fe->type = V4L2_FRMIVAL_TYPE_DISCRETE; fe->type = V4L2_FRMIVAL_TYPE_DISCRETE;
fe->discrete.denominator = is_ntsc ? 30000 : 25000; fe->discrete.denominator = is_ntsc ? 30000 : 25000;
fe->discrete.numerator = (is_ntsc ? 1001 : 1000) * frm_dec[fe->index]; fe->discrete.numerator = (is_ntsc ? 1001 : 1000) * frm_dec[fe->index];
dprintk(4, "%s discrete %d/%d\n", __func__, fe->discrete.numerator, dprintk(fh->dev, 4, "%s discrete %d/%d\n", __func__,
fe->discrete.numerator,
fe->discrete.denominator); fe->discrete.denominator);
return 0; return 0;
} }
...@@ -1617,7 +1598,7 @@ static int __s2255_open(struct file *file) ...@@ -1617,7 +1598,7 @@ static int __s2255_open(struct file *file)
struct s2255_fh *fh; struct s2255_fh *fh;
enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE; enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
int state; int state;
dprintk(1, "s2255: open called (dev=%s)\n", dprintk(dev, 1, "s2255: open called (dev=%s)\n",
video_device_node_name(vdev)); video_device_node_name(vdev));
state = atomic_read(&dev->fw_data->fw_state); state = atomic_read(&dev->fw_data->fw_state);
switch (state) { switch (state) {
...@@ -1640,7 +1621,7 @@ static int __s2255_open(struct file *file) ...@@ -1640,7 +1621,7 @@ static int __s2255_open(struct file *file)
case S2255_FW_LOADED_DSPWAIT: case S2255_FW_LOADED_DSPWAIT:
/* give S2255_LOAD_TIMEOUT time for firmware to load in case /* give S2255_LOAD_TIMEOUT time for firmware to load in case
driver loaded and then device immediately opened */ driver loaded and then device immediately opened */
printk(KERN_INFO "%s waiting for firmware load\n", __func__); pr_info("%s waiting for firmware load\n", __func__);
wait_event_timeout(dev->fw_data->wait_fw, wait_event_timeout(dev->fw_data->wait_fw,
((atomic_read(&dev->fw_data->fw_state) ((atomic_read(&dev->fw_data->fw_state)
== S2255_FW_SUCCESS) || == S2255_FW_SUCCESS) ||
...@@ -1659,16 +1640,15 @@ static int __s2255_open(struct file *file) ...@@ -1659,16 +1640,15 @@ static int __s2255_open(struct file *file)
case S2255_FW_SUCCESS: case S2255_FW_SUCCESS:
break; break;
case S2255_FW_FAILED: case S2255_FW_FAILED:
printk(KERN_INFO "2255 firmware load failed.\n"); pr_info("2255 firmware load failed.\n");
return -ENODEV; return -ENODEV;
case S2255_FW_DISCONNECTING: case S2255_FW_DISCONNECTING:
printk(KERN_INFO "%s: disconnecting\n", __func__); pr_info("%s: disconnecting\n", __func__);
return -ENODEV; return -ENODEV;
case S2255_FW_LOADED_DSPWAIT: case S2255_FW_LOADED_DSPWAIT:
case S2255_FW_NOTLOADED: case S2255_FW_NOTLOADED:
printk(KERN_INFO "%s: firmware not loaded yet" pr_info("%s: firmware not loaded, please retry\n",
"please try again later\n", __func__);
__func__);
/* /*
* Timeout on firmware load means device unusable. * Timeout on firmware load means device unusable.
* Set firmware failure state. * Set firmware failure state.
...@@ -1678,7 +1658,7 @@ static int __s2255_open(struct file *file) ...@@ -1678,7 +1658,7 @@ static int __s2255_open(struct file *file)
S2255_FW_FAILED); S2255_FW_FAILED);
return -EAGAIN; return -EAGAIN;
default: default:
printk(KERN_INFO "%s: unknown state\n", __func__); pr_info("%s: unknown state\n", __func__);
return -EFAULT; return -EFAULT;
} }
/* allocate + initialize per filehandle data */ /* allocate + initialize per filehandle data */
...@@ -1697,12 +1677,12 @@ static int __s2255_open(struct file *file) ...@@ -1697,12 +1677,12 @@ static int __s2255_open(struct file *file)
s2255_set_mode(channel, &channel->mode); s2255_set_mode(channel, &channel->mode);
channel->configured = 1; channel->configured = 1;
} }
dprintk(1, "%s: dev=%s type=%s\n", __func__, dprintk(dev, 1, "%s: dev=%s type=%s\n", __func__,
video_device_node_name(vdev), v4l2_type_names[type]); video_device_node_name(vdev), v4l2_type_names[type]);
dprintk(2, "%s: fh=0x%08lx, dev=0x%08lx, vidq=0x%08lx\n", __func__, dprintk(dev, 2, "%s: fh=0x%08lx, dev=0x%08lx, vidq=0x%08lx\n", __func__,
(unsigned long)fh, (unsigned long)dev, (unsigned long)fh, (unsigned long)dev,
(unsigned long)&channel->vidq); (unsigned long)&channel->vidq);
dprintk(4, "%s: list_empty active=%d\n", __func__, dprintk(dev, 4, "%s: list_empty active=%d\n", __func__,
list_empty(&channel->vidq.active)); list_empty(&channel->vidq.active));
videobuf_queue_vmalloc_init(&fh->vb_vidq, &s2255_video_qops, videobuf_queue_vmalloc_init(&fh->vb_vidq, &s2255_video_qops,
NULL, &dev->slock, NULL, &dev->slock,
...@@ -1732,7 +1712,7 @@ static unsigned int s2255_poll(struct file *file, ...@@ -1732,7 +1712,7 @@ static unsigned int s2255_poll(struct file *file,
struct s2255_dev *dev = fh->dev; struct s2255_dev *dev = fh->dev;
int rc = v4l2_ctrl_poll(file, wait); int rc = v4l2_ctrl_poll(file, wait);
dprintk(100, "%s\n", __func__); dprintk(dev, 100, "%s\n", __func__);
if (V4L2_BUF_TYPE_VIDEO_CAPTURE != fh->type) if (V4L2_BUF_TYPE_VIDEO_CAPTURE != fh->type)
return POLLERR; return POLLERR;
mutex_lock(&dev->lock); mutex_lock(&dev->lock);
...@@ -1743,6 +1723,7 @@ static unsigned int s2255_poll(struct file *file, ...@@ -1743,6 +1723,7 @@ static unsigned int s2255_poll(struct file *file,
static void s2255_destroy(struct s2255_dev *dev) static void s2255_destroy(struct s2255_dev *dev)
{ {
dprintk(dev, 1, "%s", __func__);
/* board shutdown stops the read pipe if it is running */ /* board shutdown stops the read pipe if it is running */
s2255_board_shutdown(dev); s2255_board_shutdown(dev);
/* make sure firmware still not trying to load */ /* make sure firmware still not trying to load */
...@@ -1760,7 +1741,6 @@ static void s2255_destroy(struct s2255_dev *dev) ...@@ -1760,7 +1741,6 @@ static void s2255_destroy(struct s2255_dev *dev)
mutex_destroy(&dev->lock); mutex_destroy(&dev->lock);
usb_put_dev(dev->udev); usb_put_dev(dev->udev);
v4l2_device_unregister(&dev->v4l2_dev); v4l2_device_unregister(&dev->v4l2_dev);
dprintk(1, "%s", __func__);
kfree(dev); kfree(dev);
} }
...@@ -1782,7 +1762,7 @@ static int s2255_release(struct file *file) ...@@ -1782,7 +1762,7 @@ static int s2255_release(struct file *file)
} }
videobuf_mmap_free(&fh->vb_vidq); videobuf_mmap_free(&fh->vb_vidq);
mutex_unlock(&dev->lock); mutex_unlock(&dev->lock);
dprintk(1, "%s (dev=%s)\n", __func__, video_device_node_name(vdev)); dprintk(dev, 1, "%s[%s]\n", __func__, video_device_node_name(vdev));
v4l2_fh_del(&fh->fh); v4l2_fh_del(&fh->fh);
v4l2_fh_exit(&fh->fh); v4l2_fh_exit(&fh->fh);
kfree(fh); kfree(fh);
...@@ -1794,16 +1774,15 @@ static int s2255_mmap_v4l(struct file *file, struct vm_area_struct *vma) ...@@ -1794,16 +1774,15 @@ static int s2255_mmap_v4l(struct file *file, struct vm_area_struct *vma)
struct s2255_fh *fh = file->private_data; struct s2255_fh *fh = file->private_data;
struct s2255_dev *dev; struct s2255_dev *dev;
int ret; int ret;
if (!fh) if (!fh)
return -ENODEV; return -ENODEV;
dev = fh->dev; dev = fh->dev;
dprintk(4, "%s, vma=0x%08lx\n", __func__, (unsigned long)vma); dprintk(dev, 4, "%s, vma=0x%08lx\n", __func__, (unsigned long)vma);
if (mutex_lock_interruptible(&dev->lock)) if (mutex_lock_interruptible(&dev->lock))
return -ERESTARTSYS; return -ERESTARTSYS;
ret = videobuf_mmap_mapper(&fh->vb_vidq, vma); ret = videobuf_mmap_mapper(&fh->vb_vidq, vma);
mutex_unlock(&dev->lock); mutex_unlock(&dev->lock);
dprintk(4, "%s vma start=0x%08lx, size=%ld, ret=%d\n", __func__, dprintk(dev, 4, "%s vma start=0x%08lx, size=%ld, ret=%d\n", __func__,
(unsigned long)vma->vm_start, (unsigned long)vma->vm_start,
(unsigned long)vma->vm_end - (unsigned long)vma->vm_start, ret); (unsigned long)vma->vm_end - (unsigned long)vma->vm_start, ret);
return ret; return ret;
...@@ -1852,10 +1831,11 @@ static void s2255_video_device_release(struct video_device *vdev) ...@@ -1852,10 +1831,11 @@ static void s2255_video_device_release(struct video_device *vdev)
struct s2255_channel *channel = struct s2255_channel *channel =
container_of(vdev, struct s2255_channel, vdev); container_of(vdev, struct s2255_channel, vdev);
v4l2_ctrl_handler_free(&channel->hdl); dprintk(dev, 4, "%s, chnls: %d\n", __func__,
dprintk(4, "%s, chnls: %d\n", __func__,
atomic_read(&dev->num_channels)); atomic_read(&dev->num_channels));
v4l2_ctrl_handler_free(&channel->hdl);
if (atomic_dec_and_test(&dev->num_channels)) if (atomic_dec_and_test(&dev->num_channels))
s2255_destroy(dev); s2255_destroy(dev);
return; return;
...@@ -1913,7 +1893,8 @@ static int s2255_probe_v4l(struct s2255_dev *dev) ...@@ -1913,7 +1893,8 @@ static int s2255_probe_v4l(struct s2255_dev *dev)
0, 100, 1, S2255_DEF_JPEG_QUAL); 0, 100, 1, S2255_DEF_JPEG_QUAL);
if (dev->dsp_fw_ver >= S2255_MIN_DSP_COLORFILTER && if (dev->dsp_fw_ver >= S2255_MIN_DSP_COLORFILTER &&
(dev->pid != 0x2257 || channel->idx <= 1)) (dev->pid != 0x2257 || channel->idx <= 1))
v4l2_ctrl_new_custom(&channel->hdl, &color_filter_ctrl, NULL); v4l2_ctrl_new_custom(&channel->hdl, &color_filter_ctrl,
NULL);
if (channel->hdl.error) { if (channel->hdl.error) {
ret = channel->hdl.error; ret = channel->hdl.error;
v4l2_ctrl_handler_free(&channel->hdl); v4l2_ctrl_handler_free(&channel->hdl);
...@@ -1947,15 +1928,15 @@ static int s2255_probe_v4l(struct s2255_dev *dev) ...@@ -1947,15 +1928,15 @@ static int s2255_probe_v4l(struct s2255_dev *dev)
video_device_node_name(&channel->vdev)); video_device_node_name(&channel->vdev));
} }
printk(KERN_INFO "Sensoray 2255 V4L driver Revision: %s\n", pr_info("Sensoray 2255 V4L driver Revision: %s\n",
S2255_VERSION); S2255_VERSION);
/* if no channels registered, return error and probe will fail*/ /* if no channels registered, return error and probe will fail*/
if (atomic_read(&dev->num_channels) == 0) { if (atomic_read(&dev->num_channels) == 0) {
v4l2_device_unregister(&dev->v4l2_dev); v4l2_device_unregister(&dev->v4l2_dev);
return ret; return ret;
} }
if (atomic_read(&dev->num_channels) != MAX_CHANNELS) if (atomic_read(&dev->num_channels) != MAX_CHANNELS)
printk(KERN_WARNING "s2255: Not all channels available.\n"); pr_warn("s2255: Not all channels available.\n");
return 0; return 0;
} }
...@@ -1981,11 +1962,11 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info) ...@@ -1981,11 +1962,11 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info)
s32 idx = -1; s32 idx = -1;
struct s2255_framei *frm; struct s2255_framei *frm;
unsigned char *pdata; unsigned char *pdata;
struct s2255_channel *channel; struct s2255_channel *ch;
dprintk(100, "buffer to user\n"); dprintk(dev, 100, "buffer to user\n");
channel = &dev->channel[dev->cc]; ch = &dev->channel[dev->cc];
idx = channel->cur_frame; idx = ch->cur_frame;
frm = &channel->buffer.frame[idx]; frm = &ch->buffer.frame[idx];
if (frm->ulState == S2255_READ_IDLE) { if (frm->ulState == S2255_READ_IDLE) {
int jj; int jj;
unsigned int cc; unsigned int cc;
...@@ -1997,28 +1978,27 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info) ...@@ -1997,28 +1978,27 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info)
for (jj = 0; jj < (pipe_info->cur_transfer_size - 12); jj++) { for (jj = 0; jj < (pipe_info->cur_transfer_size - 12); jj++) {
switch (*pdword) { switch (*pdword) {
case S2255_MARKER_FRAME: case S2255_MARKER_FRAME:
dprintk(4, "found frame marker at offset:" dprintk(dev, 4, "marker @ offset: %d [%x %x]\n",
" %d [%x %x]\n", jj, pdata[0], jj, pdata[0], pdata[1]);
pdata[1]);
offset = jj + PREFIX_SIZE; offset = jj + PREFIX_SIZE;
bframe = 1; bframe = 1;
cc = le32_to_cpu(pdword[1]); cc = le32_to_cpu(pdword[1]);
if (cc >= MAX_CHANNELS) { if (cc >= MAX_CHANNELS) {
printk(KERN_ERR dprintk(dev, 0,
"bad channel\n"); "bad channel\n");
return -EINVAL; return -EINVAL;
} }
/* reverse it */ /* reverse it */
dev->cc = G_chnmap[cc]; dev->cc = G_chnmap[cc];
channel = &dev->channel[dev->cc]; ch = &dev->channel[dev->cc];
payload = le32_to_cpu(pdword[3]); payload = le32_to_cpu(pdword[3]);
if (payload > channel->req_image_size) { if (payload > ch->req_image_size) {
channel->bad_payload++; ch->bad_payload++;
/* discard the bad frame */ /* discard the bad frame */
return -EINVAL; return -EINVAL;
} }
channel->pkt_size = payload; ch->pkt_size = payload;
channel->jpg_size = le32_to_cpu(pdword[4]); ch->jpg_size = le32_to_cpu(pdword[4]);
break; break;
case S2255_MARKER_RESPONSE: case S2255_MARKER_RESPONSE:
...@@ -2029,34 +2009,34 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info) ...@@ -2029,34 +2009,34 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info)
cc = G_chnmap[le32_to_cpu(pdword[1])]; cc = G_chnmap[le32_to_cpu(pdword[1])];
if (cc >= MAX_CHANNELS) if (cc >= MAX_CHANNELS)
break; break;
channel = &dev->channel[cc]; ch = &dev->channel[cc];
switch (pdword[2]) { switch (pdword[2]) {
case S2255_RESPONSE_SETMODE: case S2255_RESPONSE_SETMODE:
/* check if channel valid */ /* check if channel valid */
/* set mode ready */ /* set mode ready */
channel->setmode_ready = 1; ch->setmode_ready = 1;
wake_up(&channel->wait_setmode); wake_up(&ch->wait_setmode);
dprintk(5, "setmode ready %d\n", cc); dprintk(dev, 5, "setmode rdy %d\n", cc);
break; break;
case S2255_RESPONSE_FW: case S2255_RESPONSE_FW:
dev->chn_ready |= (1 << cc); dev->chn_ready |= (1 << cc);
if ((dev->chn_ready & 0x0f) != 0x0f) if ((dev->chn_ready & 0x0f) != 0x0f)
break; break;
/* all channels ready */ /* all channels ready */
printk(KERN_INFO "s2255: fw loaded\n"); pr_info("s2255: fw loaded\n");
atomic_set(&dev->fw_data->fw_state, atomic_set(&dev->fw_data->fw_state,
S2255_FW_SUCCESS); S2255_FW_SUCCESS);
wake_up(&dev->fw_data->wait_fw); wake_up(&dev->fw_data->wait_fw);
break; break;
case S2255_RESPONSE_STATUS: case S2255_RESPONSE_STATUS:
channel->vidstatus = le32_to_cpu(pdword[3]); ch->vidstatus = le32_to_cpu(pdword[3]);
channel->vidstatus_ready = 1; ch->vidstatus_ready = 1;
wake_up(&channel->wait_vidstatus); wake_up(&ch->wait_vidstatus);
dprintk(5, "got vidstatus %x chan %d\n", dprintk(dev, 5, "vstat %x chan %d\n",
le32_to_cpu(pdword[3]), cc); le32_to_cpu(pdword[3]), cc);
break; break;
default: default:
printk(KERN_INFO "s2255 unknown resp\n"); pr_info("s2255 unknown resp\n");
} }
default: default:
pdata++; pdata++;
...@@ -2068,11 +2048,11 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info) ...@@ -2068,11 +2048,11 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info)
if (!bframe) if (!bframe)
return -EINVAL; return -EINVAL;
} }
channel = &dev->channel[dev->cc]; ch = &dev->channel[dev->cc];
idx = channel->cur_frame; idx = ch->cur_frame;
frm = &channel->buffer.frame[idx]; frm = &ch->buffer.frame[idx];
/* search done. now find out if should be acquiring on this channel */ /* search done. now find out if should be acquiring on this channel */
if (!channel->b_acquire) { if (!ch->b_acquire) {
/* we found a frame, but this channel is turned off */ /* we found a frame, but this channel is turned off */
frm->ulState = S2255_READ_IDLE; frm->ulState = S2255_READ_IDLE;
return -EINVAL; return -EINVAL;
...@@ -2088,7 +2068,7 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info) ...@@ -2088,7 +2068,7 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info)
if (frm->lpvbits == NULL) { if (frm->lpvbits == NULL) {
dprintk(1, "s2255 frame buffer == NULL.%p %p %d %d", dprintk(dev, 1, "s2255 frame buffer == NULL.%p %p %d %d",
frm, dev, dev->cc, idx); frm, dev, dev->cc, idx);
return -ENOMEM; return -ENOMEM;
} }
...@@ -2097,28 +2077,28 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info) ...@@ -2097,28 +2077,28 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info)
copy_size = (pipe_info->cur_transfer_size - offset); copy_size = (pipe_info->cur_transfer_size - offset);
size = channel->pkt_size - PREFIX_SIZE; size = ch->pkt_size - PREFIX_SIZE;
/* sanity check on pdest */ /* sanity check on pdest */
if ((copy_size + frm->cur_size) < channel->req_image_size) if ((copy_size + frm->cur_size) < ch->req_image_size)
memcpy(pdest, psrc, copy_size); memcpy(pdest, psrc, copy_size);
frm->cur_size += copy_size; frm->cur_size += copy_size;
dprintk(4, "cur_size size %lu size %lu \n", frm->cur_size, size); dprintk(dev, 4, "cur_size: %lu, size: %lu\n", frm->cur_size, size);
if (frm->cur_size >= size) { if (frm->cur_size >= size) {
dprintk(2, "****************[%d]Buffer[%d]full*************\n", dprintk(dev, 2, "******[%d]Buffer[%d]full*******\n",
dev->cc, idx); dev->cc, idx);
channel->last_frame = channel->cur_frame; ch->last_frame = ch->cur_frame;
channel->cur_frame++; ch->cur_frame++;
/* end of system frame ring buffer, start at zero */ /* end of system frame ring buffer, start at zero */
if ((channel->cur_frame == SYS_FRAMES) || if ((ch->cur_frame == SYS_FRAMES) ||
(channel->cur_frame == channel->buffer.dwFrames)) (ch->cur_frame == ch->buffer.dwFrames))
channel->cur_frame = 0; ch->cur_frame = 0;
/* frame ready */ /* frame ready */
if (channel->b_acquire) if (ch->b_acquire)
s2255_got_frame(channel, channel->jpg_size); s2255_got_frame(ch, ch->jpg_size);
channel->frame_count++; ch->frame_count++;
frm->ulState = S2255_READ_IDLE; frm->ulState = S2255_READ_IDLE;
frm->cur_size = 0; frm->cur_size = 0;
...@@ -2131,7 +2111,7 @@ static void s2255_read_video_callback(struct s2255_dev *dev, ...@@ -2131,7 +2111,7 @@ static void s2255_read_video_callback(struct s2255_dev *dev,
struct s2255_pipeinfo *pipe_info) struct s2255_pipeinfo *pipe_info)
{ {
int res; int res;
dprintk(50, "callback read video \n"); dprintk(dev, 50, "callback read video\n");
if (dev->cc >= MAX_CHANNELS) { if (dev->cc >= MAX_CHANNELS) {
dev->cc = 0; dev->cc = 0;
...@@ -2141,9 +2121,9 @@ static void s2255_read_video_callback(struct s2255_dev *dev, ...@@ -2141,9 +2121,9 @@ static void s2255_read_video_callback(struct s2255_dev *dev,
/* otherwise copy to the system buffers */ /* otherwise copy to the system buffers */
res = save_frame(dev, pipe_info); res = save_frame(dev, pipe_info);
if (res != 0) if (res != 0)
dprintk(4, "s2255: read callback failed\n"); dprintk(dev, 4, "s2255: read callback failed\n");
dprintk(50, "callback read video done\n"); dprintk(dev, 50, "callback read video done\n");
return; return;
} }
...@@ -2181,9 +2161,9 @@ static int s2255_get_fx2fw(struct s2255_dev *dev) ...@@ -2181,9 +2161,9 @@ static int s2255_get_fx2fw(struct s2255_dev *dev)
ret = s2255_vendor_req(dev, S2255_VR_FW, 0, 0, transBuffer, 2, ret = s2255_vendor_req(dev, S2255_VR_FW, 0, 0, transBuffer, 2,
S2255_VR_IN); S2255_VR_IN);
if (ret < 0) if (ret < 0)
dprintk(2, "get fw error: %x\n", ret); dprintk(dev, 2, "get fw error: %x\n", ret);
fw = transBuffer[0] + (transBuffer[1] << 8); fw = transBuffer[0] + (transBuffer[1] << 8);
dprintk(2, "Get FW %x %x\n", transBuffer[0], transBuffer[1]); dprintk(dev, 2, "Get FW %x %x\n", transBuffer[0], transBuffer[1]);
return fw; return fw;
} }
...@@ -2195,7 +2175,6 @@ static int s2255_create_sys_buffers(struct s2255_channel *channel) ...@@ -2195,7 +2175,6 @@ static int s2255_create_sys_buffers(struct s2255_channel *channel)
{ {
unsigned long i; unsigned long i;
unsigned long reqsize; unsigned long reqsize;
dprintk(1, "create sys buffers\n");
channel->buffer.dwFrames = SYS_FRAMES; channel->buffer.dwFrames = SYS_FRAMES;
/* always allocate maximum size(PAL) for system buffers */ /* always allocate maximum size(PAL) for system buffers */
reqsize = SYS_FRAMES_MAXSIZE; reqsize = SYS_FRAMES_MAXSIZE;
...@@ -2206,12 +2185,9 @@ static int s2255_create_sys_buffers(struct s2255_channel *channel) ...@@ -2206,12 +2185,9 @@ static int s2255_create_sys_buffers(struct s2255_channel *channel)
for (i = 0; i < SYS_FRAMES; i++) { for (i = 0; i < SYS_FRAMES; i++) {
/* allocate the frames */ /* allocate the frames */
channel->buffer.frame[i].lpvbits = vmalloc(reqsize); channel->buffer.frame[i].lpvbits = vmalloc(reqsize);
dprintk(1, "valloc %p chan %d, idx %lu, pdata %p\n",
&channel->buffer.frame[i], channel->idx, i,
channel->buffer.frame[i].lpvbits);
channel->buffer.frame[i].size = reqsize; channel->buffer.frame[i].size = reqsize;
if (channel->buffer.frame[i].lpvbits == NULL) { if (channel->buffer.frame[i].lpvbits == NULL) {
printk(KERN_INFO "out of memory. using less frames\n"); pr_info("out of memory. using less frames\n");
channel->buffer.dwFrames = i; channel->buffer.dwFrames = i;
break; break;
} }
...@@ -2231,13 +2207,9 @@ static int s2255_create_sys_buffers(struct s2255_channel *channel) ...@@ -2231,13 +2207,9 @@ static int s2255_create_sys_buffers(struct s2255_channel *channel)
static int s2255_release_sys_buffers(struct s2255_channel *channel) static int s2255_release_sys_buffers(struct s2255_channel *channel)
{ {
unsigned long i; unsigned long i;
dprintk(1, "release sys buffers\n");
for (i = 0; i < SYS_FRAMES; i++) { for (i = 0; i < SYS_FRAMES; i++) {
if (channel->buffer.frame[i].lpvbits) { if (channel->buffer.frame[i].lpvbits)
dprintk(1, "vfree %p\n",
channel->buffer.frame[i].lpvbits);
vfree(channel->buffer.frame[i].lpvbits); vfree(channel->buffer.frame[i].lpvbits);
}
channel->buffer.frame[i].lpvbits = NULL; channel->buffer.frame[i].lpvbits = NULL;
} }
return 0; return 0;
...@@ -2249,7 +2221,7 @@ static int s2255_board_init(struct s2255_dev *dev) ...@@ -2249,7 +2221,7 @@ static int s2255_board_init(struct s2255_dev *dev)
int fw_ver; int fw_ver;
int j; int j;
struct s2255_pipeinfo *pipe = &dev->pipe; struct s2255_pipeinfo *pipe = &dev->pipe;
dprintk(4, "board init: %p", dev); dprintk(dev, 4, "board init: %p", dev);
memset(pipe, 0, sizeof(*pipe)); memset(pipe, 0, sizeof(*pipe));
pipe->dev = dev; pipe->dev = dev;
pipe->cur_transfer_size = S2255_USB_XFER_SIZE; pipe->cur_transfer_size = S2255_USB_XFER_SIZE;
...@@ -2258,18 +2230,18 @@ static int s2255_board_init(struct s2255_dev *dev) ...@@ -2258,18 +2230,18 @@ static int s2255_board_init(struct s2255_dev *dev)
pipe->transfer_buffer = kzalloc(pipe->max_transfer_size, pipe->transfer_buffer = kzalloc(pipe->max_transfer_size,
GFP_KERNEL); GFP_KERNEL);
if (pipe->transfer_buffer == NULL) { if (pipe->transfer_buffer == NULL) {
dprintk(1, "out of memory!\n"); dprintk(dev, 1, "out of memory!\n");
return -ENOMEM; return -ENOMEM;
} }
/* query the firmware */ /* query the firmware */
fw_ver = s2255_get_fx2fw(dev); fw_ver = s2255_get_fx2fw(dev);
printk(KERN_INFO "s2255: usb firmware version %d.%d\n", pr_info("s2255: usb firmware version %d.%d\n",
(fw_ver >> 8) & 0xff, (fw_ver >> 8) & 0xff,
fw_ver & 0xff); fw_ver & 0xff);
if (fw_ver < S2255_CUR_USB_FWVER) if (fw_ver < S2255_CUR_USB_FWVER)
printk(KERN_INFO "s2255: newer USB firmware available\n"); pr_info("s2255: newer USB firmware available\n");
for (j = 0; j < MAX_CHANNELS; j++) { for (j = 0; j < MAX_CHANNELS; j++) {
struct s2255_channel *channel = &dev->channel[j]; struct s2255_channel *channel = &dev->channel[j];
...@@ -2290,14 +2262,14 @@ static int s2255_board_init(struct s2255_dev *dev) ...@@ -2290,14 +2262,14 @@ static int s2255_board_init(struct s2255_dev *dev)
} }
/* start read pipe */ /* start read pipe */
s2255_start_readpipe(dev); s2255_start_readpipe(dev);
dprintk(1, "%s: success\n", __func__); dprintk(dev, 1, "%s: success\n", __func__);
return 0; return 0;
} }
static int s2255_board_shutdown(struct s2255_dev *dev) static int s2255_board_shutdown(struct s2255_dev *dev)
{ {
u32 i; u32 i;
dprintk(1, "%s: dev: %p", __func__, dev); dprintk(dev, 1, "%s: dev: %p", __func__, dev);
for (i = 0; i < MAX_CHANNELS; i++) { for (i = 0; i < MAX_CHANNELS; i++) {
if (dev->channel[i].b_acquire) if (dev->channel[i].b_acquire)
...@@ -2318,13 +2290,10 @@ static void read_pipe_completion(struct urb *purb) ...@@ -2318,13 +2290,10 @@ static void read_pipe_completion(struct urb *purb)
int status; int status;
int pipe; int pipe;
pipe_info = purb->context; pipe_info = purb->context;
dprintk(100, "%s: urb:%p, status %d\n", __func__, purb,
purb->status);
if (pipe_info == NULL) { if (pipe_info == NULL) {
dev_err(&purb->dev->dev, "no context!\n"); dev_err(&purb->dev->dev, "no context!\n");
return; return;
} }
dev = pipe_info->dev; dev = pipe_info->dev;
if (dev == NULL) { if (dev == NULL) {
dev_err(&purb->dev->dev, "no context!\n"); dev_err(&purb->dev->dev, "no context!\n");
...@@ -2333,13 +2302,13 @@ static void read_pipe_completion(struct urb *purb) ...@@ -2333,13 +2302,13 @@ static void read_pipe_completion(struct urb *purb)
status = purb->status; status = purb->status;
/* if shutting down, do not resubmit, exit immediately */ /* if shutting down, do not resubmit, exit immediately */
if (status == -ESHUTDOWN) { if (status == -ESHUTDOWN) {
dprintk(2, "%s: err shutdown\n", __func__); dprintk(dev, 2, "%s: err shutdown\n", __func__);
pipe_info->err_count++; pipe_info->err_count++;
return; return;
} }
if (pipe_info->state == 0) { if (pipe_info->state == 0) {
dprintk(2, "%s: exiting USB pipe", __func__); dprintk(dev, 2, "%s: exiting USB pipe", __func__);
return; return;
} }
...@@ -2347,7 +2316,7 @@ static void read_pipe_completion(struct urb *purb) ...@@ -2347,7 +2316,7 @@ static void read_pipe_completion(struct urb *purb)
s2255_read_video_callback(dev, pipe_info); s2255_read_video_callback(dev, pipe_info);
else { else {
pipe_info->err_count++; pipe_info->err_count++;
dprintk(1, "%s: failed URB %d\n", __func__, status); dprintk(dev, 1, "%s: failed URB %d\n", __func__, status);
} }
pipe = usb_rcvbulkpipe(dev->udev, dev->read_endpoint); pipe = usb_rcvbulkpipe(dev->udev, dev->read_endpoint);
...@@ -2359,11 +2328,10 @@ static void read_pipe_completion(struct urb *purb) ...@@ -2359,11 +2328,10 @@ static void read_pipe_completion(struct urb *purb)
read_pipe_completion, pipe_info); read_pipe_completion, pipe_info);
if (pipe_info->state != 0) { if (pipe_info->state != 0) {
if (usb_submit_urb(pipe_info->stream_urb, GFP_ATOMIC)) { if (usb_submit_urb(pipe_info->stream_urb, GFP_ATOMIC))
dev_err(&dev->udev->dev, "error submitting urb\n"); dev_err(&dev->udev->dev, "error submitting urb\n");
}
} else { } else {
dprintk(2, "%s :complete state 0\n", __func__); dprintk(dev, 2, "%s :complete state 0\n", __func__);
} }
return; return;
} }
...@@ -2374,7 +2342,7 @@ static int s2255_start_readpipe(struct s2255_dev *dev) ...@@ -2374,7 +2342,7 @@ static int s2255_start_readpipe(struct s2255_dev *dev)
int retval; int retval;
struct s2255_pipeinfo *pipe_info = &dev->pipe; struct s2255_pipeinfo *pipe_info = &dev->pipe;
pipe = usb_rcvbulkpipe(dev->udev, dev->read_endpoint); pipe = usb_rcvbulkpipe(dev->udev, dev->read_endpoint);
dprintk(2, "%s: IN %d\n", __func__, dev->read_endpoint); dprintk(dev, 2, "%s: IN %d\n", __func__, dev->read_endpoint);
pipe_info->state = 1; pipe_info->state = 1;
pipe_info->err_count = 0; pipe_info->err_count = 0;
pipe_info->stream_urb = usb_alloc_urb(0, GFP_KERNEL); pipe_info->stream_urb = usb_alloc_urb(0, GFP_KERNEL);
...@@ -2391,7 +2359,7 @@ static int s2255_start_readpipe(struct s2255_dev *dev) ...@@ -2391,7 +2359,7 @@ static int s2255_start_readpipe(struct s2255_dev *dev)
read_pipe_completion, pipe_info); read_pipe_completion, pipe_info);
retval = usb_submit_urb(pipe_info->stream_urb, GFP_KERNEL); retval = usb_submit_urb(pipe_info->stream_urb, GFP_KERNEL);
if (retval) { if (retval) {
printk(KERN_ERR "s2255: start read pipe failed\n"); pr_err("s2255: start read pipe failed\n");
return retval; return retval;
} }
return 0; return 0;
...@@ -2428,7 +2396,7 @@ static int s2255_start_acquire(struct s2255_channel *channel) ...@@ -2428,7 +2396,7 @@ static int s2255_start_acquire(struct s2255_channel *channel)
if (res != 0) if (res != 0)
dev_err(&dev->udev->dev, "CMD_START error\n"); dev_err(&dev->udev->dev, "CMD_START error\n");
dprintk(2, "start acquire exit[%d] %d \n", channel->idx, res); dprintk(dev, 2, "start acquire exit[%d] %d\n", channel->idx, res);
kfree(buffer); kfree(buffer);
return 0; return 0;
} }
...@@ -2454,7 +2422,7 @@ static int s2255_stop_acquire(struct s2255_channel *channel) ...@@ -2454,7 +2422,7 @@ static int s2255_stop_acquire(struct s2255_channel *channel)
dev_err(&dev->udev->dev, "CMD_STOP error\n"); dev_err(&dev->udev->dev, "CMD_STOP error\n");
kfree(buffer); kfree(buffer);
channel->b_acquire = 0; channel->b_acquire = 0;
dprintk(4, "%s: chn %d, res %d\n", __func__, channel->idx, res); dprintk(dev, 4, "%s: chn %d, res %d\n", __func__, channel->idx, res);
return res; return res;
} }
...@@ -2469,7 +2437,7 @@ static void s2255_stop_readpipe(struct s2255_dev *dev) ...@@ -2469,7 +2437,7 @@ static void s2255_stop_readpipe(struct s2255_dev *dev)
usb_free_urb(pipe->stream_urb); usb_free_urb(pipe->stream_urb);
pipe->stream_urb = NULL; pipe->stream_urb = NULL;
} }
dprintk(4, "%s", __func__); dprintk(dev, 4, "%s", __func__);
return; return;
} }
...@@ -2501,7 +2469,6 @@ static int s2255_probe(struct usb_interface *interface, ...@@ -2501,7 +2469,6 @@ static int s2255_probe(struct usb_interface *interface,
int retval = -ENOMEM; int retval = -ENOMEM;
__le32 *pdata; __le32 *pdata;
int fw_size; int fw_size;
dprintk(2, "%s\n", __func__);
/* allocate memory for our device state and initialize it to zero */ /* allocate memory for our device state and initialize it to zero */
dev = kzalloc(sizeof(struct s2255_dev), GFP_KERNEL); dev = kzalloc(sizeof(struct s2255_dev), GFP_KERNEL);
if (dev == NULL) { if (dev == NULL) {
...@@ -2521,12 +2488,13 @@ static int s2255_probe(struct usb_interface *interface, ...@@ -2521,12 +2488,13 @@ static int s2255_probe(struct usb_interface *interface,
retval = -ENODEV; retval = -ENODEV;
goto errorUDEV; goto errorUDEV;
} }
dprintk(1, "dev: %p, udev %p interface %p\n", dev, dev_dbg(&interface->dev, "dev: %p, udev %p interface %p\n",
dev->udev, interface); dev, dev->udev, interface);
dev->interface = interface; dev->interface = interface;
/* set up the endpoint information */ /* set up the endpoint information */
iface_desc = interface->cur_altsetting; iface_desc = interface->cur_altsetting;
dprintk(1, "num endpoints %d\n", iface_desc->desc.bNumEndpoints); dev_dbg(&interface->dev, "num EP: %d\n",
iface_desc->desc.bNumEndpoints);
for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) { for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) {
endpoint = &iface_desc->endpoint[i].desc; endpoint = &iface_desc->endpoint[i].desc;
if (!dev->read_endpoint && usb_endpoint_is_bulk_in(endpoint)) { if (!dev->read_endpoint && usb_endpoint_is_bulk_in(endpoint)) {
...@@ -2545,7 +2513,8 @@ static int s2255_probe(struct usb_interface *interface, ...@@ -2545,7 +2513,8 @@ static int s2255_probe(struct usb_interface *interface,
init_waitqueue_head(&dev->fw_data->wait_fw); init_waitqueue_head(&dev->fw_data->wait_fw);
for (i = 0; i < MAX_CHANNELS; i++) { for (i = 0; i < MAX_CHANNELS; i++) {
struct s2255_channel *channel = &dev->channel[i]; struct s2255_channel *channel = &dev->channel[i];
dev->channel[i].idx = i; channel->idx = i;
channel->dev = dev;
init_waitqueue_head(&channel->wait_setmode); init_waitqueue_head(&channel->wait_setmode);
init_waitqueue_head(&channel->wait_vidstatus); init_waitqueue_head(&channel->wait_vidstatus);
} }
...@@ -2564,7 +2533,7 @@ static int s2255_probe(struct usb_interface *interface, ...@@ -2564,7 +2533,7 @@ static int s2255_probe(struct usb_interface *interface,
/* load the first chunk */ /* load the first chunk */
if (request_firmware(&dev->fw_data->fw, if (request_firmware(&dev->fw_data->fw,
FIRMWARE_FILE_NAME, &dev->udev->dev)) { FIRMWARE_FILE_NAME, &dev->udev->dev)) {
printk(KERN_ERR "sensoray 2255 failed to get firmware\n"); dev_err(&interface->dev, "sensoray 2255 failed to get firmware\n");
goto errorREQFW; goto errorREQFW;
} }
/* check the firmware is valid */ /* check the firmware is valid */
...@@ -2572,21 +2541,21 @@ static int s2255_probe(struct usb_interface *interface, ...@@ -2572,21 +2541,21 @@ static int s2255_probe(struct usb_interface *interface,
pdata = (__le32 *) &dev->fw_data->fw->data[fw_size - 8]; pdata = (__le32 *) &dev->fw_data->fw->data[fw_size - 8];
if (*pdata != S2255_FW_MARKER) { if (*pdata != S2255_FW_MARKER) {
printk(KERN_INFO "Firmware invalid.\n"); dev_err(&interface->dev, "Firmware invalid.\n");
retval = -ENODEV; retval = -ENODEV;
goto errorFWMARKER; goto errorFWMARKER;
} else { } else {
/* make sure firmware is the latest */ /* make sure firmware is the latest */
__le32 *pRel; __le32 *pRel;
pRel = (__le32 *) &dev->fw_data->fw->data[fw_size - 4]; pRel = (__le32 *) &dev->fw_data->fw->data[fw_size - 4];
printk(KERN_INFO "s2255 dsp fw version %x\n", le32_to_cpu(*pRel)); pr_info("s2255 dsp fw version %x\n", le32_to_cpu(*pRel));
dev->dsp_fw_ver = le32_to_cpu(*pRel); dev->dsp_fw_ver = le32_to_cpu(*pRel);
if (dev->dsp_fw_ver < S2255_CUR_DSP_FWVER) if (dev->dsp_fw_ver < S2255_CUR_DSP_FWVER)
printk(KERN_INFO "s2255: f2255usb.bin out of date.\n"); pr_info("s2255: f2255usb.bin out of date.\n");
if (dev->pid == 0x2257 && if (dev->pid == 0x2257 &&
dev->dsp_fw_ver < S2255_MIN_DSP_COLORFILTER) dev->dsp_fw_ver < S2255_MIN_DSP_COLORFILTER)
printk(KERN_WARNING "s2255: 2257 requires firmware %d" pr_warn("2257 needs firmware %d or above.\n",
" or above.\n", S2255_MIN_DSP_COLORFILTER); S2255_MIN_DSP_COLORFILTER);
} }
usb_reset_device(dev->udev); usb_reset_device(dev->udev);
/* load 2255 board specific */ /* load 2255 board specific */
...@@ -2618,7 +2587,7 @@ static int s2255_probe(struct usb_interface *interface, ...@@ -2618,7 +2587,7 @@ static int s2255_probe(struct usb_interface *interface,
mutex_destroy(&dev->lock); mutex_destroy(&dev->lock);
errorFWDATA1: errorFWDATA1:
kfree(dev); kfree(dev);
printk(KERN_WARNING "Sensoray 2255 driver load failed: 0x%x\n", retval); pr_warn("Sensoray 2255 driver load failed: 0x%x\n", retval);
return retval; return retval;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment