From patchwork Wed Feb 24 16:25:27 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sakari Ailus X-Patchwork-Id: 8409371 Return-Path: X-Original-To: patchwork-linux-media@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 868C19F372 for ; Wed, 24 Feb 2016 16:27:44 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 8D8EF20361 for ; Wed, 24 Feb 2016 16:27:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1D0882037C for ; Wed, 24 Feb 2016 16:27:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757037AbcBXQ1k (ORCPT ); Wed, 24 Feb 2016 11:27:40 -0500 Received: from mga14.intel.com ([192.55.52.115]:11054 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755843AbcBXQ1j (ORCPT ); Wed, 24 Feb 2016 11:27:39 -0500 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga103.fm.intel.com with ESMTP; 24 Feb 2016 08:27:37 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,494,1449561600"; d="scan'208";a="923036629" Received: from paasikivi.fi.intel.com ([10.237.72.42]) by fmsmga002.fm.intel.com with ESMTP; 24 Feb 2016 08:27:35 -0800 Received: from nauris.fi.intel.com (nauris.localdomain [192.168.240.2]) by paasikivi.fi.intel.com (Postfix) with ESMTP id 05A9220C44; Wed, 24 Feb 2016 18:27:35 +0200 (EET) Received: by nauris.fi.intel.com (Postfix, from userid 1000) id 8C764201B7; Wed, 24 Feb 2016 18:25:32 +0200 (EET) From: Sakari Ailus To: linux-media@vger.kernel.org Cc: laurent.pinchart@ideasonboard.com, hverkuil@xs4all.nl Subject: [PATCH v5 3/4] libv4l2subdev: Add a function to list library supported pixel codes Date: Wed, 24 Feb 2016 18:25:27 +0200 Message-Id: <1456331128-7036-4-git-send-email-sakari.ailus@linux.intel.com> X-Mailer: git-send-email 2.1.0.231.g7484e3b In-Reply-To: <1456331128-7036-1-git-send-email-sakari.ailus@linux.intel.com> References: <1456331128-7036-1-git-send-email-sakari.ailus@linux.intel.com> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Also mark which format definitions are compat definitions for the pre-existing codes. This way we don't end up listing the same formats twice. Signed-off-by: Sakari Ailus Acked-by: Laurent Pinchart --- utils/media-ctl/.gitignore | 1 + utils/media-ctl/Makefile.am | 6 +++++- utils/media-ctl/libv4l2subdev.c | 11 +++++++++++ utils/media-ctl/v4l2subdev.h | 11 +++++++++++ 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/utils/media-ctl/.gitignore b/utils/media-ctl/.gitignore index 799ab33..5354fec 100644 --- a/utils/media-ctl/.gitignore +++ b/utils/media-ctl/.gitignore @@ -1,2 +1,3 @@ media-ctl media-bus-format-names.h +media-bus-format-codes.h diff --git a/utils/media-ctl/Makefile.am b/utils/media-ctl/Makefile.am index 23ad90b..ee7dcc9 100644 --- a/utils/media-ctl/Makefile.am +++ b/utils/media-ctl/Makefile.am @@ -8,7 +8,11 @@ media-bus-format-names.h: ../../include/linux/media-bus-format.h sed -e '/#define MEDIA_BUS_FMT/ ! d; s/.*FMT_//; /FIXED/ d; s/\t.*//; s/.*/{ \"&\", MEDIA_BUS_FMT_& },/;' \ < $< > $@ -BUILT_SOURCES = media-bus-format-names.h +media-bus-format-codes.h: ../../include/linux/media-bus-format.h + sed -e '/#define MEDIA_BUS_FMT/ ! d; s/.*#define //; /FIXED/ d; s/\t.*//; s/.*/ &,/;' \ + < $< > $@ + +BUILT_SOURCES = media-bus-format-names.h media-bus-format-codes.h CLEANFILES = $(BUILT_SOURCES) nodist_libv4l2subdev_la_SOURCES = $(BUILT_SOURCES) diff --git a/utils/media-ctl/libv4l2subdev.c b/utils/media-ctl/libv4l2subdev.c index f3c0a9a..8d39898 100644 --- a/utils/media-ctl/libv4l2subdev.c +++ b/utils/media-ctl/libv4l2subdev.c @@ -821,3 +821,14 @@ enum v4l2_field v4l2_subdev_string_to_field(const char *string, return fields[i].field; } + +static const enum v4l2_mbus_pixelcode mbus_codes[] = { +#include "media-bus-format-codes.h" +}; + +const enum v4l2_mbus_pixelcode *v4l2_subdev_pixelcode_list(unsigned int *length) +{ + *length = ARRAY_SIZE(mbus_codes); + + return mbus_codes; +} diff --git a/utils/media-ctl/v4l2subdev.h b/utils/media-ctl/v4l2subdev.h index 104e420..97f46a8 100644 --- a/utils/media-ctl/v4l2subdev.h +++ b/utils/media-ctl/v4l2subdev.h @@ -279,4 +279,15 @@ const char *v4l2_subdev_field_to_string(enum v4l2_field field); enum v4l2_field v4l2_subdev_string_to_field(const char *string, unsigned int length); +/** + * @brief Enumerate library supported media bus pixel codes. + * @param length - the number of the supported pixel codes + * + * Obtain pixel codes supported by libv4l2subdev. + * + * @return A pointer to the pixel code array + */ +const enum v4l2_mbus_pixelcode *v4l2_subdev_pixelcode_list( + unsigned int *length); + #endif