Re: [linux-usb-devel] [PATCH 2.6.17-rc4 1/1] usbvideo misc cleanup

2006-05-17 Thread Jaya Kumar

[ My apologies. Adding Mauro and video4linux-list to CC list. ]

On 5/17/06, [EMAIL PROTECTED] [EMAIL PROTECTED] 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-kernelm=114770240416519w=2
[ unneccessary urb initialization of .status ]
http://marc.theaimsgroup.com/?l=linux-kernelm=114767440903341w=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 [EMAIL PROTECTED]

---

 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.0 +0800
+++ linux-2.6.17-rc4-vidcleanup/drivers/media/video/usbvideo/ibmcam.c   
2006-05-17 11:19:14.0 +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.0 +0800
+++ linux-2.6.17-rc4-vidcleanup/drivers/media/video/usbvideo/konicawc.c 
2006-05-17 11:22:41.0 +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;
-   

[linux-usb-devel] [PATCH 2.6.17-rc4 1/1] usbvideo misc cleanup

2006-05-16 Thread jayakumar . video
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-kernelm=114770240416519w=2
[ unneccessary urb initialization of .status ]
http://marc.theaimsgroup.com/?l=linux-kernelm=114767440903341w=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 [EMAIL PROTECTED]

---

 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.0 +0800
+++ linux-2.6.17-rc4-vidcleanup/drivers/media/video/usbvideo/ibmcam.c   
2006-05-17 11:19:14.0 +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.0 +0800
+++ linux-2.6.17-rc4-vidcleanup/drivers/media/video/usbvideo/konicawc.c 
2006-05-17 11:22:41.0 +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;
-