Index | Thread | Search

From:
Marcus Glocker <marcus@nazgul.ch>
Subject:
uvideo: remove UVIDEO_DUMP
To:
tech@openbsd.org
Cc:
"Kirill A. Korinsky" <kirill@korins.ky>
Date:
Fri, 21 Mar 2025 23:07:18 +0100

Download raw body.

Thread
This came from the very early days.  I don't think anyone still
requires to dump frame data in to a file for debugging nowadays.

OK?


Index: sys/dev/usb/uvideo.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/uvideo.c,v
diff -u -p -u -p -r1.254 uvideo.c
--- sys/dev/usb/uvideo.c	21 Mar 2025 13:34:41 -0000	1.254
+++ sys/dev/usb/uvideo.c	21 Mar 2025 21:47:33 -0000
@@ -73,9 +73,6 @@ struct uvideo_softc {
 	int					 sc_mmap_count;
 	int					 sc_mmap_flag;
 
-	struct vnode				*sc_vp;
-	struct usb_task				 sc_task_write;
-
 	int					 sc_nframes;
 	struct usb_video_probe_commit		 sc_desc_probe;
 	struct usb_video_header_desc_all	 sc_desc_vc_header;
@@ -219,8 +216,6 @@ void		uvideo_dump_desc_processing(struct
 void		uvideo_dump_desc_extension(struct uvideo_softc *,
 		    const usb_descriptor_t *);
 void		uvideo_hexdump(void *, int, int);
-int		uvideo_debug_file_open(struct uvideo_softc *);
-void		uvideo_debug_file_write_frame(void *);
 #endif
 
 /*
@@ -490,9 +485,6 @@ uvideo_close(void *addr)
 	if (sc->sc_vs_cur == NULL)
 		return (EIO);
 
-#ifdef UVIDEO_DUMP
-	usb_rem_task(sc->sc_udev, &sc->sc_task_write);
-#endif
 	/* close video stream pipe */
 	uvideo_vs_close(sc);
 
@@ -2200,12 +2192,7 @@ uvideo_vs_init(struct uvideo_softc *sc)
 	error = uvideo_vs_alloc_frame(sc);
 	if (error != USBD_NORMAL_COMPLETION)
 		return (USBD_INVAL);
-#ifdef UVIDEO_DUMP
-	if (uvideo_debug_file_open(sc) != 0)
-		return (USBD_INVAL);
-	usb_init_task(&sc->sc_task_write, uvideo_debug_file_write_frame, sc,
-	    USB_TASK_TYPE_GENERIC);
-#endif
+
 	return (USBD_NORMAL_COMPLETION);
 }
 
@@ -2420,11 +2407,6 @@ uvideo_vs_decode_stream_header(struct uv
 			fb->error = 1;
 		}
 
-#ifdef UVIDEO_DUMP
-		/* do the file write in process context */
-		usb_rem_task(sc->sc_udev, &sc->sc_task_write);
-		usb_add_task(sc->sc_udev, &sc->sc_task_write);
-#endif
 		if (sc->sc_mmap_flag) {
 			/* mmap */
 			uvideo_mmap_queue(sc, fb->buf, fb->offset, fb->error);
@@ -3126,55 +3108,6 @@ uvideo_hexdump(void *buf, int len, int q
 		printf("%02x", (int)*((u_char *)buf + i));
 	}
 	printf("\n");
-}
-
-int
-uvideo_debug_file_open(struct uvideo_softc *sc)
-{
-	struct proc *p = curproc;
-	struct nameidata nd;
-	char name[] = "/tmp/uvideo.mjpeg";
-	int error;
-
-	NDINIT(&nd, 0, 0, UIO_SYSSPACE, name, p);
-	error = vn_open(&nd, O_CREAT | FWRITE | O_NOFOLLOW, S_IRUSR | S_IWUSR);
-	if (error) {
-		DPRINTF(1, "%s: %s: can't create debug file %s!\n",
-		    DEVNAME(sc), __func__, name);
-		return (error);
-	}
-
-	sc->sc_vp = nd.ni_vp;
-	VOP_UNLOCK(sc->sc_vp);
-	if (nd.ni_vp->v_type != VREG) {
-		vn_close(nd.ni_vp, FWRITE, p->p_ucred, p);
-		return (EIO);
-	}
-
-	DPRINTF(1, "%s: %s: created debug file %s\n",
-	    DEVNAME(sc), __func__, name);
-
-	return (0);
-}
-
-void
-uvideo_debug_file_write_frame(void *arg)
-{
-	struct uvideo_softc *sc = arg;
-	struct uvideo_frame_buffer *sb = &sc->sc_frame_buffer;
-	struct proc *p = curproc;
-	int error;
-
-	if (sc->sc_vp == NULL) {
-		printf("%s: %s: no file open!\n", DEVNAME(sc), __func__);
-		return;
-	}
-
-	error = vn_rdwr(UIO_WRITE, sc->sc_vp, sb->buf, sb->offset, (off_t)0,
-	    UIO_SYSSPACE, IO_APPEND|IO_UNIT, p->p_ucred, NULL, p);
-
-	if (error)
-		DPRINTF(1, "vn_rdwr error!\n");
 }
 #endif