|
@@ -468,8 +468,9 @@ static void usbvideo_ReportStatistics(const struct uvd *uvd)
|
|
|
percent = (100 * goodPackets) / allPackets;
|
|
|
else
|
|
|
percent = goodPackets / (allPackets / 100);
|
|
|
- info("Packet Statistics: Total=%lu. Empty=%lu. Usage=%lu%%",
|
|
|
- allPackets, badPackets, percent);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "Packet Statistics: Total=%lu. Empty=%lu. Usage=%lu%%\n",
|
|
|
+ allPackets, badPackets, percent);
|
|
|
if (uvd->iso_packet_len > 0) {
|
|
|
unsigned long allBytes, xferBytes;
|
|
|
char multiplier = ' ';
|
|
@@ -497,8 +498,9 @@ static void usbvideo_ReportStatistics(const struct uvd *uvd)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- info("Transfer Statistics: Transferred=%lu%cB Usage=%lu%%",
|
|
|
- xferBytes, multiplier, percent);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "Transfer Statistics: Transferred=%lu%cB Usage=%lu%%\n",
|
|
|
+ xferBytes, multiplier, percent);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -545,7 +547,7 @@ void usbvideo_TestPattern(struct uvd *uvd, int fullframe, int pmode)
|
|
|
{ /* For debugging purposes only */
|
|
|
char tmp[20];
|
|
|
usbvideo_VideosizeToString(tmp, sizeof(tmp), frame->request);
|
|
|
- info("testpattern: frame=%s", tmp);
|
|
|
+ dev_info(&uvd->dev->dev, "testpattern: frame=%s\n", tmp);
|
|
|
}
|
|
|
#endif
|
|
|
/* Form every scan line */
|
|
@@ -854,7 +856,7 @@ static void usbvideo_Disconnect(struct usb_interface *intf)
|
|
|
|
|
|
usbvideo_ClientIncModCount(uvd);
|
|
|
if (uvd->debug > 0)
|
|
|
- info("%s(%p.)", __func__, intf);
|
|
|
+ dev_info(&intf->dev, "%s(%p.)\n", __func__, intf);
|
|
|
|
|
|
mutex_lock(&uvd->lock);
|
|
|
uvd->remove_pending = 1; /* Now all ISO data will be ignored */
|
|
@@ -870,14 +872,15 @@ static void usbvideo_Disconnect(struct usb_interface *intf)
|
|
|
|
|
|
video_unregister_device(&uvd->vdev);
|
|
|
if (uvd->debug > 0)
|
|
|
- info("%s: Video unregistered.", __func__);
|
|
|
+ dev_info(&intf->dev, "%s: Video unregistered.\n", __func__);
|
|
|
|
|
|
if (uvd->user)
|
|
|
- info("%s: In use, disconnect pending.", __func__);
|
|
|
+ dev_info(&intf->dev, "%s: In use, disconnect pending.\n",
|
|
|
+ __func__);
|
|
|
else
|
|
|
usbvideo_CameraRelease(uvd);
|
|
|
mutex_unlock(&uvd->lock);
|
|
|
- info("USB camera disconnected.");
|
|
|
+ dev_info(&intf->dev, "USB camera disconnected.\n");
|
|
|
|
|
|
usbvideo_ClientDecModCount(uvd);
|
|
|
}
|
|
@@ -1015,14 +1018,17 @@ int usbvideo_RegisterVideoDevice(struct uvd *uvd)
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
if (uvd->video_endp == 0) {
|
|
|
- info("%s: No video endpoint specified; data pump disabled.", __func__);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: No video endpoint specified; data pump disabled.\n",
|
|
|
+ __func__);
|
|
|
}
|
|
|
if (uvd->paletteBits == 0) {
|
|
|
err("%s: No palettes specified!", __func__);
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
if (uvd->defaultPalette == 0) {
|
|
|
- info("%s: No default palette!", __func__);
|
|
|
+ dev_info(&uvd->dev->dev, "%s: No default palette!\n",
|
|
|
+ __func__);
|
|
|
}
|
|
|
|
|
|
uvd->max_frame_size = VIDEOSIZE_X(uvd->canvas) *
|
|
@@ -1031,8 +1037,10 @@ int usbvideo_RegisterVideoDevice(struct uvd *uvd)
|
|
|
usbvideo_VideosizeToString(tmp2, sizeof(tmp2), uvd->canvas);
|
|
|
|
|
|
if (uvd->debug > 0) {
|
|
|
- info("%s: iface=%d. endpoint=$%02x paletteBits=$%08lx",
|
|
|
- __func__, uvd->iface, uvd->video_endp, uvd->paletteBits);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: iface=%d. endpoint=$%02x paletteBits=$%08lx\n",
|
|
|
+ __func__, uvd->iface, uvd->video_endp,
|
|
|
+ uvd->paletteBits);
|
|
|
}
|
|
|
if (uvd->dev == NULL) {
|
|
|
err("%s: uvd->dev == NULL", __func__);
|
|
@@ -1045,12 +1053,13 @@ int usbvideo_RegisterVideoDevice(struct uvd *uvd)
|
|
|
return -EPIPE;
|
|
|
}
|
|
|
if (uvd->debug > 1) {
|
|
|
- info("%s: video_register_device() successful", __func__);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: video_register_device() successful\n", __func__);
|
|
|
}
|
|
|
|
|
|
- info("%s on /dev/video%d: canvas=%s videosize=%s",
|
|
|
- (uvd->handle != NULL) ? uvd->handle->drvName : "???",
|
|
|
- uvd->vdev.minor, tmp2, tmp1);
|
|
|
+ dev_info(&uvd->dev->dev, "%s on /dev/video%d: canvas=%s videosize=%s\n",
|
|
|
+ (uvd->handle != NULL) ? uvd->handle->drvName : "???",
|
|
|
+ uvd->vdev.minor, tmp2, tmp1);
|
|
|
|
|
|
usb_get_dev(uvd->dev);
|
|
|
return 0;
|
|
@@ -1112,7 +1121,7 @@ static int usbvideo_v4l_open(struct inode *inode, struct file *file)
|
|
|
int i, errCode = 0;
|
|
|
|
|
|
if (uvd->debug > 1)
|
|
|
- info("%s($%p)", __func__, dev);
|
|
|
+ dev_info(&uvd->dev->dev, "%s($%p)\n", __func__, dev);
|
|
|
|
|
|
if (0 < usbvideo_ClientIncModCount(uvd))
|
|
|
return -ENODEV;
|
|
@@ -1179,19 +1188,25 @@ static int usbvideo_v4l_open(struct inode *inode, struct file *file)
|
|
|
if (errCode == 0) {
|
|
|
if (VALID_CALLBACK(uvd, setupOnOpen)) {
|
|
|
if (uvd->debug > 1)
|
|
|
- info("%s: setupOnOpen callback", __func__);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: setupOnOpen callback\n",
|
|
|
+ __func__);
|
|
|
errCode = GET_CALLBACK(uvd, setupOnOpen)(uvd);
|
|
|
if (errCode < 0) {
|
|
|
err("%s: setupOnOpen callback failed (%d.).",
|
|
|
__func__, errCode);
|
|
|
} else if (uvd->debug > 1) {
|
|
|
- info("%s: setupOnOpen callback successful", __func__);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: setupOnOpen callback successful\n",
|
|
|
+ __func__);
|
|
|
}
|
|
|
}
|
|
|
if (errCode == 0) {
|
|
|
uvd->settingsAdjusted = 0;
|
|
|
if (uvd->debug > 1)
|
|
|
- info("%s: Open succeeded.", __func__);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: Open succeeded.\n",
|
|
|
+ __func__);
|
|
|
uvd->user++;
|
|
|
file->private_data = uvd;
|
|
|
}
|
|
@@ -1201,7 +1216,8 @@ static int usbvideo_v4l_open(struct inode *inode, struct file *file)
|
|
|
if (errCode != 0)
|
|
|
usbvideo_ClientDecModCount(uvd);
|
|
|
if (uvd->debug > 0)
|
|
|
- info("%s: Returning %d.", __func__, errCode);
|
|
|
+ dev_info(&uvd->dev->dev, "%s: Returning %d.\n", __func__,
|
|
|
+ errCode);
|
|
|
return errCode;
|
|
|
}
|
|
|
|
|
@@ -1224,7 +1240,7 @@ static int usbvideo_v4l_close(struct inode *inode, struct file *file)
|
|
|
int i;
|
|
|
|
|
|
if (uvd->debug > 1)
|
|
|
- info("%s($%p)", __func__, dev);
|
|
|
+ dev_info(&uvd->dev->dev, "%s($%p)\n", __func__, dev);
|
|
|
|
|
|
mutex_lock(&uvd->lock);
|
|
|
GET_CALLBACK(uvd, stopDataPump)(uvd);
|
|
@@ -1244,14 +1260,15 @@ static int usbvideo_v4l_close(struct inode *inode, struct file *file)
|
|
|
uvd->user--;
|
|
|
if (uvd->remove_pending) {
|
|
|
if (uvd->debug > 0)
|
|
|
- info("usbvideo_v4l_close: Final disconnect.");
|
|
|
+ dev_info(&uvd->dev->dev, "%s: Final disconnect.\n",
|
|
|
+ __func__);
|
|
|
usbvideo_CameraRelease(uvd);
|
|
|
}
|
|
|
mutex_unlock(&uvd->lock);
|
|
|
usbvideo_ClientDecModCount(uvd);
|
|
|
|
|
|
if (uvd->debug > 1)
|
|
|
- info("%s: Completed.", __func__);
|
|
|
+ dev_info(&uvd->dev->dev, "%s: Completed.\n", __func__);
|
|
|
file->private_data = NULL;
|
|
|
return 0;
|
|
|
}
|
|
@@ -1365,8 +1382,9 @@ static int usbvideo_v4l_do_ioctl(struct inode *inode, struct file *file,
|
|
|
struct video_mmap *vm = arg;
|
|
|
|
|
|
if (uvd->debug >= 1) {
|
|
|
- info("VIDIOCMCAPTURE: frame=%d. size=%dx%d, format=%d.",
|
|
|
- vm->frame, vm->width, vm->height, vm->format);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "VIDIOCMCAPTURE: frame=%d. size=%dx%d, format=%d.\n",
|
|
|
+ vm->frame, vm->width, vm->height, vm->format);
|
|
|
}
|
|
|
/*
|
|
|
* Check if the requested size is supported. If the requestor
|
|
@@ -1384,18 +1402,24 @@ static int usbvideo_v4l_do_ioctl(struct inode *inode, struct file *file,
|
|
|
if ((vm->width > VIDEOSIZE_X(uvd->canvas)) ||
|
|
|
(vm->height > VIDEOSIZE_Y(uvd->canvas))) {
|
|
|
if (uvd->debug > 0) {
|
|
|
- info("VIDIOCMCAPTURE: Size=%dx%d too large; "
|
|
|
- "allowed only up to %ldx%ld", vm->width, vm->height,
|
|
|
- VIDEOSIZE_X(uvd->canvas), VIDEOSIZE_Y(uvd->canvas));
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "VIDIOCMCAPTURE: Size=%dx%d "
|
|
|
+ "too large; allowed only up "
|
|
|
+ "to %ldx%ld\n", vm->width,
|
|
|
+ vm->height,
|
|
|
+ VIDEOSIZE_X(uvd->canvas),
|
|
|
+ VIDEOSIZE_Y(uvd->canvas));
|
|
|
}
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
/* Check if the palette is supported */
|
|
|
if (((1L << vm->format) & uvd->paletteBits) == 0) {
|
|
|
if (uvd->debug > 0) {
|
|
|
- info("VIDIOCMCAPTURE: format=%d. not supported"
|
|
|
- " (paletteBits=$%08lx)",
|
|
|
- vm->format, uvd->paletteBits);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "VIDIOCMCAPTURE: format=%d. "
|
|
|
+ "not supported "
|
|
|
+ "(paletteBits=$%08lx)\n",
|
|
|
+ vm->format, uvd->paletteBits);
|
|
|
}
|
|
|
return -EINVAL;
|
|
|
}
|
|
@@ -1423,7 +1447,9 @@ static int usbvideo_v4l_do_ioctl(struct inode *inode, struct file *file,
|
|
|
return -EINVAL;
|
|
|
|
|
|
if (uvd->debug >= 1)
|
|
|
- info("VIDIOCSYNC: syncing to frame %d.", *frameNum);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "VIDIOCSYNC: syncing to frame %d.\n",
|
|
|
+ *frameNum);
|
|
|
if (uvd->flags & FLAGS_NO_DECODING)
|
|
|
ret = usbvideo_GetFrame(uvd, *frameNum);
|
|
|
else if (VALID_CALLBACK(uvd, getFrame)) {
|
|
@@ -1505,7 +1531,9 @@ static ssize_t usbvideo_v4l_read(struct file *file, char __user *buf,
|
|
|
return -EFAULT;
|
|
|
|
|
|
if (uvd->debug >= 1)
|
|
|
- info("%s: %Zd. bytes, noblock=%d.", __func__, count, noblock);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: %Zd. bytes, noblock=%d.\n",
|
|
|
+ __func__, count, noblock);
|
|
|
|
|
|
mutex_lock(&uvd->lock);
|
|
|
|
|
@@ -1686,18 +1714,21 @@ static void usbvideo_IsocIrq(struct urb *urb)
|
|
|
return;
|
|
|
#if 0
|
|
|
if (urb->actual_length > 0) {
|
|
|
- info("urb=$%p status=%d. errcount=%d. length=%d.",
|
|
|
- urb, urb->status, urb->error_count, urb->actual_length);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "urb=$%p status=%d. errcount=%d. length=%d.\n",
|
|
|
+ urb, urb->status, urb->error_count,
|
|
|
+ urb->actual_length);
|
|
|
} else {
|
|
|
static int c = 0;
|
|
|
if (c++ % 100 == 0)
|
|
|
- info("No Isoc data");
|
|
|
+ dev_info(&uvd->dev->dev, "No Isoc data\n");
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
if (!uvd->streaming) {
|
|
|
if (uvd->debug >= 1)
|
|
|
- info("Not streaming, but interrupt!");
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "Not streaming, but interrupt!\n");
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -1742,7 +1773,7 @@ static int usbvideo_StartDataPump(struct uvd *uvd)
|
|
|
int i, errFlag;
|
|
|
|
|
|
if (uvd->debug > 1)
|
|
|
- info("%s($%p)", __func__, uvd);
|
|
|
+ dev_info(&uvd->dev->dev, "%s($%p)\n", __func__, uvd);
|
|
|
|
|
|
if (!CAMERA_IS_OPERATIONAL(uvd)) {
|
|
|
err("%s: Camera is not operational", __func__);
|
|
@@ -1790,7 +1821,9 @@ static int usbvideo_StartDataPump(struct uvd *uvd)
|
|
|
|
|
|
uvd->streaming = 1;
|
|
|
if (uvd->debug > 1)
|
|
|
- info("%s: streaming=1 video_endp=$%02x", __func__, uvd->video_endp);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: streaming=1 video_endp=$%02x\n", __func__,
|
|
|
+ uvd->video_endp);
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -1812,14 +1845,14 @@ static void usbvideo_StopDataPump(struct uvd *uvd)
|
|
|
return;
|
|
|
|
|
|
if (uvd->debug > 1)
|
|
|
- info("%s($%p)", __func__, uvd);
|
|
|
+ dev_info(&uvd->dev->dev, "%s($%p)\n", __func__, uvd);
|
|
|
|
|
|
/* Unschedule all of the iso td's */
|
|
|
for (i=0; i < USBVIDEO_NUMSBUF; i++) {
|
|
|
usb_kill_urb(uvd->sbuf[i].urb);
|
|
|
}
|
|
|
if (uvd->debug > 1)
|
|
|
- info("%s: streaming=0", __func__);
|
|
|
+ dev_info(&uvd->dev->dev, "%s: streaming=0\n", __func__);
|
|
|
uvd->streaming = 0;
|
|
|
|
|
|
if (!uvd->remove_pending) {
|
|
@@ -1851,7 +1884,8 @@ static int usbvideo_NewFrame(struct uvd *uvd, int framenum)
|
|
|
int n;
|
|
|
|
|
|
if (uvd->debug > 1)
|
|
|
- info("usbvideo_NewFrame($%p,%d.)", uvd, framenum);
|
|
|
+ dev_info(&uvd->dev->dev, "usbvideo_NewFrame($%p,%d.)\n", uvd,
|
|
|
+ framenum);
|
|
|
|
|
|
/* If we're not grabbing a frame right now and the other frame is */
|
|
|
/* ready to be grabbed into, then use it instead */
|
|
@@ -1956,12 +1990,14 @@ static int usbvideo_GetFrame(struct uvd *uvd, int frameNum)
|
|
|
struct usbvideo_frame *frame = &uvd->frame[frameNum];
|
|
|
|
|
|
if (uvd->debug >= 2)
|
|
|
- info("%s($%p,%d.)", __func__, uvd, frameNum);
|
|
|
+ dev_info(&uvd->dev->dev, "%s($%p,%d.)\n", __func__, uvd,
|
|
|
+ frameNum);
|
|
|
|
|
|
switch (frame->frameState) {
|
|
|
case FrameState_Unused:
|
|
|
if (uvd->debug >= 2)
|
|
|
- info("%s: FrameState_Unused", __func__);
|
|
|
+ dev_info(&uvd->dev->dev, "%s: FrameState_Unused\n",
|
|
|
+ __func__);
|
|
|
return -EINVAL;
|
|
|
case FrameState_Ready:
|
|
|
case FrameState_Grabbing:
|
|
@@ -1971,7 +2007,9 @@ static int usbvideo_GetFrame(struct uvd *uvd, int frameNum)
|
|
|
redo:
|
|
|
if (!CAMERA_IS_OPERATIONAL(uvd)) {
|
|
|
if (uvd->debug >= 2)
|
|
|
- info("%s: Camera is not operational (1)", __func__);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: Camera is not operational (1)\n",
|
|
|
+ __func__);
|
|
|
return -EIO;
|
|
|
}
|
|
|
ntries = 0;
|
|
@@ -1980,24 +2018,33 @@ static int usbvideo_GetFrame(struct uvd *uvd, int frameNum)
|
|
|
signalPending = signal_pending(current);
|
|
|
if (!CAMERA_IS_OPERATIONAL(uvd)) {
|
|
|
if (uvd->debug >= 2)
|
|
|
- info("%s: Camera is not operational (2)", __func__);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: Camera is not "
|
|
|
+ "operational (2)\n", __func__);
|
|
|
return -EIO;
|
|
|
}
|
|
|
assert(uvd->fbuf != NULL);
|
|
|
if (signalPending) {
|
|
|
if (uvd->debug >= 2)
|
|
|
- info("%s: Signal=$%08x", __func__, signalPending);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: Signal=$%08x\n", __func__,
|
|
|
+ signalPending);
|
|
|
if (uvd->flags & FLAGS_RETRY_VIDIOCSYNC) {
|
|
|
usbvideo_TestPattern(uvd, 1, 0);
|
|
|
uvd->curframe = -1;
|
|
|
uvd->stats.frame_num++;
|
|
|
if (uvd->debug >= 2)
|
|
|
- info("%s: Forced test pattern screen", __func__);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: Forced test "
|
|
|
+ "pattern screen\n",
|
|
|
+ __func__);
|
|
|
return 0;
|
|
|
} else {
|
|
|
/* Standard answer: Interrupted! */
|
|
|
if (uvd->debug >= 2)
|
|
|
- info("%s: Interrupted!", __func__);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: Interrupted!\n",
|
|
|
+ __func__);
|
|
|
return -EINTR;
|
|
|
}
|
|
|
} else {
|
|
@@ -2011,8 +2058,10 @@ static int usbvideo_GetFrame(struct uvd *uvd, int frameNum)
|
|
|
}
|
|
|
} while (frame->frameState == FrameState_Grabbing);
|
|
|
if (uvd->debug >= 2) {
|
|
|
- info("%s: Grabbing done; state=%d. (%lu. bytes)",
|
|
|
- __func__, frame->frameState, frame->seqRead_Length);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: Grabbing done; state=%d. (%lu. bytes)\n",
|
|
|
+ __func__, frame->frameState,
|
|
|
+ frame->seqRead_Length);
|
|
|
}
|
|
|
if (frame->frameState == FrameState_Error) {
|
|
|
int ret = usbvideo_NewFrame(uvd, frameNum);
|
|
@@ -2049,7 +2098,9 @@ static int usbvideo_GetFrame(struct uvd *uvd, int frameNum)
|
|
|
}
|
|
|
frame->frameState = FrameState_Done_Hold;
|
|
|
if (uvd->debug >= 2)
|
|
|
- info("%s: Entered FrameState_Done_Hold state.", __func__);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: Entered FrameState_Done_Hold state.\n",
|
|
|
+ __func__);
|
|
|
return 0;
|
|
|
|
|
|
case FrameState_Done_Hold:
|
|
@@ -2060,7 +2111,9 @@ static int usbvideo_GetFrame(struct uvd *uvd, int frameNum)
|
|
|
* it will be released back into the wild to roam freely.
|
|
|
*/
|
|
|
if (uvd->debug >= 2)
|
|
|
- info("%s: FrameState_Done_Hold state.", __func__);
|
|
|
+ dev_info(&uvd->dev->dev,
|
|
|
+ "%s: FrameState_Done_Hold state.\n",
|
|
|
+ __func__);
|
|
|
return 0;
|
|
|
}
|
|
|
|