From nobody Tue Dec 2 02:32:12 2025 Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 60E7930C61B for ; Wed, 19 Nov 2025 19:37:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763581039; cv=none; b=UM4NqqXUXhc1fhmy33WHJj0+6hFOGHJ6foHUa/B3hWUtT4GKLex8mHyEOC0WMIjW3QuyAADw5AtwlOeocMHnyPfEp8fYA9APEEq+42qesKNUn6xtTnFMb+z3ptjhwjte8mVWW5aPk4C9MoXnk8h6p4/TODTsKrSSS7rFQUMbz/s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763581039; c=relaxed/simple; bh=n8XOm9luf2fVsxqKyrBWhIZuOOg2rhp+w9xSWOV/plE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oANPbhYwvSwy4vh346vicTeLOesotCw1eMo1Mb6ULxctv6nZBveJ6u/dOszQtzOswkxeNg8vM5TSOihclLIAJmfJJ9RlVBJyCTfDQR6mVlkxlRa7NJmAs0VhnsxEQ+/xw8Da/1k1NcXRVjXwHSxUbfPzJh0vxjY5/bQuRk9ZVSs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=mQgOdslD; arc=none smtp.client-ip=209.85.167.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="mQgOdslD" Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-5945510fd7aso41053e87.0 for ; Wed, 19 Nov 2025 11:37:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1763581033; x=1764185833; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=9t1hhYNW+A5BDerlrM2zvaB6QZgqTCpLkk7E6jVXaDE=; b=mQgOdslD9nPCwG9K3q8zYKNBqSnR9NiIbjnRUyi1hwl/ZqQBNidXW1M+iUuKqIamPV Ctz0G6VHyuPiuqdE7olOliRniJho3p+TfXcvoiVot1nD+TtziHgYFyVvoH3+wKsakH4H 565pHVmC6BlTb+dMLmBTfwqDi8Q2ZwjyI3eHM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763581033; x=1764185833; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=9t1hhYNW+A5BDerlrM2zvaB6QZgqTCpLkk7E6jVXaDE=; b=hjBmEN5/Wtm56hbRjNlYlp9P/KthAQC6oCqVcK0RsKssqUGqnUZP+LHlixC5xN/EgK lOXILxxQF81u0TqkNYhe4VqOwR8ZYEpIQpIgmq5MJOFOn+fr/vrJVfAVtxdOFlF24aoG S5e7A4nHB86gi6xZYjfldBii9hwDTBNIvt3kuaj+aqR+MGbXg9dPK9HkqthBX4MU9O/U 2PJkVeaK+9CcbxxfbbNyKrh4eNzkdYuIMk6rgJGts7nejaeul2JQW6qyG0yFBQ5xtf8B ANX+E3+xJYerZmIo9fF1BW+Ari+9KvX/QwmE2QFVOA0/XPhXtBqoMnjzDtGH3nT16gvW IUhQ== X-Forwarded-Encrypted: i=1; AJvYcCXbIWiYrKyMQkZJYBMNmJlontoK0bOwDVqXk3nSbXmgXxojMRurXzGN1wvGXyy/D/wA9DvNT/CVMvcAmG0=@vger.kernel.org X-Gm-Message-State: AOJu0YzF8WWC1P3jm/rlm2L+kDrAuOvmYuQ0i90Nz/STlQZ4YuyX98OD 5E5uTdj9sT98ypgG7tJ2iXpgYnla2dlcgLahqS23B3d2Dge5oUIpbudd2DTV+eZNLjAH115odSQ n8oUXAA== X-Gm-Gg: ASbGncuXaYjrjL0x9WNkWs+Pc3bOz+jp8ITDaAnCMsuD0p0xc0HaX4QfCGlG7fceUeH 1jkLQ9GIEoihsA4BZVRfeSAnulxIZ6e6k4k3Jkw6i47q2SBvv8MyEluDHTiWYbYoi85trdWVBCL J1GhzExqaVfiTdzvwGYsyTvL7v6eh3kLAMqHwBBCsGmiMH6BGus6ZHVE4WA+GXPc+6xYPtCNgeu LMfVxcQJ3lDk+CflizRXDA81hZCn8Y/gtH9ZvdSsdD2sJRdcdxvA/OaqCA4ooiqhcDAAkUVyDsp 0NPlaaBH5iqnXVarBl2rFwiCdbJ/CyRCzjhXNEWdxXopS9LAFzCPtTwx/x7bkuPlJvbqpGyhvPU Z81p2HFsljsofwq6zTXACgRO46XfNehZhwBJ/3x9Cl9A3ROvPcLhS1Luu73mqmVv21yWtQOMDrE f1uzWXup9NYU7wrCHd1w/N7JaPHIP/eXN7nq0eRdHtzi6PbnhKnki7+SJxbbE8HQ== X-Google-Smtp-Source: AGHT+IEzy07FdaBjKY/dhcgvBozZKv1y77WZHmLiavxxJhCZh+QBPAxjEQ2BThdKmAn1PbL0E6rOzg== X-Received: by 2002:a05:6512:3e15:b0:594:2f46:391c with SMTP id 2adb3069b0e04-5969e30c2ddmr20533e87.44.1763581033193; Wed, 19 Nov 2025 11:37:13 -0800 (PST) Received: from ribalda.c.googlers.com (80.38.88.34.bc.googleusercontent.com. [34.88.38.80]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5969dbd15a1sm65790e87.98.2025.11.19.11.37.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Nov 2025 11:37:12 -0800 (PST) From: Ricardo Ribalda Date: Wed, 19 Nov 2025 19:37:10 +0000 Subject: [PATCH v2 1/6] media: uvcvideo: Remove nodrop parameter Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251119-uvcdynctrl-v2-1-0359ffb98c9e@chromium.org> References: <20251119-uvcdynctrl-v2-0-0359ffb98c9e@chromium.org> In-Reply-To: <20251119-uvcdynctrl-v2-0-0359ffb98c9e@chromium.org> To: Laurent Pinchart , Hans de Goede , Mauro Carvalho Chehab , Greg Kroah-Hartman Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Ricardo Ribalda X-Mailer: b4 0.14.2 We announced the deprecation intentions one year ago in the commit commit 40ed9e9b2808 ("media: uvcvideo: Announce the user our deprecation intentions"). We have not hear any complains, lets remove the nodrop parameter. Reviewed-by: Laurent Pinchart Signed-off-by: Ricardo Ribalda --- drivers/media/usb/uvc/uvc_driver.c | 19 ------------------- drivers/media/usb/uvc/uvc_queue.c | 25 ------------------------- drivers/media/usb/uvc/uvcvideo.h | 1 - 3 files changed, 45 deletions(-) diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc= _driver.c index ee4f54d6834962414979a046afc59c5036455124..71563d8f4bcf581694ccd4b665f= f52b629caa0b6 100644 --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c @@ -32,7 +32,6 @@ =20 unsigned int uvc_clock_param =3D CLOCK_MONOTONIC; unsigned int uvc_hw_timestamps_param; -unsigned int uvc_no_drop_param =3D 1; static unsigned int uvc_quirks_param =3D -1; unsigned int uvc_dbg_param; unsigned int uvc_timeout_param =3D UVC_CTRL_STREAMING_TIMEOUT; @@ -2468,24 +2467,6 @@ MODULE_PARM_DESC(clock, "Video buffers timestamp clo= ck"); module_param_named(hwtimestamps, uvc_hw_timestamps_param, uint, 0644); MODULE_PARM_DESC(hwtimestamps, "Use hardware timestamps"); =20 -static int param_set_nodrop(const char *val, const struct kernel_param *kp) -{ - pr_warn_once("uvcvideo: " - DEPRECATED - "nodrop parameter will be eventually removed.\n"); - return param_set_bool(val, kp); -} - -static const struct kernel_param_ops param_ops_nodrop =3D { - .set =3D param_set_nodrop, - .get =3D param_get_uint, -}; - -param_check_uint(nodrop, &uvc_no_drop_param); -module_param_cb(nodrop, ¶m_ops_nodrop, &uvc_no_drop_param, 0644); -__MODULE_PARM_TYPE(nodrop, "uint"); -MODULE_PARM_DESC(nodrop, "Don't drop incomplete frames"); - module_param_named(quirks, uvc_quirks_param, uint, 0644); MODULE_PARM_DESC(quirks, "Forced device quirks"); module_param_named(trace, uvc_dbg_param, uint, 0644); diff --git a/drivers/media/usb/uvc/uvc_queue.c b/drivers/media/usb/uvc/uvc_= queue.c index 790184c9843d211d34fa7d66801631d5a07450bd..3bc54456b4d98ed50b1ea250ce8= 501e67141e1ef 100644 --- a/drivers/media/usb/uvc/uvc_queue.c +++ b/drivers/media/usb/uvc/uvc_queue.c @@ -331,34 +331,9 @@ struct uvc_buffer *uvc_queue_get_current_buffer(struct= uvc_video_queue *queue) return nextbuf; } =20 -/* - * uvc_queue_buffer_requeue: Requeue a buffer on our internal irqqueue - * - * Reuse a buffer through our internal queue without the need to 'prepare'. - * The buffer will be returned to userspace through the uvc_buffer_queue c= all if - * the device has been disconnected. - */ -static void uvc_queue_buffer_requeue(struct uvc_video_queue *queue, - struct uvc_buffer *buf) -{ - buf->error =3D 0; - buf->state =3D UVC_BUF_STATE_QUEUED; - buf->bytesused =3D 0; - vb2_set_plane_payload(&buf->buf.vb2_buf, 0, 0); - - uvc_buffer_queue(&buf->buf.vb2_buf); -} - static void uvc_queue_buffer_complete(struct kref *ref) { struct uvc_buffer *buf =3D container_of(ref, struct uvc_buffer, ref); - struct vb2_buffer *vb =3D &buf->buf.vb2_buf; - struct uvc_video_queue *queue =3D vb2_get_drv_priv(vb->vb2_queue); - - if (buf->error && !uvc_no_drop_param) { - uvc_queue_buffer_requeue(queue, buf); - return; - } =20 buf->state =3D buf->error ? UVC_BUF_STATE_ERROR : UVC_BUF_STATE_DONE; vb2_set_plane_payload(&buf->buf.vb2_buf, 0, buf->bytesused); diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvi= deo.h index ed7bad31f75ca474c1037d666d5310c78dd764df..9a86d7f1f6ea022dace87614030= bf0fde0d260f0 100644 --- a/drivers/media/usb/uvc/uvcvideo.h +++ b/drivers/media/usb/uvc/uvcvideo.h @@ -659,7 +659,6 @@ static inline struct uvc_fh *to_uvc_fh(struct file *fil= p) #define UVC_WARN_XU_GET_RES 2 =20 extern unsigned int uvc_clock_param; -extern unsigned int uvc_no_drop_param; extern unsigned int uvc_dbg_param; extern unsigned int uvc_timeout_param; extern unsigned int uvc_hw_timestamps_param; --=20 2.52.0.rc1.455.g30608eb744-goog