From nobody Tue Nov 18 03:31:03 2025 Received: from mail-qk1-f171.google.com (mail-qk1-f171.google.com [209.85.222.171]) (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 8EB9418FDDB for ; Sun, 23 Feb 2025 18:59:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337166; cv=none; b=cYYmRjd+5dDti3JogfZ9uQOmSozPXCbf7Jq4tXKHj/C62lbrNTMnOKO0Skl40zHp51xUD2/gxFyQsKyeIsUE3rDaXqlw+OmC/hYa0B0ZgjOSZph7/a7S4RSxyHkgfEwxkVIDAY2sKLsXKhELe/HcDzJpxLBNX5US91/ki3p9XIQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337166; c=relaxed/simple; bh=o5WkpnQ73V+VMo8bdoFaUftuXdW+rujG4ME3lX7eEqw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=czqlV7DBnE4eRiyNl2Z4ek+cEt4le3wwhmNb+jrCBAZFpBaTMWtHIKkpr/RRJbGMaDZ6OPx6uUvkNDEYmfNHYNvxcZ5m2sG3wZEIXDHmt2Chc9wTdyXylDxm4CUNV7MzqMSp3K0dSpYNKHEpVdrcQc4Yo5tjBG/wPYK/NZzrlpc= 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=ZVJUnLiY; arc=none smtp.client-ip=209.85.222.171 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="ZVJUnLiY" Received: by mail-qk1-f171.google.com with SMTP id af79cd13be357-7c0893f9aa6so343211385a.1 for ; Sun, 23 Feb 2025 10:59:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740337163; x=1740941963; 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=bgEaj88gwe50jW8BgyaHtEFtSSSTKBTD6iombmDXrgk=; b=ZVJUnLiY1GSIP75VooeahuZnuYwRhsVZWXF1VAxDhKZaRwq4FlkUjpy7Uecd6UDGme rGNBLSM65Rtzzqi6a6BqTJToyJ9QJXTJlg/wvgCos6T/dEmEwQ/6SFMFYuxQIUSmqe9q E9yACB8p2ZyVeOIGAnOv54niodLHiOldbp9to= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740337163; x=1740941963; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bgEaj88gwe50jW8BgyaHtEFtSSSTKBTD6iombmDXrgk=; b=udjOX7+Igx+1q5unXObViCniPk77moYNimUWxHYj45+opUt+jIEzPKaE4XeEPIuWDZ /EJiLzTn5GaWx3UjZToDqYrmNI482MT6U7jJzLYsY1S4+o40jPCeKDr3sYirUiiUTsuw UY1TPD8X/q5RFS1JKv47DGcwvARxFsnx08DONVRvJxojoctH6Sbb8iOqpR8ILgAhDhhI hkdq9F6Ay4Ro3hHarDpHYR3kPTzB4SiUMHOxW2SPpnl43eq6U2BzX7JNwyFiumCbt7A9 OfZ4zxMB5eJru/0T3hCks0nGwjE0+teBDqFreFQElPpnxF4jivrXsV32I75vD6noVpWX vx6A== X-Forwarded-Encrypted: i=1; AJvYcCUNhSq6mlh0lm7g94BKmphqlU6AujAVabsTa8KSBBgmVaCVQukm3z4O2eY4KBQ3vSAfLjnW5fiFrFXNK1k=@vger.kernel.org X-Gm-Message-State: AOJu0YzOTklnjo6yxg8jE+/+AXozgFFOOsmj+7oB2U1qZWzbKrCdayE6 TLpiacRmUUkcdNZIgPQNnF30U8WrHIpvy/FJT4Ad2RBTNpb+F5l3XTafhPMX/A== X-Gm-Gg: ASbGncugJcXvvh2OOyo90WP0ybYCm7mdL8LS9XNXUCQYY0XztQyjJ2n3fCGRflBIiP4 JA0JJ4C9OwMwMAkRrB5VEER/dPQysTQ89B88DBnDjHrnLvsr6GYDC1fzdmpFR7EwXnw4M2b4G6/ YMJ2viKu3d9ZWygFUI8LYydEolz+3OTDceDL8kd+TXDhUbgRDfJBRWn/WmUiP+MAqSDpeIfkABV ofYd+cyPl4j1GsM5tHGv+4XB87qYuX8y6abn4wqIASx5xjqRAgvGHGOxTjOqbs13jax0hrs5D16 hWohgQGd3YPGOKrBjF9UKWIUXQDwZwio+FiKgBNIq9hdLA56T1kUKKdKlEdGI4JHn7qeU67LUuy z55w= X-Google-Smtp-Source: AGHT+IHGjRoitg4iizBR56/YqzL9lfxWldkcIk6dKi7DdbK876lHC2pCcmEyx2EPjcz9GSOVicGTRQ== X-Received: by 2002:a05:620a:1910:b0:7c0:b4f4:1633 with SMTP id af79cd13be357-7c0cf8c6679mr1064156285a.15.1740337163452; Sun, 23 Feb 2025 10:59:23 -0800 (PST) Received: from denia.c.googlers.com (15.237.245.35.bc.googleusercontent.com. [35.245.237.15]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c09bf81253sm894052885a.47.2025.02.23.10.59.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 10:59:22 -0800 (PST) From: Ricardo Ribalda Date: Sun, 23 Feb 2025 18:58:04 +0000 Subject: [PATCH v3 01/12] media: ioctl: Simulate v4l2_queryctrl with v4l2_query_ext_ctrl 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: <20250223-queryctrl-v3-1-4292911cab6b@chromium.org> References: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> In-Reply-To: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> To: Mauro Carvalho Chehab , Mike Isely , Laurent Pinchart , Hans de Goede , Sakari Ailus , Andy Shevchenko , Greg Kroah-Hartman , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Ricardo Ribalda X-Mailer: b4 0.13.0 v4l2_queryctrl is a subset of v4l2_query_ext_ctrl. If the driver does not implement v4l2_queryctrl we can implement it with v4l2_query_ext_ctrl. Suggested-by: Hans de Goede Signed-off-by: Ricardo Ribalda --- drivers/media/v4l2-core/v4l2-dev.c | 3 ++- drivers/media/v4l2-core/v4l2-ioctl.c | 37 ++++++++++++++++++++++++++++++++= +++- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v= 4l2-dev.c index 5bcaeeba4d09..252308a67fa8 100644 --- a/drivers/media/v4l2-core/v4l2-dev.c +++ b/drivers/media/v4l2-core/v4l2-dev.c @@ -572,7 +572,8 @@ static void determine_valid_ioctls(struct video_device = *vdev) and that can't be tested here. If the bit for these control ioctls is set, then the ioctl is valid. But if it is 0, then it can still be valid if the filehandle passed the control handler. */ - if (vdev->ctrl_handler || ops->vidioc_queryctrl) + if (vdev->ctrl_handler || ops->vidioc_queryctrl || + ops->vidioc_query_ext_ctrl) __set_bit(_IOC_NR(VIDIOC_QUERYCTRL), valid_ioctls); if (vdev->ctrl_handler || ops->vidioc_query_ext_ctrl) __set_bit(_IOC_NR(VIDIOC_QUERY_EXT_CTRL), valid_ioctls); diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core= /v4l2-ioctl.c index 0304daa8471d..deed2b44ee18 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c @@ -2284,9 +2284,11 @@ static int v4l_queryctrl(const struct v4l2_ioctl_ops= *ops, struct file *file, void *fh, void *arg) { struct video_device *vfd =3D video_devdata(file); + struct v4l2_query_ext_ctrl qec =3D {}; struct v4l2_queryctrl *p =3D arg; struct v4l2_fh *vfh =3D test_bit(V4L2_FL_USES_V4L2_FH, &vfd->flags) ? fh : NULL; + int ret; =20 if (vfh && vfh->ctrl_handler) return v4l2_queryctrl(vfh->ctrl_handler, p); @@ -2294,7 +2296,40 @@ static int v4l_queryctrl(const struct v4l2_ioctl_ops= *ops, return v4l2_queryctrl(vfd->ctrl_handler, p); if (ops->vidioc_queryctrl) return ops->vidioc_queryctrl(file, fh, p); - return -ENOTTY; + if (!ops->vidioc_query_ext_ctrl) + return -ENOTTY; + + /* Simulate query_ext_ctr using query_ctrl. */ + qec.id =3D p->id; + ret =3D ops->vidioc_query_ext_ctrl(file, fh, &qec); + if (ret) + return ret; + + p->id =3D qec.id; + p->type =3D qec.type; + p->flags =3D qec.flags; + strscpy(p->name, qec.name, sizeof(p->name)); + switch (p->type) { + case V4L2_CTRL_TYPE_INTEGER: + case V4L2_CTRL_TYPE_BOOLEAN: + case V4L2_CTRL_TYPE_MENU: + case V4L2_CTRL_TYPE_INTEGER_MENU: + case V4L2_CTRL_TYPE_STRING: + case V4L2_CTRL_TYPE_BITMASK: + p->minimum =3D qec.minimum; + p->maximum =3D qec.maximum; + p->step =3D qec.step; + p->default_value =3D qec.default_value; + break; + default: + p->minimum =3D 0; + p->maximum =3D 0; + p->step =3D 0; + p->default_value =3D 0; + break; + } + + return 0; } =20 static int v4l_query_ext_ctrl(const struct v4l2_ioctl_ops *ops, --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Nov 18 03:31:03 2025 Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) (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 30DA41C862C for ; Sun, 23 Feb 2025 18:59:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337167; cv=none; b=fTJONOs9xlc1uhcnVxUm/OQV4numxEPi2NRFzrgCCzZ5UVQasO2ti0ttWIDl1/O5EwNTbFRnEZkqkIujcsopfZH4K8MGuzdUJzqKcfM46Zp351y492d/dELR8B0XLBs4K9ImDTDIc6a0zAfleM73jm1XexGFdlenX3F0FsbniHI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337167; c=relaxed/simple; bh=dOYR+rU45ZTedZeI7JX0raU+lCcGXk5RD8f4I9wTnUQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nQ43bZ/5VTfADEKOCXx1KgYHCh0HAsW0DVVKym17pMZ5IXaBk+lJbnwWapx5cXT5dyyaWysU8IWKAWbe3VF3zB94wD2BuHJFBV+TBJSr3HXyU9NG+Vqjn+/O8eA3Z7yyp6QujcLD23CdwtAcNLnAteYRlhF1eSrtVWJnVbOQdTQ= 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=Q4a8Lvhg; arc=none smtp.client-ip=209.85.222.177 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="Q4a8Lvhg" Received: by mail-qk1-f177.google.com with SMTP id af79cd13be357-7be8f281714so467359085a.1 for ; Sun, 23 Feb 2025 10:59:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740337165; x=1740941965; 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=PJWyEAap1+WfidHk2zAGjrE4DT6kHcz4NCpxCTH1+J0=; b=Q4a8LvhgAGDD3w+L3oYRKQMVnHMN9QXblFGINkt0/SXZBQJnUGEfSjl03qTzkUDzY9 QDYRiCysasnAxjiV+8hPgIouzhOwCGPPv6Vfqdkge4wKNIy4n73CbpLw432UccgrrCeP gvDHZU72we0yKXXBlkbWUkDWgijltPslmkNQM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740337165; x=1740941965; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PJWyEAap1+WfidHk2zAGjrE4DT6kHcz4NCpxCTH1+J0=; b=OKVuYoHf6TLoSl7FMEI1pmRXY3/F3O6w7Wfsi+3Kg7I+tEn57jVb0gzFzGk14NjLMk tm6gubrtPH7lq08FvWciqtWsV1AACShaS+bS0Y5y+q3kkwnJ3Cv7KFf0LnLgZFnpZpwz BlauL9UFoVhZBZIHzrnBnwvxdk5x8a585LGWRwNbb8xQsweugAuOx3+io7sZOlxE4tbz JZm8hkvrmI7M/mXhvBT8g2YssrI4oD8koerq2WOtVirfsjBFOsqHNiIDXi7K5osV1bvj TbZOwc/YRJij2yzdJfcY4dYMZ8/Tc3ez7O/OAsLn3ksMNqwULQIBeG/7yivg4OgFJ+1g TVpw== X-Forwarded-Encrypted: i=1; AJvYcCWTLUHaik2JrOEpFRvZakGMoL/9uYKp0PxWSwYy8dNpZVhD0wgyZf0r/pO5MWKS5XVPd30puRVhKmzqN8c=@vger.kernel.org X-Gm-Message-State: AOJu0Yxi++qH+5qR+vhgGRnPfCzUNc5rJhfugeGKCKkYnxC7Q9SdqQW4 zmtkqFg0ixSAAqKuWKz4PogO50zLjZ49tzY+F+/48/P7XwJ9rZGO2M1aD/Hoxw== X-Gm-Gg: ASbGncs9g7yI1Spjzgfymp9QeQ3qFNLie8Y4vIr1rNlZys74C3mrOWYDvbjitHSkYH9 mMZ1nk75KI1qunvCzF315x3hdnmxEJPSX5f+xfDsUlc/f+4X44t9Qt3XDRNpVvgZCWcNW6NePnG AzKIlA0JU4fC0yipJjQqC68U/PWd3I1+yWW77i6ggCdmkpwd5UNO+52XgjgJ+6PkmYUYMhPKr3j 0U7Lqdv/UOVfbawMop6tbA4nfUmQU9RFNETcJ+iJJ0GF/MbzQ1MX7DPepmWKPK+9b/i3Kg4rqdV fldaMeG9kkD2dG42o6hNQWDAU6geM5v0axOMFZEFD1TcCB9JxWQHJUTp0ocguLlO0qbAyGt+VS3 jmmE= X-Google-Smtp-Source: AGHT+IFYqDOGgV28QPyX8iJ9ppiO1sSvPVW9QWBsd+01pbtAkqxHgdzjOQyBpkU8O/OVREpVDay7zA== X-Received: by 2002:a05:620a:1786:b0:7c0:c2ac:c087 with SMTP id af79cd13be357-7c0ceefa3f1mr1372556685a.19.1740337164924; Sun, 23 Feb 2025 10:59:24 -0800 (PST) Received: from denia.c.googlers.com (15.237.245.35.bc.googleusercontent.com. [35.245.237.15]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c09bf81253sm894052885a.47.2025.02.23.10.59.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 10:59:23 -0800 (PST) From: Ricardo Ribalda Date: Sun, 23 Feb 2025 18:58:05 +0000 Subject: [PATCH v3 02/12] media: pvrusb2: Convert queryctrl to query_ext_ctrl 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: <20250223-queryctrl-v3-2-4292911cab6b@chromium.org> References: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> In-Reply-To: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> To: Mauro Carvalho Chehab , Mike Isely , Laurent Pinchart , Hans de Goede , Sakari Ailus , Andy Shevchenko , Greg Kroah-Hartman , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Ricardo Ribalda X-Mailer: b4 0.13.0 The driver was missing support for query_ext_ctrl. Instead of adding a new callback for it, replace the current implementation of queryctrl and let the ioctl framework emulate the old function. Most of the fields are identical, so the change is pretty simple. Signed-off-by: Ricardo Ribalda --- drivers/media/usb/pvrusb2/pvrusb2-v4l2.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c b/drivers/media/usb/p= vrusb2/pvrusb2-v4l2.c index d608b793fa84..7c8be6a0cf7c 100644 --- a/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c +++ b/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c @@ -497,8 +497,8 @@ static int pvr2_streamoff(struct file *file, void *priv= , enum v4l2_buf_type i) return pvr2_hdw_set_streaming(hdw, 0); } =20 -static int pvr2_queryctrl(struct file *file, void *priv, - struct v4l2_queryctrl *vc) +static int pvr2_query_ext_ctrl(struct file *file, void *priv, + struct v4l2_query_ext_ctrl *vc) { struct pvr2_v4l2_fh *fh =3D file->private_data; struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -521,13 +521,16 @@ static int pvr2_queryctrl(struct file *file, void *pr= iv, } =20 pvr2_trace(PVR2_TRACE_V4LIOCTL, - "QUERYCTRL id=3D0x%x mapping name=3D%s (%s)", + "QUERYEXTCTRL id=3D0x%x mapping name=3D%s (%s)", vc->id, pvr2_ctrl_get_name(cptr), pvr2_ctrl_get_desc(cptr)); strscpy(vc->name, pvr2_ctrl_get_desc(cptr), sizeof(vc->name)); vc->flags =3D pvr2_ctrl_get_v4lflags(cptr); pvr2_ctrl_get_def(cptr, &val); vc->default_value =3D val; + vc->nr_of_dims =3D 0; + vc->elems =3D 1; + vc->elem_size =3D 4; switch (pvr2_ctrl_get_type(cptr)) { case pvr2_ctl_enum: vc->type =3D V4L2_CTRL_TYPE_MENU; @@ -549,7 +552,7 @@ static int pvr2_queryctrl(struct file *file, void *priv, break; default: pvr2_trace(PVR2_TRACE_V4LIOCTL, - "QUERYCTRL id=3D0x%x name=3D%s not mappable", + "QUERYEXTCTRL id=3D0x%x name=3D%s not mappable", vc->id, pvr2_ctrl_get_name(cptr)); return -EINVAL; } @@ -812,7 +815,7 @@ static const struct v4l2_ioctl_ops pvr2_ioctl_ops =3D { .vidioc_try_fmt_vid_cap =3D pvr2_try_fmt_vid_cap, .vidioc_streamon =3D pvr2_streamon, .vidioc_streamoff =3D pvr2_streamoff, - .vidioc_queryctrl =3D pvr2_queryctrl, + .vidioc_query_ext_ctrl =3D pvr2_query_ext_ctrl, .vidioc_querymenu =3D pvr2_querymenu, .vidioc_g_ctrl =3D pvr2_g_ctrl, .vidioc_s_ctrl =3D pvr2_s_ctrl, --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Nov 18 03:31:03 2025 Received: from mail-qk1-f171.google.com (mail-qk1-f171.google.com [209.85.222.171]) (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 D58F01802AB for ; Sun, 23 Feb 2025 18:59:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337169; cv=none; b=s8kS9uiObiEmedu68jAQsKxtahqCwTrqprs0bUDrb96ZV0y5F+HK2rZcMFjQABWxnIZawf1qPPQEZa4up+OfMxVdg3LEmdQpyczgyKklAPV7pfTbWkeN3qswg2CBF20d1RFGLDG4ewQTHBtGcXq7gNgdhcUpzL/UfaMZmMN/rK0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337169; c=relaxed/simple; bh=myXjIaGjfoOSk4gWvfNUCnPKOkUfNfQoYFyPFWxU7TM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Vd1CipRaah7Kqo3K6hgIBz5w0y/L9xd4H6jHfm3uzytg1gjmvUaVvTb5RESx7YV9Q4ZRf2dvdC6WPW2DikcIQ3Ai+OjtCSjuxMXRNGc7z7+AayLgyNEsuZmtUAk0hdzlgSaFBt3bsFRNJMd1Pa63VDaUMaiyFEOxkTWOagWB5G0= 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=Y7LuKBfw; arc=none smtp.client-ip=209.85.222.171 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="Y7LuKBfw" Received: by mail-qk1-f171.google.com with SMTP id af79cd13be357-7be49f6b331so373824685a.1 for ; Sun, 23 Feb 2025 10:59:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740337167; x=1740941967; 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=cnN0g4zN2JxT7rEykWa86K6e7OYYbd0erUw+cYCyMXw=; b=Y7LuKBfwBVse43QirI5wG+6px8nUAsOJqsT8yGvRBpoHvnxwzqtEutU61I8ka55yEB iyj+6olqdnwl3hUti4Zrc+pHYs8gQEljgeXIGMdl5zs0q3FCwXwjRld7mxaZMT3ElAhX 6dPV9CInYQvi4zuyiPvm5/xjaqy/UlrZ58fAc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740337167; x=1740941967; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cnN0g4zN2JxT7rEykWa86K6e7OYYbd0erUw+cYCyMXw=; b=c3Hl8vqOgmf6hnXvT71FvzBFc1tCONlwGzRJRLwJn70baslfMO9+em4B6rIaiwMJE4 6737aXmUDUej/uZGAXwYiqNHLldIV8BgLTR2XW8cXzgHwaeFZUSUWifouW7RzLJcVNcZ e5J90B4GDLRuZDtigakCvBUCKABmM1eJfzAr59pkFwEH3ykcMkyB2OCj12E9awP5SAO0 n0jhB0+M+VyLne4wSHLENqtN/3qOVQRq8qAJdpne0xc4mBmUCB3gMI+2L1b7kDpzQ/EL KQar9KuP3M1JyibrUqQIUYNUqQbAJQZeLtva0K8nmGoV7L3cxalSmIKcrGj5yVCHwADk c78Q== X-Forwarded-Encrypted: i=1; AJvYcCUcbVq+8wumvvWqVVRnnyFhz+NoRBedPHcQQxzwvYiWOdUUVit6Rdp3AVTGgZWJS7Al7qHvcSp6v9KnPu8=@vger.kernel.org X-Gm-Message-State: AOJu0YxDhULwVSp/iesJSSjrcNLi7ZsbF23+L5rwWHXH67ZVBQFic7GW 0FSUx5PgQ9+fIyuoutrh9dyxP/fH8IHqCg5Qle4gIaUknuWwWeik057urD6WuA== X-Gm-Gg: ASbGnct57XJZjKJAjjmYfIENn9MofMHjM/zrW9RO3OJnvyRfPQAXjWKtF93CZCJvB5j fy7A9whQMsCLK5sdyaJ9TGOZ7wiMZAID/+AZfGiXl7d7DRg3gKmOFJxFIpi/0zYWxzm00686P8T DS2DTv/i0QaobEoVEoO/1ftXylOHQcNbate0PPPCIx4PAfaPrC1+MJgOCiY/nhayBossbVYjd/A NaD0SKMKRJ53nNfjTM+HVYl3CybUCM/oUFwzscX9DU6cFq631BbHO8aIQQKWJejbkuQrTt6h/W4 RPMQKYpJkSui6Zp7dS/CaOXSUGoZ1CGwHHY2cKQogkl15M9H70xvuOXppF6788D98W7PZpwCDop S0ug= X-Google-Smtp-Source: AGHT+IG6XQAhoRI9GvPepX/CjaG7nv07d/LfoiHN+LEQpa+mFjWVBGB/SkS22EGTKBolEf1SeYC0Ng== X-Received: by 2002:a05:620a:1a1c:b0:7c0:c214:f2d with SMTP id af79cd13be357-7c0cf8ea897mr1355134285a.31.1740337166661; Sun, 23 Feb 2025 10:59:26 -0800 (PST) Received: from denia.c.googlers.com (15.237.245.35.bc.googleusercontent.com. [35.245.237.15]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c09bf81253sm894052885a.47.2025.02.23.10.59.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 10:59:25 -0800 (PST) From: Ricardo Ribalda Date: Sun, 23 Feb 2025 18:58:06 +0000 Subject: [PATCH v3 03/12] media: pvrusb2: Remove g/s_ctrl callbacks 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: <20250223-queryctrl-v3-3-4292911cab6b@chromium.org> References: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> In-Reply-To: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> To: Mauro Carvalho Chehab , Mike Isely , Laurent Pinchart , Hans de Goede , Sakari Ailus , Andy Shevchenko , Greg Kroah-Hartman , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Ricardo Ribalda X-Mailer: b4 0.13.0 The ioctl helpers can emulate g/s_ctrl with g/s_ext_ctrl. Simplify the code. Signed-off-by: Ricardo Ribalda --- drivers/media/usb/pvrusb2/pvrusb2-v4l2.c | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c b/drivers/media/usb/p= vrusb2/pvrusb2-v4l2.c index 7c8be6a0cf7c..ad38e1240541 100644 --- a/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c +++ b/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c @@ -574,31 +574,6 @@ static int pvr2_querymenu(struct file *file, void *pri= v, struct v4l2_querymenu * return ret; } =20 -static int pvr2_g_ctrl(struct file *file, void *priv, struct v4l2_control = *vc) -{ - struct pvr2_v4l2_fh *fh =3D file->private_data; - struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; - int val =3D 0; - int ret; - - ret =3D pvr2_ctrl_get_value(pvr2_hdw_get_ctrl_v4l(hdw, vc->id), - &val); - vc->value =3D val; - return ret; -} - -static int pvr2_s_ctrl(struct file *file, void *priv, struct v4l2_control = *vc) -{ - struct pvr2_v4l2_fh *fh =3D file->private_data; - struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; - int ret; - - ret =3D pvr2_ctrl_set_value(pvr2_hdw_get_ctrl_v4l(hdw, vc->id), - vc->value); - pvr2_hdw_commit_ctl(hdw); - return ret; -} - static int pvr2_g_ext_ctrls(struct file *file, void *priv, struct v4l2_ext_controls *ctls) { @@ -817,8 +792,6 @@ static const struct v4l2_ioctl_ops pvr2_ioctl_ops =3D { .vidioc_streamoff =3D pvr2_streamoff, .vidioc_query_ext_ctrl =3D pvr2_query_ext_ctrl, .vidioc_querymenu =3D pvr2_querymenu, - .vidioc_g_ctrl =3D pvr2_g_ctrl, - .vidioc_s_ctrl =3D pvr2_s_ctrl, .vidioc_g_ext_ctrls =3D pvr2_g_ext_ctrls, .vidioc_s_ext_ctrls =3D pvr2_s_ext_ctrls, .vidioc_try_ext_ctrls =3D pvr2_try_ext_ctrls, --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Nov 18 03:31:03 2025 Received: from mail-qk1-f174.google.com (mail-qk1-f174.google.com [209.85.222.174]) (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 2E29920C479 for ; Sun, 23 Feb 2025 18:59:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337171; cv=none; b=NGBPDEfDO4oGotEIbd59W2o9nXvTnNYAAvPcULIvZWEqGsiZ4cGcwKFlFn9KbzPEf2AqfPrW5qiwkiMP4KZIrnl6OeCCXSVZh8xfkNkC8a8+rJ0KkzawFbTasvYC5rvAfz33NPf7SmW9zsMCYENm1IdkzaPe8c77fP+Ssn4JEpk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337171; c=relaxed/simple; bh=xHh1GodNV49mVOXTDlr/kmEEgfRtOkAHCbSYPASBaZQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IPYafXAoLwTZ2kPZnUn7qPxPUu7Bm837zQXADHH86NE3ZUoVIUjiq6cwVZGsxNj88CXva8jBgpfAlz7PqcoUjb0vt5TXFKhNVmAKC6wVgbk3khklFEjhsYP3m8ZbSYvA0nmGkZOC2A1N0N7P5reUnytFUkM4XfegOn58bAQtA7Y= 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=Me+M/EUD; arc=none smtp.client-ip=209.85.222.174 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="Me+M/EUD" Received: by mail-qk1-f174.google.com with SMTP id af79cd13be357-7c0b24cc566so321990985a.1 for ; Sun, 23 Feb 2025 10:59:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740337169; x=1740941969; 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=uRb6n6dm7lw2Z9XBFIWilv+DzQlMIIsiVy3tu994jwM=; b=Me+M/EUDOEG1Slj5OTfOzycsg8s37tnkh2Z5MeN+oTTtcq9LpUHOrL5Pxk1JOMaHbw WDb2ABmVZ2vDaynXy5humC9f40EbigNNIh86yJK+yCjpzYInbrZGaakjQAy3zXY90XkM w/wlk3E83eoAM8j0mLtW7WPfvtdwIP6ItMuoE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740337169; x=1740941969; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uRb6n6dm7lw2Z9XBFIWilv+DzQlMIIsiVy3tu994jwM=; b=hmIQ7uFFySDFLCiTpHWhYKV5trOT6I5FbkrJuBsjz2mb2YErMBzLo59uffkGeg6+hX odPyMDEbNrNTyKDX8/PbuEaA9yJnfVsf0Ipgd5D+s3ceLTGxMM5nquGBc8JlmNtuPq0A tUVLoLp/bM4r2ILXSy7WtMhFOHIEXJvibu9vz+joSQlpNiRTQE3WM6YUCt9YsBzSZhLY HJYcxrWxcpQQMKYgq2cqPSHNG7qpEF9ie75M1KipQgRtC55pNgIUK1YrY0AJYgOjJjLN dz4itzW1yUwTGb6C+oFkZcjpXTw7V47K0KcT79J4WPMpWpx+R1MZdrjYraSB3JnGlaFQ q3/Q== X-Forwarded-Encrypted: i=1; AJvYcCXL677hOTv5/Qt8jv2XfcXVc5o+4zY3kxnPe7lLSJZoDsi7v/ldbEaf0KyMD9tONe4WXO3OIUiy/6k2nnc=@vger.kernel.org X-Gm-Message-State: AOJu0YzoGDyfSYvuqhF5TIIIz7LH8QlSeMrwdwmOJcw7VMjgqd4POMdw O6Sl/+gxRRm6ROXOX/L58Ai3F1OQsr1FxC9eQeFFU9MpaWHySbh6X4b9Fmozzw== X-Gm-Gg: ASbGncuja7GrjBk02lcn94YM1HQ9wxzbinInXNpPEO4BU3vnWZVgRcRPZO1n1QyxhrA PO9IH3P9hWq4nTUb/nnHwlKpSss0TrCvajX2h+kfEHIXT5TfXMEFMaarNLT7jC3RWOT7z9nqvTv Zx3aThcnq4PGXnCPbCdDvTkOhMflRoghKLuiuOhoLXMOHBZy08OdHjyEfg27J7a1WCVwYbUjyzJ 2rMKwHclq1M4yQ2wp8LXBhDTSBaj8gCJQ1L/4dYvLyw+0qHQ4wr4GCYFQvioqO/mWVNAE+89OiV OPdsVfkZqaQNi4BbUY2+GfT9NRbYypWzZW7qyFZe0Qx9wUanauWgL699EShnc3cKfospoOkJMUy Or7Q= X-Google-Smtp-Source: AGHT+IFIm1syTpeE2i1EYWI3iEtSyliT4ATG6d2xnrdk5fvsT0z7+hE4dqtz3meToG77GzeKzuMC5Q== X-Received: by 2002:a05:620a:444c:b0:7c0:7a0b:3727 with SMTP id af79cd13be357-7c0ceefd391mr1224831785a.16.1740337169084; Sun, 23 Feb 2025 10:59:29 -0800 (PST) Received: from denia.c.googlers.com (15.237.245.35.bc.googleusercontent.com. [35.245.237.15]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c09bf81253sm894052885a.47.2025.02.23.10.59.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 10:59:27 -0800 (PST) From: Ricardo Ribalda Date: Sun, 23 Feb 2025 18:58:07 +0000 Subject: [PATCH v3 04/12] media: uvcvideo: Remove vidioc_queryctrl 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: <20250223-queryctrl-v3-4-4292911cab6b@chromium.org> References: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> In-Reply-To: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> To: Mauro Carvalho Chehab , Mike Isely , Laurent Pinchart , Hans de Goede , Sakari Ailus , Andy Shevchenko , Greg Kroah-Hartman , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Ricardo Ribalda X-Mailer: b4 0.13.0 It can be implemented by the v4l2 ioctl framework using vidioc_query_ext_ctrl. Signed-off-by: Ricardo Ribalda --- drivers/media/usb/uvc/uvc_v4l2.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v= 4l2.c index 93c6cdb23881..89052455ed50 100644 --- a/drivers/media/usb/uvc/uvc_v4l2.c +++ b/drivers/media/usb/uvc/uvc_v4l2.c @@ -963,15 +963,6 @@ static int uvc_ioctl_s_input(struct file *file, void *= fh, unsigned int input) return ret; } =20 -static int uvc_ioctl_queryctrl(struct file *file, void *fh, - struct v4l2_queryctrl *qc) -{ - struct uvc_fh *handle =3D fh; - struct uvc_video_chain *chain =3D handle->chain; - - return uvc_query_v4l2_ctrl(chain, qc); -} - static int uvc_ioctl_query_ext_ctrl(struct file *file, void *fh, struct v4l2_query_ext_ctrl *qec) { @@ -1491,7 +1482,6 @@ const struct v4l2_ioctl_ops uvc_ioctl_ops =3D { .vidioc_enum_input =3D uvc_ioctl_enum_input, .vidioc_g_input =3D uvc_ioctl_g_input, .vidioc_s_input =3D uvc_ioctl_s_input, - .vidioc_queryctrl =3D uvc_ioctl_queryctrl, .vidioc_query_ext_ctrl =3D uvc_ioctl_query_ext_ctrl, .vidioc_g_ext_ctrls =3D uvc_ioctl_g_ext_ctrls, .vidioc_s_ext_ctrls =3D uvc_ioctl_s_ext_ctrls, --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Nov 18 03:31:03 2025 Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) (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 8BF8420D4E8 for ; Sun, 23 Feb 2025 18:59:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337174; cv=none; b=XV9abHj8noEsn7GcE6t0LgZpTKCwP2X3RMsxu9tiI9f3PhExXIqOp5apPCQghTyVmiubpey+YpZCkKmu8Inoux9+fcOx2rcWal3IIrnrjJCT0ATPjavVQ1a4lOG5k3cuDiJew1cFLLBEC+yXrcT4dyPUHTLQw7rWD32EmFVH/wY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337174; c=relaxed/simple; bh=+FQk73Re7Vj5uP8e4zt7dSl+Ft1aZSIU+rolZ0DzE5I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GWpsABtCpLB/N56Uzz2OaW1rvXjt4G/3M7tU7mHcMPuH8Al1140jtZkE4GLGeM1n2vq6SrnMzRbEXn+NULZjqc/K7ATyEEftqwqUWCYU6wccaoms5GlxAzv4ksn4x/2GpyngO3EbgfOVZBK+ogKmq78aKvBC/f+CXxc0hVaGFX8= 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=bkMaNGH+; arc=none smtp.client-ip=209.85.222.169 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="bkMaNGH+" Received: by mail-qk1-f169.google.com with SMTP id af79cd13be357-7c0bb7328fbso390502685a.2 for ; Sun, 23 Feb 2025 10:59:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740337171; x=1740941971; 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=8IZ/POm13BMEX8p04+c3Nhi5+imiB9PsNNFLrPKcpkU=; b=bkMaNGH+TWmaiA27q/9/D2BTliMN6XtOlLEzbZXC9WEqOgg18K4dJFtDQCTnbLe4vV nDYI0VzYpEpk/3QSiyFRUfM2nsjqmYnkLFp0nZIvf/pWsPjrfY35XdCOocqfwfc5g4Kc hJe9HJvYWoVL9ac48R4hQaqDtn/glaouj/akY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740337171; x=1740941971; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8IZ/POm13BMEX8p04+c3Nhi5+imiB9PsNNFLrPKcpkU=; b=s9ZQ4EzB5cYuqG40M/oNfgp/9CK87plUe14kXsI2pNEow277PWDW66G1nXIi2LzApR 2hwEj7CIoLUTbbBGxuj7a/n+BaG7ZgTWlIqGn+b/NPrhvtA3Bfv9upC632rGxg/wzjw5 HJ2G38rn9sf12JKj5Ycktd/OtUsKZZQLVbraDvI2O7UwuQ2Ayu3uYp2iifOQfkOlYbSB jOo7yJRm56p/sMJRg9CIhynm1jE3YJz1SkSovU3g0HPnIk8Io4jZy4gdVSnnFzBc4cTh skLD6he2ho/3O7Nav+f6rdNhsmJkSeTRz4kimqVLhKkQXj8rR1EKeg3rhbC4c5b9XerR 2M5Q== X-Forwarded-Encrypted: i=1; AJvYcCX5MMYK3giQhjafdsJxljlDqlf2iIa1VwNtaPKylqaL7rzcIcZ+pL28GpXnqVZexSxBHqZFyUDnE3Qq/oI=@vger.kernel.org X-Gm-Message-State: AOJu0Yy+8rteg7nhRFjooR3QQrhsjPBnR2NWayQ5dBWGq07B/0AhZ2Vd d1M+HidoN/+/dIEP7EgsAVAUCNry04pZIbJmUk5sDGrEwcRgHLSbqdGIYGLawQ== X-Gm-Gg: ASbGncuPcccivqST5icUCAE6w8g3/qDqslk/tCH69IFLOhCXO0L0Jx89IhHt9u6cflP 415zjJpNlimuVQQyEwN833EjGBI7+R/dLVbrEScy3pvH5Ni7ShJ+5283ina05MbnLilqwAbSbw5 +dbmqMNuTecldPGJvJ/kTDZEcUBgnT8SB+CfjkLkdvUEdduytnzgsL/RIorwWEFoDDb6E6wK8z7 4GS6IikB8QIGUi1JFri8o1MZlFTelZRgAXFsaI+5RVoydQbjT2InlfHkFX9ueRTUGYxM06qKTXo JO/DwGI+O9SXiJKX+MTVfWFARRNvWgmctaB+CpEDKvrLNVjKQsllMaDUOKoBcKUs4C0Pqmyr7RI szds= X-Google-Smtp-Source: AGHT+IFfEI9iYEbJVGs23xVGmjulSbd3/xfIZiF/IMBZDKee+F4TF5guUHDs7mH9mdkDy3gDc+h3Sw== X-Received: by 2002:a05:620a:4688:b0:7c0:c15c:1177 with SMTP id af79cd13be357-7c0cef10115mr1616776085a.30.1740337171454; Sun, 23 Feb 2025 10:59:31 -0800 (PST) Received: from denia.c.googlers.com (15.237.245.35.bc.googleusercontent.com. [35.245.237.15]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c09bf81253sm894052885a.47.2025.02.23.10.59.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 10:59:30 -0800 (PST) From: Ricardo Ribalda Date: Sun, 23 Feb 2025 18:58:08 +0000 Subject: [PATCH v3 05/12] media: atomisp: Replace queryctrl with query_ext_ctrl 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: <20250223-queryctrl-v3-5-4292911cab6b@chromium.org> References: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> In-Reply-To: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> To: Mauro Carvalho Chehab , Mike Isely , Laurent Pinchart , Hans de Goede , Sakari Ailus , Andy Shevchenko , Greg Kroah-Hartman , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Ricardo Ribalda X-Mailer: b4 0.13.0 The ioctl framework provides an emulator of queryctrl using query_ext_ctrl. Replace our implementation of queryctrl to support both. Now that we are at it: - Add comment about missing functionality. - Remove superfluous clear of reserved[0]. - Remove ret var. Signed-off-by: Ricardo Ribalda --- drivers/staging/media/atomisp/pci/atomisp_ioctl.c | 33 ++++++++++++-------= ---- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/atomisp_ioctl.c b/drivers/st= aging/media/atomisp/pci/atomisp_ioctl.c index 1a960a01854f..6b84bd8e6cf3 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_ioctl.c +++ b/drivers/staging/media/atomisp/pci/atomisp_ioctl.c @@ -34,7 +34,7 @@ static const char *CARD =3D "ATOM ISP"; /* max size 31 */ * FIXME: ISP should not know beforehand all CIDs supported by sensor. * Instead, it needs to propagate to sensor unknown CIDs. */ -static struct v4l2_queryctrl ci_v4l2_controls[] =3D { +static struct v4l2_query_ext_ctrl ci_v4l2_controls[] =3D { { .id =3D V4L2_CID_AUTO_WHITE_BALANCE, .type =3D V4L2_CTRL_TYPE_BOOLEAN, @@ -1140,31 +1140,34 @@ static int atomisp_s_ctrl(struct file *file, void *= fh, =20 /* * To query the attributes of a control. - * applications set the id field of a struct v4l2_queryctrl and call the + * applications set the id field of a struct v4l2_query_ext_ctrl and call = the * this ioctl with a pointer to this structure. The driver fills * the rest of the structure. */ -static int atomisp_queryctl(struct file *file, void *fh, - struct v4l2_queryctrl *qc) +static int atomisp_query_ext_ctrl(struct file *file, void *fh, + struct v4l2_query_ext_ctrl *qc) { - int i, ret =3D -EINVAL; + int i; =20 + /* TODO: implement V4L2_CTRL_FLAG_NEXT_CTRL */ if (qc->id & V4L2_CTRL_FLAG_NEXT_CTRL) - return ret; + return -EINVAL; =20 for (i =3D 0; i < ctrls_num; i++) { if (ci_v4l2_controls[i].id =3D=3D qc->id) { - memcpy(qc, &ci_v4l2_controls[i], - sizeof(struct v4l2_queryctrl)); - qc->reserved[0] =3D 0; - ret =3D 0; - break; + *qc =3D ci_v4l2_controls[i]; + qc->elems =3D 1; + qc->elem_size =3D 4; + return 0; } } - if (ret !=3D 0) - qc->flags =3D V4L2_CTRL_FLAG_DISABLED; =20 - return ret; + /* + * This is probably not needed, but this flag has been set for + * many kernel versions. Leave it to avoid breaking any apps. + */ + qc->flags =3D V4L2_CTRL_FLAG_DISABLED; + return -EINVAL; } =20 static int atomisp_camera_g_ext_ctrls(struct file *file, void *fh, @@ -1561,7 +1564,7 @@ const struct v4l2_ioctl_ops atomisp_ioctl_ops =3D { .vidioc_enum_input =3D atomisp_enum_input, .vidioc_g_input =3D atomisp_g_input, .vidioc_s_input =3D atomisp_s_input, - .vidioc_queryctrl =3D atomisp_queryctl, + .vidioc_query_ext_ctrl =3D atomisp_query_ext_ctrl, .vidioc_s_ctrl =3D atomisp_s_ctrl, .vidioc_g_ctrl =3D atomisp_g_ctrl, .vidioc_s_ext_ctrls =3D atomisp_s_ext_ctrls, --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Nov 18 03:31:03 2025 Received: from mail-qk1-f180.google.com (mail-qk1-f180.google.com [209.85.222.180]) (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 EA78820D519 for ; Sun, 23 Feb 2025 18:59:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337176; cv=none; b=S6KbgtYjaRJN3AM+nfWFEdsnJ82drLe7JGWOobmnwrVDACIdUmB6C/SQWwu2mdu4vKtEdTcHw00dY2/fJ/XT1hhpC1KTlwRx24WF7HoxxBJuvsZd8C/qU1nSWj/r7nHzzxLIOLTVN4abKQ09hqln/HnpXUB5S2kLfYuwIZz/liM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337176; c=relaxed/simple; bh=lWWjDY2I/8kPY7a6V4ZbdxW4J2FNahz8aBfrPuD04k4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FjZoFOSc1vjT4xZi2a2WRSR/P+zfB2Sh+Hx+UQj5CSqJpFVnF3VSvo0jpfRa6WEPzm4kqPBSzR4Qhsn1/udfEphh6gwxZVNaGnV/rGKuNP0uFBLUr5F/yeF/X4EdfRNmBOl31yCLWJpQ7j2DDKQqBVzMf8kHI/ZLoQSv1xXt7KE= 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=cK1JYMk0; arc=none smtp.client-ip=209.85.222.180 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="cK1JYMk0" Received: by mail-qk1-f180.google.com with SMTP id af79cd13be357-7c0ac2f439eso404862785a.0 for ; Sun, 23 Feb 2025 10:59:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740337174; x=1740941974; 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=Y9BY7E7vHC4YHTi+FAvg+DDleZXfy5R/P4AUAZGGpCU=; b=cK1JYMk09PrJTEtONWSosnmUSUqqpTW3w+tbk+yuC+1yYsFMJWb5dzRieytzUuuwwN wa1YdS081INLyZyycrT021sjmFP6VhYgt3qbLg6XtQLYcui0iigtEqZH36KCvHU0dDRr xz8kZPcP7O2RXprL910DlSg7K9MN+VYUptPE4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740337174; x=1740941974; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Y9BY7E7vHC4YHTi+FAvg+DDleZXfy5R/P4AUAZGGpCU=; b=H42prqttVBI8a4JLZqKPkdQVXufMUKCoi42yO7Lp4w433Ont5VweXtYed8Dq+eft95 ToNTGDqcCq6krz7BLSq2B7tF/mInoY9la6d24reh9wtDWuhTJUkLzYkTSyOOsM7m/qMf wY0ME5+Csmrvq/Z/q6U+BJj2jFzAbLKfrTO0BPD0tWFOxaum1ZecgIPqV6GwRSrrue0p M3zJHwYcMkLOqeXhE2EZ9QIBfCu7UaTbVEMNDtagJkHiQkUs1z6n6rOXH1VLiA5jZBe+ Tmbx4M3WsM4XtVVSumhABpFC8wZLt/yXEGgbaw/+AQcTInvXvIAS4BzWUvsboiuYO8Z6 m8hg== X-Forwarded-Encrypted: i=1; AJvYcCXEvCkmnQlfNbE1J8okzMHjG1IoANEKt8GV1Od4jedT4sMVrVicvIcJzdkAd06+3YuDkn9TKJsxt9aac6k=@vger.kernel.org X-Gm-Message-State: AOJu0YwsO6+PUVMI4eiL/zOaDOpEIlP4C1O4VSMGa+79mJr78nzjyMbR dkKzry3P+3yzkfrUzmw5fktY6Y1LdAqGoWBMaraSWtN2MMwo1DojJ9Z5AGZkRA== X-Gm-Gg: ASbGncv98hhcrDt69z+buIa9swsQhQ/YZ+4FfkeTFxYLbQF40kEJHQqPEjxH4y38HrR pCZMSmTah2H3f3T3N7BF81p217BMWP5zEPalmK0Q4hVj98lViJTeno/zpNdKjpzbNR6cZql5iOC Mt5mt35gDSCNfL73UiT898TOa7iHUaOtChlQsc1gxx+hsQpJuCyW27+k5Q7AXVs3tRykhKxX13F HwP02hcOjWo66y3qcMTcg/p2qUZwueka5jLsyAu7/54I5H7U0EtDY3l2u9jGX6xJcg5ZALxkakU bkIXc0B6Nd5A/bnv/iGkzBkrM4VH59yMGFa65ICsAaiIF4Fy3GeF7aId9rt7vRaIKybt6L+Rzxk FjDA= X-Google-Smtp-Source: AGHT+IG41KzlGhpkWHI86/yfKt+dY9ha4b9ql5LXo9JQXG1jbyYnUpn/M+Qt6Q5FogdDhwrNVGX+Bg== X-Received: by 2002:a05:620a:44c6:b0:7c0:c2d7:5f2d with SMTP id af79cd13be357-7c0cef0e576mr1229924085a.28.1740337173910; Sun, 23 Feb 2025 10:59:33 -0800 (PST) Received: from denia.c.googlers.com (15.237.245.35.bc.googleusercontent.com. [35.245.237.15]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c09bf81253sm894052885a.47.2025.02.23.10.59.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 10:59:32 -0800 (PST) From: Ricardo Ribalda Date: Sun, 23 Feb 2025 18:58:09 +0000 Subject: [PATCH v3 06/12] media: atomisp: Remove vidioc_g/s callback 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: <20250223-queryctrl-v3-6-4292911cab6b@chromium.org> References: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> In-Reply-To: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> To: Mauro Carvalho Chehab , Mike Isely , Laurent Pinchart , Hans de Goede , Sakari Ailus , Andy Shevchenko , Greg Kroah-Hartman , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Ricardo Ribalda X-Mailer: b4 0.13.0 The v4l2 ioctl framework can implement vidioc_g/s_ctrl with vidioc_g/s_ext_ctrl() and we provide those. These are the last references of vidioc_s/g_ctrl in the codebase. We can attempt to remove them now. Signed-off-by: Ricardo Ribalda --- drivers/staging/media/atomisp/pci/atomisp_ioctl.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/atomisp_ioctl.c b/drivers/st= aging/media/atomisp/pci/atomisp_ioctl.c index 6b84bd8e6cf3..1fb2ba819de3 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_ioctl.c +++ b/drivers/staging/media/atomisp/pci/atomisp_ioctl.c @@ -1565,8 +1565,6 @@ const struct v4l2_ioctl_ops atomisp_ioctl_ops =3D { .vidioc_g_input =3D atomisp_g_input, .vidioc_s_input =3D atomisp_s_input, .vidioc_query_ext_ctrl =3D atomisp_query_ext_ctrl, - .vidioc_s_ctrl =3D atomisp_s_ctrl, - .vidioc_g_ctrl =3D atomisp_g_ctrl, .vidioc_s_ext_ctrls =3D atomisp_s_ext_ctrls, .vidioc_g_ext_ctrls =3D atomisp_g_ext_ctrls, .vidioc_enum_framesizes =3D atomisp_enum_framesizes, --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Nov 18 03:31:03 2025 Received: from mail-qk1-f179.google.com (mail-qk1-f179.google.com [209.85.222.179]) (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 5DF7820E011 for ; Sun, 23 Feb 2025 18:59:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337178; cv=none; b=FtFn3Wjo2D3C+E5/WHkP/uNSdjQ8bhvBoJAiE7pf8TRG1AH6UOgNjYJwHiHv60Z7oJj60uqWmyL7y75ay6zY8Mqlxnnc5+B0JgLr3OdAwCUPKepOGN4EjKjhj7tejA5eZv10svjEQjkHirEv9vpmrhEjika1T8GNBCgtbesgYgM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337178; c=relaxed/simple; bh=6eScQ+yILkmrR5/v9Ls6gwtXx6JH8fWeq4Wm72IvMxc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=L4uNnRl9HzoBL7ons/+yjppVJcCB7e9ONRy4zsxmDLn2CvFkTLput17Yc5Hd4AWBu2MBRvSTLHvmuSXMKHsjYh4768whToFB0CpP2Vh7liteWk5oTf+6p9IunjN1n+Z5rYji9deK3mu9109815RohV2KqYm5NUXsR6v0T3VJ4UI= 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=eS7BxmcT; arc=none smtp.client-ip=209.85.222.179 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="eS7BxmcT" Received: by mail-qk1-f179.google.com with SMTP id af79cd13be357-7c0b9f35dc7so533694685a.2 for ; Sun, 23 Feb 2025 10:59:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740337176; x=1740941976; 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=XqSkdPwdXz1L9xwrOG1KS2QGCidHxC0xW5jcZHcDLmY=; b=eS7BxmcT7MFxFMy8QvB0dLbA0M9nZZCgk6zYXvcIuqS4SFmqv8J5WdQMnJiX2FuJoQ sP4UewsEdToJcHo0mpLMZ0/VlObfb5sxbvECEoBczm0vM7aWFp7xyJvkkQq2YSHLZnV2 3T+7/spu4St5ZStxQTaD6Gwp9cmVRkFUtP+hU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740337176; x=1740941976; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XqSkdPwdXz1L9xwrOG1KS2QGCidHxC0xW5jcZHcDLmY=; b=W23s9MXtQ5KhxFcDzNO7rpgLrSepp2J1nWxuByKfVzideVqBNnXvxsmxI3IGVoYuB0 lnjw1OlCpHtA5JaW7ET/XkQEs1mBcGYEUUk8JhtPnf/g+33WjzaLFzj+NnNPKRAYojqO RlAFE1NunhJADRoseAo1LlFSvDnVhhn9C5rYFvWvltpZh/yixgaYoR4jCoH6LFwSgyg6 rArNgT7qLivO14Qd3//K1PRfPkVTqGloUEYNCFnOEkiBIlVb3VGb50MzEbYZCsQwhkI+ QnNs8Aj7hrRXA5wHmZqVn7X7h8DliYf8U30K7YvmJYX/h7pVAGNuM96PqgzLLJovEvkx ik3Q== X-Forwarded-Encrypted: i=1; AJvYcCXFjoQ1ATqrTQYgopkghP2mFuVzYBKi9wbMiTpt+0cXPpXqDTKKR3yU+BYfE9EhZnfI/QRxQFSHdjMz45Q=@vger.kernel.org X-Gm-Message-State: AOJu0YxOaMKXGmHCHGHEk/V8PZJPAaBGujF7KJoJFcP1G3g8w2Yed5Fk FJes081DS6iEsBOKkzSeHvurWr5IcWZYvOQ4l0B1gzhwvl1Y24FnbUqkFjXIXA== X-Gm-Gg: ASbGncuGTViTPAzz2a7k+Vw2Ygxqy5/Vacn+UoQDQJ5HtbX8SgUbwEiC+XMjn2RCLgU q/T9F1Bh7TUGpHzGHSkhuTpwNigwkon03FGGt/TC/AWaxX8I1XkBonRebuqxH+8n6Tli9y1ByoW 93AbctlJmI33swFxe0/gOclhoKdiqCppQNV2FfITCXaTQMMK3O3IaHsHb8C/4nxX4Rrs6SDGKkQ rIH1vnifpf/e/p2B3PA5qT+1au0fxX/dIInKxlcYMd12TNj9Z6yqHurPQpMRz19wIKDnem55eRQ pOA1nIiSO9JQcE2juqW2vrQyMDMgy/PklAMNCjmrBI8Iad418m9z6l7+SroqeMxCTXzTcuqoJJf 1ADw= X-Google-Smtp-Source: AGHT+IFnnjBZgIrWZHVi+Chtu9HWxFVqKZWb2RhLpbJR73isjU+nhyv6klkh0PJNTJcvUMHxLxjZcQ== X-Received: by 2002:a05:620a:2b97:b0:7c0:874f:c87 with SMTP id af79cd13be357-7c0cef6475dmr1731625685a.35.1740337176294; Sun, 23 Feb 2025 10:59:36 -0800 (PST) Received: from denia.c.googlers.com (15.237.245.35.bc.googleusercontent.com. [35.245.237.15]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c09bf81253sm894052885a.47.2025.02.23.10.59.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 10:59:34 -0800 (PST) From: Ricardo Ribalda Date: Sun, 23 Feb 2025 18:58:10 +0000 Subject: [PATCH v3 07/12] media: v4l2: Remove vidioc_queryctrl callback 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: <20250223-queryctrl-v3-7-4292911cab6b@chromium.org> References: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> In-Reply-To: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> To: Mauro Carvalho Chehab , Mike Isely , Laurent Pinchart , Hans de Goede , Sakari Ailus , Andy Shevchenko , Greg Kroah-Hartman , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Ricardo Ribalda X-Mailer: b4 0.13.0 All the drivers either use the control framework or provide a vidioc_query_ext_ctrl. We can remove this callback to reduce the temptation of new drivers to implement it. Signed-off-by: Ricardo Ribalda --- drivers/media/v4l2-core/v4l2-dev.c | 3 +-- drivers/media/v4l2-core/v4l2-ioctl.c | 2 -- include/media/v4l2-ioctl.h | 4 ---- 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v= 4l2-dev.c index 252308a67fa8..5267a0686400 100644 --- a/drivers/media/v4l2-core/v4l2-dev.c +++ b/drivers/media/v4l2-core/v4l2-dev.c @@ -572,8 +572,7 @@ static void determine_valid_ioctls(struct video_device = *vdev) and that can't be tested here. If the bit for these control ioctls is set, then the ioctl is valid. But if it is 0, then it can still be valid if the filehandle passed the control handler. */ - if (vdev->ctrl_handler || ops->vidioc_queryctrl || - ops->vidioc_query_ext_ctrl) + if (vdev->ctrl_handler || ops->vidioc_query_ext_ctrl) __set_bit(_IOC_NR(VIDIOC_QUERYCTRL), valid_ioctls); if (vdev->ctrl_handler || ops->vidioc_query_ext_ctrl) __set_bit(_IOC_NR(VIDIOC_QUERY_EXT_CTRL), valid_ioctls); diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core= /v4l2-ioctl.c index deed2b44ee18..48ddeb01e70a 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c @@ -2294,8 +2294,6 @@ static int v4l_queryctrl(const struct v4l2_ioctl_ops = *ops, return v4l2_queryctrl(vfh->ctrl_handler, p); if (vfd->ctrl_handler) return v4l2_queryctrl(vfd->ctrl_handler, p); - if (ops->vidioc_queryctrl) - return ops->vidioc_queryctrl(file, fh, p); if (!ops->vidioc_query_ext_ctrl) return -ENOTTY; =20 diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h index bdbb7e542321..013996c33a9e 100644 --- a/include/media/v4l2-ioctl.h +++ b/include/media/v4l2-ioctl.h @@ -193,8 +193,6 @@ struct v4l2_fh; * :ref:`VIDIOC_G_OUTPUT ` ioctl * @vidioc_s_output: pointer to the function that implements * :ref:`VIDIOC_S_OUTPUT ` ioctl - * @vidioc_queryctrl: pointer to the function that implements - * :ref:`VIDIOC_QUERYCTRL ` ioctl * @vidioc_query_ext_ctrl: pointer to the function that implements * :ref:`VIDIOC_QUERY_EXT_CTRL ` ioctl * @vidioc_g_ctrl: pointer to the function that implements @@ -461,8 +459,6 @@ struct v4l2_ioctl_ops { int (*vidioc_s_output)(struct file *file, void *fh, unsigned int i); =20 /* Control handling */ - int (*vidioc_queryctrl)(struct file *file, void *fh, - struct v4l2_queryctrl *a); int (*vidioc_query_ext_ctrl)(struct file *file, void *fh, struct v4l2_query_ext_ctrl *a); int (*vidioc_g_ctrl)(struct file *file, void *fh, --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Nov 18 03:31:03 2025 Received: from mail-qt1-f180.google.com (mail-qt1-f180.google.com [209.85.160.180]) (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 526A420E037 for ; Sun, 23 Feb 2025 18:59:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337179; cv=none; b=SQ0lwj8ze8CN6UKa35+EetngqZ9iZMnbMtvickJbZklfKKc3e8JCSek+baUetb80aG8vf1HHkpVGUEjqFdFUztbjBlJ0dPjoUGxCwewFyCwDCZO4jUQ7tIWgRqW9p0JICwu/XHxThoJ+44A5VTd6ECRqQtxQ64JCKa2m7qaiu8s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337179; c=relaxed/simple; bh=xXpFiA/NyUpbzOvlTbdhsbIOHNibM6ftIRafynCnP+E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=neGfMMRM/4T3Fk8K/qysqWGaM8I+0xhU2+T6GPkLkGWEJKvzPiRIGeNQ3qoVb6hUBjq0/uPUd1wTk2Lwg6I3ilpl9qBf9aGuMZTwNZFO5u9MPOkF8YiHvgp5kLlioe4LbxIjdMk+htprsnlkWpXPBpJMippVwoNWrxGrrr0WkCU= 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=L1bQxXoL; arc=none smtp.client-ip=209.85.160.180 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="L1bQxXoL" Received: by mail-qt1-f180.google.com with SMTP id d75a77b69052e-471f2e1bea9so37231321cf.2 for ; Sun, 23 Feb 2025 10:59:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740337177; x=1740941977; 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=/iyWdZqEotC84XlO1OAQy2WGSlw/iOHY1m4U05QqJMk=; b=L1bQxXoLt2OtRdRHXyaQPEmo2MINA6Zg9ZFb3/iKlX9xOfCpAh/23q/FU/ZTMwtylx LOQ4G1n3csGuaqvZJ+qXylJezC8oG9eZsDigh+nnhgX4tMzL8KuPuC+K9sZzb6Jx3DBB 3uZn/idSkZ/5Q7Qzq/Hkf92p8S1rudjutMxfw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740337177; x=1740941977; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/iyWdZqEotC84XlO1OAQy2WGSlw/iOHY1m4U05QqJMk=; b=d6VsDB2eBIFXKS8ASMyUxkx/EPFAwSByUT2885U7h5MR3c11vtsp//yqkiKHzIFl3O 30U2fkt5gBOnjSy8Q9N7Q6zRnK0XQ97sNnzEzY2w5zIa0YIHJxLyG/SLP6hE0m2iem8c KWNAZRdLCI0u2n5lYWQSmZrTmhONLHGJ5We6s9eSgFhiz3j/I6eKEdPjwI0DMQrtgitB PULs7F4fdgZvWEgeNRxZeLaP60qxSuqu4f5q6ubwvBzYaDZeGFKa03T/w/CJfsBBLsrk k0a+nHQ+/yl4pMaSsYNeUvkH6qEyhr4aCge1RQVdn8q5xkMe07r2oLoWcI4FCGoF4Ad2 DJBw== X-Forwarded-Encrypted: i=1; AJvYcCUu+njTrxI3tigxuFiFvAYP+biAGVdIsh69IPdtaLuOAywMStH+RUJxIv37krWyMsMli+A5+CzT+BSPXis=@vger.kernel.org X-Gm-Message-State: AOJu0YxQ1UTWDdgT38DyvgWwHZPxXRqxD00/p2Wp2z5ikRLbGcIdfCI5 HG8do/+jjl09cDZJt8ADx9FN90XDAdy/A+ij3c4sCItcCf/uk7LMgjwLthIusw== X-Gm-Gg: ASbGncvItTNShX+yTCbxK18DzW5W8BouV5oYzQIhqw3Bc7dCWbUqQoDa9y8AX4mAM3H UH9LSFCKd5M3xtYjCt8b1p8Jv40Pg9SxuTW1IBt8EUz3ZEcGGqACL/ceyKWzhAOU0ZqFSFwzBJt OEd0I07B4w4F3S86bQ+BHrMXF5OWYeNtaeGDxF/qDFpaBzlZsMxBVl5mIZWFHGuhaTxlIOR/HNa uSSlgdbLjuxKU5V8QVFK7RrcfuAMEcRkxNKecOFn4y0eEX/R2ApMs6GaeRKM0IH6E6CksF6FgHc z/uXhjOkEXCxx8MiBZ9HG8UqKW+yT01cWuZfINnJONHMF4LPXKBrtOVcMTiXr26O+4ih7ztw1hc LI8Q= X-Google-Smtp-Source: AGHT+IFmA5F6ZvDlLt6gf9is1F56bMr6yT4/exI4Bz1fcJqcD+qyUMAxAufOoGLCX4weML9wR0ltAg== X-Received: by 2002:a05:6214:daf:b0:6e4:4331:aad9 with SMTP id 6a1803df08f44-6e6ae7c96e2mr137768826d6.2.1740337177325; Sun, 23 Feb 2025 10:59:37 -0800 (PST) Received: from denia.c.googlers.com (15.237.245.35.bc.googleusercontent.com. [35.245.237.15]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c09bf81253sm894052885a.47.2025.02.23.10.59.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 10:59:36 -0800 (PST) From: Ricardo Ribalda Date: Sun, 23 Feb 2025 18:58:11 +0000 Subject: [PATCH v3 08/12] media: v4l2: Remove vidioc_g_ctrl callback 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: <20250223-queryctrl-v3-8-4292911cab6b@chromium.org> References: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> In-Reply-To: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> To: Mauro Carvalho Chehab , Mike Isely , Laurent Pinchart , Hans de Goede , Sakari Ailus , Andy Shevchenko , Greg Kroah-Hartman , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Ricardo Ribalda X-Mailer: b4 0.13.0 All the drivers either use the control framework or provide a vidioc_g_ext_ctrls callback. We can remove this callback. Thanks for your service! Signed-off-by: Ricardo Ribalda --- drivers/media/v4l2-core/v4l2-dev.c | 2 +- drivers/media/v4l2-core/v4l2-ioctl.c | 2 -- include/media/v4l2-ioctl.h | 4 ---- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v= 4l2-dev.c index 5267a0686400..068ee67cd574 100644 --- a/drivers/media/v4l2-core/v4l2-dev.c +++ b/drivers/media/v4l2-core/v4l2-dev.c @@ -576,7 +576,7 @@ static void determine_valid_ioctls(struct video_device = *vdev) __set_bit(_IOC_NR(VIDIOC_QUERYCTRL), valid_ioctls); if (vdev->ctrl_handler || ops->vidioc_query_ext_ctrl) __set_bit(_IOC_NR(VIDIOC_QUERY_EXT_CTRL), valid_ioctls); - if (vdev->ctrl_handler || ops->vidioc_g_ctrl || ops->vidioc_g_ext_ctrls) + if (vdev->ctrl_handler || ops->vidioc_g_ext_ctrls) __set_bit(_IOC_NR(VIDIOC_G_CTRL), valid_ioctls); if (vdev->ctrl_handler || ops->vidioc_s_ctrl || ops->vidioc_s_ext_ctrls) __set_bit(_IOC_NR(VIDIOC_S_CTRL), valid_ioctls); diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core= /v4l2-ioctl.c index 48ddeb01e70a..d6af0ab0d7ea 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c @@ -2378,8 +2378,6 @@ static int v4l_g_ctrl(const struct v4l2_ioctl_ops *op= s, return v4l2_g_ctrl(vfh->ctrl_handler, p); if (vfd->ctrl_handler) return v4l2_g_ctrl(vfd->ctrl_handler, p); - if (ops->vidioc_g_ctrl) - return ops->vidioc_g_ctrl(file, fh, p); if (ops->vidioc_g_ext_ctrls =3D=3D NULL) return -ENOTTY; =20 diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h index 013996c33a9e..4d69128023f8 100644 --- a/include/media/v4l2-ioctl.h +++ b/include/media/v4l2-ioctl.h @@ -195,8 +195,6 @@ struct v4l2_fh; * :ref:`VIDIOC_S_OUTPUT ` ioctl * @vidioc_query_ext_ctrl: pointer to the function that implements * :ref:`VIDIOC_QUERY_EXT_CTRL ` ioctl - * @vidioc_g_ctrl: pointer to the function that implements - * :ref:`VIDIOC_G_CTRL ` ioctl * @vidioc_s_ctrl: pointer to the function that implements * :ref:`VIDIOC_S_CTRL ` ioctl * @vidioc_g_ext_ctrls: pointer to the function that implements @@ -461,8 +459,6 @@ struct v4l2_ioctl_ops { /* Control handling */ int (*vidioc_query_ext_ctrl)(struct file *file, void *fh, struct v4l2_query_ext_ctrl *a); - int (*vidioc_g_ctrl)(struct file *file, void *fh, - struct v4l2_control *a); int (*vidioc_s_ctrl)(struct file *file, void *fh, struct v4l2_control *a); int (*vidioc_g_ext_ctrls)(struct file *file, void *fh, --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Nov 18 03:31:03 2025 Received: from mail-qv1-f50.google.com (mail-qv1-f50.google.com [209.85.219.50]) (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 C02D420E70B for ; Sun, 23 Feb 2025 18:59:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337182; cv=none; b=BtwKZ+EwRH2enoEKOm/gFpYXChBVv6NM7Zrr7p7Czqgg2x1Z/sBg64sYK/OXD8TjlW0hj+IhCUcJ6d7cYROdLdlvlMCTMiDull9B/nHZlzUvm2frKH6c9yAQr9OERUjcKn/81R2oUx88wiBlcTwaGtpnTHh/49PIj4NCQFG8xsI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337182; c=relaxed/simple; bh=WmADWSvj6uAUkvJFbyL8wOMewg1Hx0JsVjiP96waOB8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=T5AUmYqapv61y4CPBhBXTrs75ZSZCr+hyWBgk63sF5mNiqo8M3sPLrwddyDGGuvF2Xd6IjLxLn0iIC7cpBEYHeXIURaRM7jK2o4edozyDKUZQD5qHnz1l9ieHKuqpJfBYdiEjt+MyztlRlr7pUxqZN0Np45r2A59qcEUi5IMViU= 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=dgLzfCTp; arc=none smtp.client-ip=209.85.219.50 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="dgLzfCTp" Received: by mail-qv1-f50.google.com with SMTP id 6a1803df08f44-6e65a00556aso30767266d6.3 for ; Sun, 23 Feb 2025 10:59:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740337179; x=1740941979; 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=LmMOjl+qwMNw0jD9DMRg4cojYEKleYPWUi1Y0A1e5HY=; b=dgLzfCTp/tGPFgPBuj1CO3pFLDfvWufi/QuUvGB6WXD2w+85I3hrs7zpVnmec87Fys TChxW1X1zO6qF0494NhlKMRG1DxsyHEKfeZAcahIr81p41i9BR+jbwh2kzEUD3A5a97j iGySdlCCdgpjTWTmSWSCiH6XVvz5i4f+5QMr0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740337179; x=1740941979; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LmMOjl+qwMNw0jD9DMRg4cojYEKleYPWUi1Y0A1e5HY=; b=ggKrPJ19poeAu65v1M4UAC8EsO8xf64RX8yIJNinpUcZYhfWrCo0bqXXqHb/wZzesV FTLo3A2fp0PqcH/E0/+Od4SH5XvXCZtr/TNLWwfjFeMy0Y4iuhBApn/lOiUWYASF7DKP vAF6KLicF0Hme/hjViPpkJSe7z/pcROHkT/qM2XYy6uUVOsCZ9fbboTVEOylhlTFG9Qp tSsUlYXG7J+tDKgQiYmlSlg4O7Utdkn/9C7eSDEZTv8yb548JtQrnVXsTxkgxlpP75Qf 6jeJ+/wmSeq00kQjpIim80Vyl7dINz+gWUkOh4TaC+q1qZAw1Ol+0zepLS/kWy/p9biv a7MQ== X-Forwarded-Encrypted: i=1; AJvYcCUnZw4fwrnaQOhX5aqijbe7DJwD/NEpNdkLhIotx1QlfabRhw7dYcElMyHtsL8x131VpQ0lf03hVBwT43M=@vger.kernel.org X-Gm-Message-State: AOJu0Yyfngyq0gqR9qehI5zRDjzJd0FqOOcWtI7nYHglSlKES/bHQ7Sy jjZHvY3Skl9MczBPXWO7rrNzRgvKm2Wf/iGQ6auAovZ+KOpdjHxjS7+veJT60w== X-Gm-Gg: ASbGncunv+trMmkLq9n8tqU9WYa4j4ALxUi+6nUrYbc6MJ4Jk76YMPU5xYXBZflzhym tNZb6pkDjv/g6UTEsHIqD3EDGUFgslh92Xmo3Zn3Xa7eLImRXddbnyGl8gm1WERCMrRpodLHwvc 9mmDkxOhbcc+8Boq+diyq65tRw8Clo55Q7L6D5vJ+teFnU+MeHk2xw4Eiindm7i7cxc+pbUOUbr oP7ECg0oaPXERdnjjU6llTM+6y7obV3+Wky5GExJXEWMyP57rHnRw3+9wv5XF5Cjp21660DcGNu mvEboM6GGlg0viqwTY1urozWJVvGZeYvy21IAtQbpTvnxgHcXKSmoudljpc5XiobgomQjnQuh2w V2nU= X-Google-Smtp-Source: AGHT+IG0N8p+jyjmOv+jFoMONGfZHngVMJ2/L46r6qBftBaVoQxFvMRvuW+hkaPMPsXXZun2oIuYDA== X-Received: by 2002:a05:6214:d4e:b0:6e4:2e00:ddc1 with SMTP id 6a1803df08f44-6e6ae9ffd75mr145374826d6.40.1740337179698; Sun, 23 Feb 2025 10:59:39 -0800 (PST) Received: from denia.c.googlers.com (15.237.245.35.bc.googleusercontent.com. [35.245.237.15]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c09bf81253sm894052885a.47.2025.02.23.10.59.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 10:59:38 -0800 (PST) From: Ricardo Ribalda Date: Sun, 23 Feb 2025 18:58:12 +0000 Subject: [PATCH v3 09/12] media: cx231xx: Remove vidioc_s_ctrl callback 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: <20250223-queryctrl-v3-9-4292911cab6b@chromium.org> References: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> In-Reply-To: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> To: Mauro Carvalho Chehab , Mike Isely , Laurent Pinchart , Hans de Goede , Sakari Ailus , Andy Shevchenko , Greg Kroah-Hartman , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Ricardo Ribalda X-Mailer: b4 0.13.0 The driver has been converted to the control framework in the past: commit 88b6ffedd901 ("[media] cx231xx-417: convert to the control framework"). This function is never called, the core will only use the control framework instead. Signed-off-by: Ricardo Ribalda Tested-by: Hans Verkuil --- drivers/media/usb/cx231xx/cx231xx-417.c | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/drivers/media/usb/cx231xx/cx231xx-417.c b/drivers/media/usb/cx= 231xx/cx231xx-417.c index a4a9781328c5..5a4b0f96cca2 100644 --- a/drivers/media/usb/cx231xx/cx231xx-417.c +++ b/drivers/media/usb/cx231xx/cx231xx-417.c @@ -1538,20 +1538,6 @@ static int vidioc_s_std(struct file *file, void *pri= v, v4l2_std_id id) return 0; } =20 -static int vidioc_s_ctrl(struct file *file, void *priv, - struct v4l2_control *ctl) -{ - struct cx231xx *dev =3D video_drvdata(file); - struct v4l2_subdev *sd; - - dprintk(3, "enter vidioc_s_ctrl()\n"); - /* Update the A/V core */ - v4l2_device_for_each_subdev(sd, &dev->v4l2_dev) - v4l2_s_ctrl(NULL, sd->ctrl_handler, ctl); - dprintk(3, "exit vidioc_s_ctrl()\n"); - return 0; -} - static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, struct v4l2_fmtdesc *f) { @@ -1627,7 +1613,6 @@ static const struct v4l2_ioctl_ops mpeg_ioctl_ops =3D= { .vidioc_enum_input =3D cx231xx_enum_input, .vidioc_g_input =3D cx231xx_g_input, .vidioc_s_input =3D cx231xx_s_input, - .vidioc_s_ctrl =3D vidioc_s_ctrl, .vidioc_g_pixelaspect =3D vidioc_g_pixelaspect, .vidioc_g_selection =3D vidioc_g_selection, .vidioc_querycap =3D cx231xx_querycap, --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Nov 18 03:31:03 2025 Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) (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 0E0CD1991DB for ; Sun, 23 Feb 2025 18:59:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337184; cv=none; b=ceus/DrhOWJpyMJ/qhh/Qxv46Ub2P5zC9ln9EJN5Vvj0QSNKkjXq755JPjfC5y9tgSTna/h7J8s8VknRoLlqUx4XZA1fJeuoDRWXqEgJKP8cx8qH1kDIo8DtNBDbWZqgPfvGuflVKe+xqtPKrFwBkZD+4bhk0lC1MeSaJI/B7DM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337184; c=relaxed/simple; bh=R+jYJua/JoNmJtSkvaDUD0DjudTsHKGGp3KP+h8MO+8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=s5z7p9yd+57aylAoiO1WOtStPtCpRjFvNX2EdmpHxStcS9aVESW6CdGyroBYCXGK7aCnxwerioX8Tx2R5dqzafE7fd/Iw7GucE59XPqefm90O25nTDGIPLYy3G8xry1ZKeVYIaghZP3rBqY8F6XN6Kce4pqYxe/i1ySIVFHkJ+A= 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=oVcWpjyj; arc=none smtp.client-ip=209.85.222.177 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="oVcWpjyj" Received: by mail-qk1-f177.google.com with SMTP id af79cd13be357-7c0ade6036aso474947985a.0 for ; Sun, 23 Feb 2025 10:59:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740337182; x=1740941982; 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=FTHD0WBrVxKMoHAJFWLjBpuZYRSXtcELoY8iTxveD40=; b=oVcWpjyjRoujNzYd/fWacYd9WSR4WUuEELJXzBAkBGTi6lx/H2Nhd9H4lbYV/KPTBp bnEDUt5tmpD/x42YXopOIIRULNqYyR2pe7oPtGdMpzZrNn7FvRwQnPkvb6VTc/BWkeRz nbjmTD4Ge29zWLroV35B7CPSA62jOlvjuW6ok= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740337182; x=1740941982; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FTHD0WBrVxKMoHAJFWLjBpuZYRSXtcELoY8iTxveD40=; b=DWieiCh8Wt5DzSu9aFS4rahQ0gYuJymUrTHfcr+qWn9qcdWAWXOegBW08+tZXLKhSa Eyo/JOx1fzepMvy1+DKyX6BB6ONYi3hrjv2/w2+qRj1YxSQBLrSIuTTFQDuch+hblLri kHOalonKo29T3nPoHKBwc0+zXcrxw+414olxDawFEMq762z7oXPajvcpXFsRajdakg6/ BIVOGAnrAkNwWVLLsZ6dZnmYdZbu/DW/AeGz2TmL7MUmGZxVelyCOMl4O5ghVAhzHKb3 CmORyNkUabmqPF/QKkEKa3VRKKIHoo1nGm0lYmYNImu2XUpfOwJJucNEWo03Y1zQBLTB 8LSA== X-Forwarded-Encrypted: i=1; AJvYcCW9dgYFXXwslwwiQ/US4yakrgbXI9z7lQ/vEYtvEjOuAaGG9vC4MXxRPW8CdcC/ImuGQkVfsZVoMAv0HDk=@vger.kernel.org X-Gm-Message-State: AOJu0Yy4VwZLK9BEG2l27gljtnIggbkpInT+zv6BpDb3OfUcMuMRkTxY KR0QGRAg9nAvpUUgionv75x1j02bIslxZdTnjwSWwfB+qTDkdMnvYE9JqFuKqA== X-Gm-Gg: ASbGncuxwaYKQYZDnBxkBjnXWeKoc8LVcaY98uCNIEJzJXKq8EVcmVxFUo1hI9Q5mQO lIDB4wUp3IVco0n3y5+dluVH3na6QgHwEr3hR539Bwieh7fEvArjw32iHb5us3rKWl+Vi4uPAil nTaVSAiAjZ8dj0lxY/Cm9viN68ux98wtl3j3IK049R1K/7hN7ODjWp2YXLHS/b1/PfKrRD3HQ8S IgRSD8LA6vQkDjR2kx4zWtR4koFb+1zmAq37mcCHbXl22VxVNpO/KpVceAjeFRNUrc0ulDNgBQm /SUPF3Zjkxjycxi+jrD5s5kSI3KOcGDRe96QICycrJAEKKcaAWkod5AAemSqiL+nVjpdY6kxixF SZ70= X-Google-Smtp-Source: AGHT+IHMMtAKUl1nnqWjm92ELMXJMqaYYhbAnpTq7xf63u5qZkQjjXTU4L/aQ34kAl2TkpYkioCZdA== X-Received: by 2002:a05:620a:468b:b0:7b6:c324:d3a5 with SMTP id af79cd13be357-7c0c227c7demr1840363085a.19.1740337182001; Sun, 23 Feb 2025 10:59:42 -0800 (PST) Received: from denia.c.googlers.com (15.237.245.35.bc.googleusercontent.com. [35.245.237.15]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c09bf81253sm894052885a.47.2025.02.23.10.59.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 10:59:40 -0800 (PST) From: Ricardo Ribalda Date: Sun, 23 Feb 2025 18:58:13 +0000 Subject: [PATCH v3 10/12] media: v4l2: Remove vidioc_s_ctrl callback 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: <20250223-queryctrl-v3-10-4292911cab6b@chromium.org> References: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> In-Reply-To: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> To: Mauro Carvalho Chehab , Mike Isely , Laurent Pinchart , Hans de Goede , Sakari Ailus , Andy Shevchenko , Greg Kroah-Hartman , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Ricardo Ribalda X-Mailer: b4 0.13.0 All the drivers either use the control framework or provide a vidiod_ext_ctrl. We can remove this callback. Signed-off-by: Ricardo Ribalda --- drivers/media/v4l2-core/v4l2-dev.c | 2 +- drivers/media/v4l2-core/v4l2-ioctl.c | 2 -- include/media/v4l2-ioctl.h | 4 ---- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v= 4l2-dev.c index 068ee67cd574..b40c08ce909d 100644 --- a/drivers/media/v4l2-core/v4l2-dev.c +++ b/drivers/media/v4l2-core/v4l2-dev.c @@ -578,7 +578,7 @@ static void determine_valid_ioctls(struct video_device = *vdev) __set_bit(_IOC_NR(VIDIOC_QUERY_EXT_CTRL), valid_ioctls); if (vdev->ctrl_handler || ops->vidioc_g_ext_ctrls) __set_bit(_IOC_NR(VIDIOC_G_CTRL), valid_ioctls); - if (vdev->ctrl_handler || ops->vidioc_s_ctrl || ops->vidioc_s_ext_ctrls) + if (vdev->ctrl_handler || ops->vidioc_s_ext_ctrls) __set_bit(_IOC_NR(VIDIOC_S_CTRL), valid_ioctls); if (vdev->ctrl_handler || ops->vidioc_g_ext_ctrls) __set_bit(_IOC_NR(VIDIOC_G_EXT_CTRLS), valid_ioctls); diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core= /v4l2-ioctl.c index d6af0ab0d7ea..fea53b419351 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c @@ -2411,8 +2411,6 @@ static int v4l_s_ctrl(const struct v4l2_ioctl_ops *op= s, return v4l2_s_ctrl(vfh, vfh->ctrl_handler, p); if (vfd->ctrl_handler) return v4l2_s_ctrl(NULL, vfd->ctrl_handler, p); - if (ops->vidioc_s_ctrl) - return ops->vidioc_s_ctrl(file, fh, p); if (ops->vidioc_s_ext_ctrls =3D=3D NULL) return -ENOTTY; =20 diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h index 4d69128023f8..c6ec87e88dfe 100644 --- a/include/media/v4l2-ioctl.h +++ b/include/media/v4l2-ioctl.h @@ -195,8 +195,6 @@ struct v4l2_fh; * :ref:`VIDIOC_S_OUTPUT ` ioctl * @vidioc_query_ext_ctrl: pointer to the function that implements * :ref:`VIDIOC_QUERY_EXT_CTRL ` ioctl - * @vidioc_s_ctrl: pointer to the function that implements - * :ref:`VIDIOC_S_CTRL ` ioctl * @vidioc_g_ext_ctrls: pointer to the function that implements * :ref:`VIDIOC_G_EXT_CTRLS ` ioctl * @vidioc_s_ext_ctrls: pointer to the function that implements @@ -459,8 +457,6 @@ struct v4l2_ioctl_ops { /* Control handling */ int (*vidioc_query_ext_ctrl)(struct file *file, void *fh, struct v4l2_query_ext_ctrl *a); - int (*vidioc_s_ctrl)(struct file *file, void *fh, - struct v4l2_control *a); int (*vidioc_g_ext_ctrls)(struct file *file, void *fh, struct v4l2_ext_controls *a); int (*vidioc_s_ext_ctrls)(struct file *file, void *fh, --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Nov 18 03:31:03 2025 Received: from mail-qk1-f178.google.com (mail-qk1-f178.google.com [209.85.222.178]) (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 44F4D19AD93 for ; Sun, 23 Feb 2025 18:59:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337186; cv=none; b=aw3/WxCmj/2TIXoekgRfs+rWlBKfos36oduj63ebc/za10TncIk9U6Q3ELc2AMB/QPSadM0j7m6816LuLxnMh6ORvVjDYk3g8qTjIAdVDh8MJNk6JVki573+8KJnZidZX2YedNPql66JMrBM86rbS8HOgpvn586yHQc6tHGJoUs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337186; c=relaxed/simple; bh=bGURjosegTH+P+Gw5HjXH9uRa5Uc4pPh6VYCjWY0HAo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KuAxo/fThJ8jJ0O7tCMoS0UGPbGLL4xq2VyopxdJZSjyGF8hm0GFEbL+9kBudNTgGNvrmEvyI12DvmG0vccbqC9pVXpVZpVFlybXO/AIrcIo9fH51Hh5bT9rVNpZN4NPR5/5TcQo3/7r6PCHjnJUmBbiLGuuTUp49//aAeL8HWk= 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=AoF3Ah7B; arc=none smtp.client-ip=209.85.222.178 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="AoF3Ah7B" Received: by mail-qk1-f178.google.com with SMTP id af79cd13be357-7c08fc20194so677701585a.2 for ; Sun, 23 Feb 2025 10:59:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740337183; x=1740941983; 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=KXG9+uuGWmSBcxIUkNXdZws6nfJZHCT+9+MDo1/1sYc=; b=AoF3Ah7Bd0avw5HDqt/QWWl5DVcCbjnrANUvtWsmleOc11P2RE2/hmqujGDL97LzeA WOJoZpIZeX04ArP9AiSPt+PzImZdJfl7fhX5Ubn+AylnmaiofnUvPsybXl1JYr6lX86H 4nM5t9ox2Zvp7eZCNTqZtnPooYrqdVV7Qg8+Y= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740337183; x=1740941983; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KXG9+uuGWmSBcxIUkNXdZws6nfJZHCT+9+MDo1/1sYc=; b=OsadGiL8WcApLE3LUSPYJ7tYK1JJF+83NGWYWqia4OAAhUThrwh10vG5aBWW6PF6F1 KBHxDgEQ+Mu4gxpZwpPRerJvRdeGk6lkTsiVx4bcgmm2fB1/2Y8FOz9oqSPBJNI8HbWU sZ+BqLv9PJLT7BGOR6SiT28P/WnnqwTBNX5akFDHOJBKo6XhFlBf6lwTYIpcTKLvw41Z PXeMr314mX2sg0WybrwGg5b1ddKFdKf2CP5fMzz6ETqM0RBiGWASXFB8KILgWJMFFxbL +AK3qSxgtxfjK17zZ771dqtUeYDmM6I8ExKI0ZkSuiPL1JYaEz25a835KEDTtluyEluP rvJA== X-Forwarded-Encrypted: i=1; AJvYcCWLAbt7XXz8Tbp/PiJ3+KWo+voPnunuX0KLY3S/iXvtqzNkrLn8LeEjBPZ1O3se6OIK0Yl0ewL8l3c8L5E=@vger.kernel.org X-Gm-Message-State: AOJu0Yz8iaTZK5pIyq8N/jkryBRwxLxrvdCoUZNznwECrSI+xhrdtSJ7 5fwwbTx0zY1+MNM1hduMBjCuHGBqxFQXXcPfg0uQrSphgD0AwH1QrwrWqQXNZQ== X-Gm-Gg: ASbGncssEzmfHqlIYmdHGrHMIJOTWLnQdNpREoAKfDLMFJn/EJw4a5nrBm2HvGrDqhq KdSXelOySz8BhzQObC7dMrT34jvY6RRhteYbKujKDfcRl0T4EMEU6CPB9j4Y7d+C6SRlY/R2QBp otWvZEBspLM7soi9CXSCAau1eylHwy3gSN+ZzK9w5AfnM9pyuzRWYOcF/YKSAjuYVECNzkQGlw5 Nm8rvy7JwFoKJK4/DfA9Ne5uCxR8u5ubnB1FF0/BMGlkoaTZJNhKUdA6bkwjyVrjdw2EPaF/OI9 UgQccc2ViBYQ9lvvIBMjzYE60tFL57Vqgci0UWNKtTxXBz5pPjdaF9CSeFyHd2aorKeMjL9UMf2 gO/c= X-Google-Smtp-Source: AGHT+IGjHh9bP3Z1R0+XLoulszUD7WhUuuTZdPXT1kOhHNmPI8BbzEJMwqu44jAaJET9UyJKRwaG6w== X-Received: by 2002:a05:620a:450c:b0:7c0:b5bc:a122 with SMTP id af79cd13be357-7c0cef55f43mr1666469185a.35.1740337183095; Sun, 23 Feb 2025 10:59:43 -0800 (PST) Received: from denia.c.googlers.com (15.237.245.35.bc.googleusercontent.com. [35.245.237.15]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c09bf81253sm894052885a.47.2025.02.23.10.59.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 10:59:42 -0800 (PST) From: Ricardo Ribalda Date: Sun, 23 Feb 2025 18:58:14 +0000 Subject: [PATCH v3 11/12] media: v4l2-core: Introduce v4l2_query_ext_ctrl_to_v4l2_queryctrl 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: <20250223-queryctrl-v3-11-4292911cab6b@chromium.org> References: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> In-Reply-To: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> To: Mauro Carvalho Chehab , Mike Isely , Laurent Pinchart , Hans de Goede , Sakari Ailus , Andy Shevchenko , Greg Kroah-Hartman , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Ricardo Ribalda X-Mailer: b4 0.13.0 We use this logic in a couple of places. Refactor into a function. No functional change expected from this patch. Signed-off-by: Ricardo Ribalda --- drivers/media/v4l2-core/v4l2-ctrls-api.c | 51 +++++++++++++++++++---------= ---- drivers/media/v4l2-core/v4l2-ioctl.c | 28 ++---------------- include/media/v4l2-ctrls.h | 12 ++++++++ 3 files changed, 44 insertions(+), 47 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-ctrls-api.c b/drivers/media/v4l2-= core/v4l2-ctrls-api.c index 95a2202879d8..9dd2bc5893dd 100644 --- a/drivers/media/v4l2-core/v4l2-ctrls-api.c +++ b/drivers/media/v4l2-core/v4l2-ctrls-api.c @@ -1123,39 +1123,48 @@ int v4l2_query_ext_ctrl(struct v4l2_ctrl_handler *h= dl, struct v4l2_query_ext_ctr } EXPORT_SYMBOL(v4l2_query_ext_ctrl); =20 -/* Implement VIDIOC_QUERYCTRL */ -int v4l2_queryctrl(struct v4l2_ctrl_handler *hdl, struct v4l2_queryctrl *q= c) +void v4l2_query_ext_ctrl_to_v4l2_queryctrl(struct v4l2_queryctrl *to, + const struct v4l2_query_ext_ctrl *from) { - struct v4l2_query_ext_ctrl qec =3D { qc->id }; - int rc; + to->id =3D from->id; + to->type =3D from->type; + to->flags =3D from->flags; + strscpy(to->name, from->name, sizeof(to->name)); =20 - rc =3D v4l2_query_ext_ctrl(hdl, &qec); - if (rc) - return rc; - - qc->id =3D qec.id; - qc->type =3D qec.type; - qc->flags =3D qec.flags; - strscpy(qc->name, qec.name, sizeof(qc->name)); - switch (qc->type) { + switch (from->type) { case V4L2_CTRL_TYPE_INTEGER: case V4L2_CTRL_TYPE_BOOLEAN: case V4L2_CTRL_TYPE_MENU: case V4L2_CTRL_TYPE_INTEGER_MENU: case V4L2_CTRL_TYPE_STRING: case V4L2_CTRL_TYPE_BITMASK: - qc->minimum =3D qec.minimum; - qc->maximum =3D qec.maximum; - qc->step =3D qec.step; - qc->default_value =3D qec.default_value; + to->minimum =3D from->minimum; + to->maximum =3D from->maximum; + to->step =3D from->step; + to->default_value =3D from->default_value; break; default: - qc->minimum =3D 0; - qc->maximum =3D 0; - qc->step =3D 0; - qc->default_value =3D 0; + to->minimum =3D 0; + to->maximum =3D 0; + to->step =3D 0; + to->default_value =3D 0; break; } +} +EXPORT_SYMBOL(v4l2_query_ext_ctrl_to_v4l2_queryctrl); + +/* Implement VIDIOC_QUERYCTRL */ +int v4l2_queryctrl(struct v4l2_ctrl_handler *hdl, struct v4l2_queryctrl *q= c) +{ + struct v4l2_query_ext_ctrl qec =3D { qc->id }; + int rc; + + rc =3D v4l2_query_ext_ctrl(hdl, &qec); + if (rc) + return rc; + + v4l2_query_ext_ctrl_to_v4l2_queryctrl(qc, &qec); + return 0; } EXPORT_SYMBOL(v4l2_queryctrl); diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core= /v4l2-ioctl.c index fea53b419351..4e15ef4840b0 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c @@ -2302,32 +2302,8 @@ static int v4l_queryctrl(const struct v4l2_ioctl_ops= *ops, ret =3D ops->vidioc_query_ext_ctrl(file, fh, &qec); if (ret) return ret; - - p->id =3D qec.id; - p->type =3D qec.type; - p->flags =3D qec.flags; - strscpy(p->name, qec.name, sizeof(p->name)); - switch (p->type) { - case V4L2_CTRL_TYPE_INTEGER: - case V4L2_CTRL_TYPE_BOOLEAN: - case V4L2_CTRL_TYPE_MENU: - case V4L2_CTRL_TYPE_INTEGER_MENU: - case V4L2_CTRL_TYPE_STRING: - case V4L2_CTRL_TYPE_BITMASK: - p->minimum =3D qec.minimum; - p->maximum =3D qec.maximum; - p->step =3D qec.step; - p->default_value =3D qec.default_value; - break; - default: - p->minimum =3D 0; - p->maximum =3D 0; - p->step =3D 0; - p->default_value =3D 0; - break; - } - - return 0; + v4l2_query_ext_ctrl_to_v4l2_queryctrl(p, &qec); + return ret; } =20 static int v4l_query_ext_ctrl(const struct v4l2_ioctl_ops *ops, diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h index 59679a42b3e7..83b84cb5cf06 100644 --- a/include/media/v4l2-ctrls.h +++ b/include/media/v4l2-ctrls.h @@ -1404,6 +1404,18 @@ v4l2_ctrl_request_hdl_ctrl_find(struct v4l2_ctrl_han= dler *hdl, u32 id); */ int v4l2_queryctrl(struct v4l2_ctrl_handler *hdl, struct v4l2_queryctrl *q= c); =20 +/** + * v4l2_query_ext_ctrl_to_v4l2_queryctrl - Convert a qec to qe. + * + * @to: The v4l2_queryctrl to write to. + * @from: The v4l2_query_ext_ctrl to read from. + * + * This function is a helper to convert a v4l2_query_ext_ctrl into a + * v4l2_queryctrl. + */ +void v4l2_query_ext_ctrl_to_v4l2_queryctrl(struct v4l2_queryctrl *to, + const struct v4l2_query_ext_ctrl *from); + /** * v4l2_query_ext_ctrl - Helper function to implement * :ref:`VIDIOC_QUERY_EXT_CTRL ` ioctl --=20 2.48.1.601.g30ceb7b040-goog From nobody Tue Nov 18 03:31:03 2025 Received: from mail-qk1-f179.google.com (mail-qk1-f179.google.com [209.85.222.179]) (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 F15F8210185 for ; Sun, 23 Feb 2025 18:59:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337187; cv=none; b=uol93D+jb4ZgvCewdJh5fZF9+Dh8oTeuZ3qXMHWp+z2ePhGXR/oWZ6earHQPwFrpI8mkrN6HQm/ygww7YLivAC1Wh9Q4Smc+6Q/xOr/pKrdtgH+XZKU+pm0KYSRCuvTbUtKHHmOTTzQS9InTkLpUP4+6pLu3U5KHMcjtoEvyjkI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740337187; c=relaxed/simple; bh=dnwNReE1hPulb+Tc8iZo/fcErBj/zFU9VbifxtAwbsg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PIkCI3O8/d52iJQAPgQjvpCLyvI9GbjIrtiie4ZAiVcNbtBRMfq/S9RsyntKSoSxCdwHYZdU7W2o57mWUfoEjpSSGl4ItM4FzVXdqz4mVMbNsPqPbrjB+g4itoTziVyoXNslN0hd5tB8hBE3AJeX7vGacta62IPaQkSEPNLeSxQ= 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=ZvtngmJB; arc=none smtp.client-ip=209.85.222.179 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="ZvtngmJB" Received: by mail-qk1-f179.google.com with SMTP id af79cd13be357-7c07b65efeeso372208385a.2 for ; Sun, 23 Feb 2025 10:59:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740337185; x=1740941985; 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=P1ZNr+zAsbdRe6SnCCPjc7UJkoW/yg5cRHdJ7D9R9Hg=; b=ZvtngmJBQl9C27rYRt+X+FHVcXHm8b8taPsOH+hMlheQD3nFZ9LlBFPHq4HB5HmXBn WbV2LzrkvRZjsSyZ9vmugp8hchSiTko3xNu033TdYjkySkoKZh1KHVRFh+aoe+36kDRU AKS6ez8J+fL5jHzNts8/KNMyWzGgKl7zPvBos= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740337185; x=1740941985; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=P1ZNr+zAsbdRe6SnCCPjc7UJkoW/yg5cRHdJ7D9R9Hg=; b=FH1WeA45WKlh3izFdzgPouZSOdxwivnat02S3kkTmfsbQQqC3lMTaZUy3uoOhSKCFz SpLdTJX6r03KGGEJgMnFTYbUzw8y0BHmTx//HUMTjCjQV3vvlBLP/8wHZ7NEsDrkw2w1 7NtnD4uB29y8UV7NObagN+jlrxvsBc81nTT6X9C+LQn5tWxlIQYjXb0vAqnSIICWMMan LsqA3w6DRVSAvNuaCIn4tBE+8zC/SF0e7pWv8JjEFvjoIxHUsCGuoCqWwljtwpOGwJ9A 89XjL13sHGceOoQTO8uAhGjKhUYTDq4qTVRwzW67xA8me+X+f42SeBiA1jEvMxp8ctg3 9eLA== X-Forwarded-Encrypted: i=1; AJvYcCWipgzqSzcR6jLn4SoErgPtozSWI1Fj2lz4jV7IPrlIx3Hlq6HOSORdBh/M9xFC+oeLDvyjvyPkvT2FWkU=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5xWiIo7sxT9cQfJNIgBgLFyO8xZyPp6ZHqAzSn6NUqLVy7a6a dzJtg+h3CHkJcyzEqCoXaQjOf+MtHSem2jzEjeo+TXkFnQiLUOoJNfYO4ZSS5A== X-Gm-Gg: ASbGnctG4Iz0ZaRtlsvoECFOPdq8fwfyF/hMnO0zclAMrXLY+RZGP5pz9tb3cJz1SO9 G04wr8Vn0JOTx3xePF3xrF+zQ5+LtCQfELGr0L/vxBw/91ku/OqgKbrH3aTG+0jJlKdQsPjOjW7 tS5i7PK+RFhmZHmvEM5g+Aq+JHLeW0uHopn0HWDk+93d9nBVzbUkFle3guhU1sLtocs9cLTLomT qddgC0u/vhhmegIbZ/gfpKpWI6C6HZiNVUxmGvFQSvbQtqv/xveGeDip2TYsEf4TnTmHIvuQZif MYxEnk3+MTGmDkM98M1eK6s4Bq5DPCEYN/auyiwU6xlNwB3Y6YU7sdHOWOk+qGGxCrzqiYBaFm6 fLGA= X-Google-Smtp-Source: AGHT+IERdPcmnp8DFkM7FzQDBmkbwLEcVj462XFjOmf0I55eocLBJbotx9VABzofXN7Sh0Nf0lYF2A== X-Received: by 2002:a05:620a:470d:b0:7c0:be0f:2dad with SMTP id af79cd13be357-7c0ceef9875mr1290641485a.21.1740337184802; Sun, 23 Feb 2025 10:59:44 -0800 (PST) Received: from denia.c.googlers.com (15.237.245.35.bc.googleusercontent.com. [35.245.237.15]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c09bf81253sm894052885a.47.2025.02.23.10.59.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Feb 2025 10:59:44 -0800 (PST) From: Ricardo Ribalda Date: Sun, 23 Feb 2025 18:58:15 +0000 Subject: [PATCH v3 12/12] media: radio-wl1273: Rename wl1273_fm_vidioc_s_ctrl 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: <20250223-queryctrl-v3-12-4292911cab6b@chromium.org> References: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> In-Reply-To: <20250223-queryctrl-v3-0-4292911cab6b@chromium.org> To: Mauro Carvalho Chehab , Mike Isely , Laurent Pinchart , Hans de Goede , Sakari Ailus , Andy Shevchenko , Greg Kroah-Hartman , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Ricardo Ribalda X-Mailer: b4 0.13.0 Now that vidioc_s_ctrl is gone we want to remove that string from all the codebase. Besides, it isn't the correct name of this function anyway. It's clearly a left-over from the past. Suggested-by: Hans Verkuil Signed-off-by: Ricardo Ribalda --- drivers/media/radio/radio-wl1273.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/radio/radio-wl1273.c b/drivers/media/radio/radio= -wl1273.c index 511a8ede05ec..f55217ccf2b8 100644 --- a/drivers/media/radio/radio-wl1273.c +++ b/drivers/media/radio/radio-wl1273.c @@ -1407,7 +1407,7 @@ static inline struct wl1273_device *to_radio(struct v= 4l2_ctrl *ctrl) return container_of(ctrl->handler, struct wl1273_device, ctrl_handler); } =20 -static int wl1273_fm_vidioc_s_ctrl(struct v4l2_ctrl *ctrl) +static int wl1273_fm_s_ctrl(struct v4l2_ctrl *ctrl) { struct wl1273_device *radio =3D to_radio(ctrl); struct wl1273_core *core =3D radio->core; @@ -1945,7 +1945,7 @@ static void wl1273_vdev_release(struct video_device *= dev) } =20 static const struct v4l2_ctrl_ops wl1273_ctrl_ops =3D { - .s_ctrl =3D wl1273_fm_vidioc_s_ctrl, + .s_ctrl =3D wl1273_fm_s_ctrl, .g_volatile_ctrl =3D wl1273_fm_g_volatile_ctrl, }; =20 --=20 2.48.1.601.g30ceb7b040-goog