lkml.org 
[lkml]   [2006]   [May]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [linux-usb-devel] [PATCH 2.6.17-rc4 1/1] usbvideo misc cleanup
[ My apologies. Adding Mauro and video4linux-list to CC list. ]

On 5/17/06, jayakumar.video@gmail.com <jayakumar.video@gmail.com> wrote:
> Hi Greg KH, USB folk, kernel folk,
>
> I've appended a small patch to cleanup some of the usbvideo drivers
> as per Oliver Neukum's feedback and the response in the following
> threads:
>
> http://marc.theaimsgroup.com/?l=linux-kernel&m=114770240416519&w=2
> [ unneccessary urb initialization of .status ]
> http://marc.theaimsgroup.com/?l=linux-kernel&m=114767440903341&w=2
> [ shouldn't build the cbTbl structs on the stack ]
>
> I hope it's okay with the respective authors.
>
> Thanks,
> Jaya Kumar
>
> Signed-off-by: Jaya Kumar <jayakumar.video@gmail.com>
>
> ---
>
> ibmcam.c | 25 ++++++++++++++-----------
> konicawc.c | 30 +++++++++++++-----------------
> usbvideo.c | 5 -----
> 3 files changed, 27 insertions(+), 33 deletions(-)
>
> ---
>
> diff -X linux-2.6.17-rc4-vidcleanup/Documentation/dontdiff -uprN linux-2.6.17-rc4-vanilla/drivers/media/video/usbvideo/ibmcam.c linux-2.6.17-rc4-vidcleanup/drivers/media/video/usbvideo/ibmcam.c
> --- linux-2.6.17-rc4-vanilla/drivers/media/video/usbvideo/ibmcam.c 2006-05-17 08:11:36.000000000 +0800
> +++ linux-2.6.17-rc4-vidcleanup/drivers/media/video/usbvideo/ibmcam.c 2006-05-17 11:19:14.000000000 +0800
> @@ -3899,24 +3899,27 @@ static struct usb_device_id id_table[] =
> * 1/27/00 Reworked to use statically allocated ibmcam structures.
> * 21/10/00 Completely redesigned to use usbvideo services.
> */
> +
> +static struct usbvideo_cb ibmcam_driver = {
> + .probe = ibmcam_probe,
> + .setupOnOpen = ibmcam_setup_on_open,
> + .videoStart = ibmcam_video_start,
> + .videoStop = ibmcam_video_stop,
> + .processData = ibmcam_ProcessIsocData,
> + .postProcess = usbvideo_DeinterlaceFrame,
> + .adjustPicture = ibmcam_adjust_picture,
> + .getFPS = ibmcam_calculate_fps
> +};
> +
> +
> static int __init ibmcam_init(void)
> {
> - struct usbvideo_cb cbTbl;
> - memset(&cbTbl, 0, sizeof(cbTbl));
> - cbTbl.probe = ibmcam_probe;
> - cbTbl.setupOnOpen = ibmcam_setup_on_open;
> - cbTbl.videoStart = ibmcam_video_start;
> - cbTbl.videoStop = ibmcam_video_stop;
> - cbTbl.processData = ibmcam_ProcessIsocData;
> - cbTbl.postProcess = usbvideo_DeinterlaceFrame;
> - cbTbl.adjustPicture = ibmcam_adjust_picture;
> - cbTbl.getFPS = ibmcam_calculate_fps;
> return usbvideo_register(
> &cams,
> MAX_IBMCAM,
> sizeof(ibmcam_t),
> "ibmcam",
> - &cbTbl,
> + &ibmcam_driver,
> THIS_MODULE,
> id_table);
> }
> diff -X linux-2.6.17-rc4-vidcleanup/Documentation/dontdiff -uprN linux-2.6.17-rc4-vanilla/drivers/media/video/usbvideo/konicawc.c linux-2.6.17-rc4-vidcleanup/drivers/media/video/usbvideo/konicawc.c
> --- linux-2.6.17-rc4-vanilla/drivers/media/video/usbvideo/konicawc.c 2006-05-17 08:11:36.000000000 +0800
> +++ linux-2.6.17-rc4-vidcleanup/drivers/media/video/usbvideo/konicawc.c 2006-05-17 11:22:41.000000000 +0800
> @@ -53,6 +53,7 @@ enum frame_sizes {
> #define MAX_FRAME_SIZE SIZE_320X240
>
> static struct usbvideo *cams;
> +static unsigned char marker[] = { 0, 0xff, 0, 0x00 };
>
> #ifdef CONFIG_USB_DEBUG
> static int debug;
> @@ -344,7 +345,6 @@ static int konicawc_compress_iso(struct
>
> keep++;
> if(sts & 0x80) { /* frame start */
> - unsigned char marker[] = { 0, 0xff, 0, 0x00 };
>
> if(cam->lastframe == -2) {
> DEBUG(2, "found initial image");
> @@ -368,11 +368,7 @@ static int konicawc_compress_iso(struct
> static void resubmit_urb(struct uvd *uvd, struct urb *urb)
> {
> int i, ret;
> - for (i = 0; i < FRAMES_PER_DESC; i++) {
> - urb->iso_frame_desc[i].status = 0;
> - }
> urb->dev = uvd->dev;
> - urb->status = 0;
> ret = usb_submit_urb(urb, GFP_ATOMIC);
> DEBUG(3, "submitting urb of length %d", urb->transfer_buffer_length);
> if(ret)
> @@ -917,27 +913,27 @@ static struct usb_device_id id_table[] =
> { } /* Terminating entry */
> };
>
> +static struct usbvideo_cb konicawc_driver = {
> + .probe = konicawc_probe,
> + .setupOnOpen = konicawc_setup_on_open,
> + .processData = konicawc_process_isoc,
> + .getFPS = konicawc_calculate_fps,
> + .setVideoMode = konicawc_set_video_mode,
> + .startDataPump = konicawc_start_data,
> + .stopDataPump = konicawc_stop_data,
> + .adjustPicture = konicawc_adjust_picture,
> + .userFree = konicawc_free_uvd
> +};
>
> static int __init konicawc_init(void)
> {
> - struct usbvideo_cb cbTbl;
> info(DRIVER_DESC " " DRIVER_VERSION);
> - memset(&cbTbl, 0, sizeof(cbTbl));
> - cbTbl.probe = konicawc_probe;
> - cbTbl.setupOnOpen = konicawc_setup_on_open;
> - cbTbl.processData = konicawc_process_isoc;
> - cbTbl.getFPS = konicawc_calculate_fps;
> - cbTbl.setVideoMode = konicawc_set_video_mode;
> - cbTbl.startDataPump = konicawc_start_data;
> - cbTbl.stopDataPump = konicawc_stop_data;
> - cbTbl.adjustPicture = konicawc_adjust_picture;
> - cbTbl.userFree = konicawc_free_uvd;
> return usbvideo_register(
> &cams,
> MAX_CAMERAS,
> sizeof(struct konicawc),
> "konicawc",
> - &cbTbl,
> + &konicawc_driver,
> THIS_MODULE,
> id_table);
> }
> diff -X linux-2.6.17-rc4-vidcleanup/Documentation/dontdiff -uprN linux-2.6.17-rc4-vanilla/drivers/media/video/usbvideo/usbvideo.c linux-2.6.17-rc4-vidcleanup/drivers/media/video/usbvideo/usbvideo.c
> --- linux-2.6.17-rc4-vanilla/drivers/media/video/usbvideo/usbvideo.c 2006-05-17 08:11:36.000000000 +0800
> +++ linux-2.6.17-rc4-vidcleanup/drivers/media/video/usbvideo/usbvideo.c 2006-05-17 10:46:21.000000000 +0800
> @@ -1720,11 +1720,6 @@ static void usbvideo_IsocIrq(struct urb
> RingQueue_WakeUpInterruptible(&uvd->dp);
>
> urb_done_with:
> - for (i = 0; i < FRAMES_PER_DESC; i++) {
> - urb->iso_frame_desc[i].status = 0;
> - urb->iso_frame_desc[i].actual_length = 0;
> - }
> - urb->status = 0;
> urb->dev = uvd->dev;
> ret = usb_submit_urb (urb, GFP_KERNEL);
> if(ret)
>
>
> -------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> linux-usb-devel@lists.sourceforge.net
> To unsubscribe, use the last form field at:
> https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
>

[ My apologies. Adding Mauro and video4linux-list to CC list. ]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-05-17 08:15    [W:0.053 / U:2.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site