From patchwork Wed Feb 20 15:19:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 10822325 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 92CD6188E for ; Wed, 20 Feb 2019 15:20:08 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 75C342E852 for ; Wed, 20 Feb 2019 15:20:04 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6A84E2EA5D; Wed, 20 Feb 2019 15:20:04 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 356E92E852 for ; Wed, 20 Feb 2019 15:20:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726291AbfBTPUC (ORCPT ); Wed, 20 Feb 2019 10:20:02 -0500 Received: from perceval.ideasonboard.com ([213.167.242.64]:42016 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725804AbfBTPUC (ORCPT ); Wed, 20 Feb 2019 10:20:02 -0500 Received: from pendragon.bb.dnainternet.fi (dfj612yhrgyx302h3jwwy-3.rev.dnainternet.fi [IPv6:2001:14ba:21f5:5b00:ce28:277f:58d7:3ca4]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 18A4C54D; Wed, 20 Feb 2019 16:20:00 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1550676000; bh=iYzxWQHKDmXxLNd/GO8RynFD8P1ejrYyA4Z6Vj0oVUM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SQYNwT02WNno+wvtKr3yQPMfBJFXbcbJmLXVYTB5TX5rU85IhlJjhXGzC8V2FlDAH eCIUkwKuAiIFfDLqJDUlM8ViEbrgfyChbAXLxaP+LqtlTPxNWUCsxNrXCMOaJo2Ha9 xie8CfsEEzbVdzTSL5N0fOK/Y6SKqXuO5Z2ec5p0= From: Laurent Pinchart To: linux-media@vger.kernel.org Cc: Kieran Bingham , Sakari Ailus Subject: [PATCH yavta 1/3] Fix emulation of old API for string controls Date: Wed, 20 Feb 2019 17:19:50 +0200 Message-Id: <20190220151952.15376-2-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20190220151952.15376-1-laurent.pinchart@ideasonboard.com> References: <20190220151952.15376-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP For kernel versions that didn't define the V4L2_CTRL_FLAG_HAS_PAYLOAD flag, commits 2f146567186f ("Implement compound control get support") and 4480b561404f ("Implement compound control set support") broke string control support. Fix this by emulating the V4L2_CTRL_FLAG_HAS_PAYLOAD and compound control API for the older API. Fixes: 2f146567186f ("Implement compound control get support") Fixes: 4480b561404f ("Implement compound control set support") Signed-off-by: Laurent Pinchart --- yavta.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/yavta.c b/yavta.c index 0efa7d73e432..7d9c40c9f9be 100644 --- a/yavta.c +++ b/yavta.c @@ -637,6 +637,12 @@ static int query_control(struct device *dev, unsigned int id, query->default_value = q.default_value; query->flags = q.flags; + if (q.type == V4L2_CTRL_TYPE_STRING && + !(q.flags & V4L2_CTRL_FLAG_HAS_PAYLOAD)) { + query->elem_size = q.maximum + 1; + query->elems = 1; + } + return 0; }