[{"id":14501,"web_url":"https://patchwork.libcamera.org/comment/14501/","msgid":"<X/t3gLHuaIx18tzj@pendragon.ideasonboard.com>","date":"2021-01-10T21:54:08","subject":"Re: [libcamera-devel] [PATCH 01/12] libcamera: CameraSensor:\n\tMention V4L2 in get/setControls()","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Jacopo,\n\nThank you for the patch.\n\nOn Tue, Jan 05, 2021 at 08:05:11PM +0100, Jacopo Mondi wrote:\n> The current CameraSensor interface for reading and writing controls\n> is currently based on V4L2 controls.\n> \n> Mention that more clearly in the documentation and, while at it, re-sort\n> the documentation to match the methods declaration order.\n> \n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  src/libcamera/camera_sensor.cpp | 24 +++++++++++++-----------\n>  1 file changed, 13 insertions(+), 11 deletions(-)\n> \n> diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp\n> index 046474c03f4a..05a1d7c22e97 100644\n> --- a/src/libcamera/camera_sensor.cpp\n> +++ b/src/libcamera/camera_sensor.cpp\n> @@ -593,11 +593,12 @@ const ControlInfoMap &CameraSensor::controls() const\n>  }\n>  \n>  /**\n> - * \\brief Read controls from the sensor\n> + * \\brief Read V4L2 controls from the sensor\n>   * \\param[in] ids The list of controls to read, specified by their ID\n>   *\n>   * This method reads the value of all controls contained in \\a ids, and returns\n> - * their values as a ControlList.\n> + * their values as a ControlList. The control identifiers are defined by the\n> + * V4L2 specification (V4L2_CID_*).\n>   *\n>   * If any control in \\a ids is not supported by the device, is disabled (i.e.\n>   * has the V4L2_CTRL_FLAG_DISABLED flag set), or if any other error occurs\n> @@ -615,18 +616,13 @@ ControlList CameraSensor::getControls(const std::vector<uint32_t> &ids)\n>  }\n>  \n>  /**\n> - * \\fn CameraSensor::properties()\n> - * \\brief Retrieve the camera sensor properties\n> - * \\return The list of camera sensor properties\n> - */\n> -\n> -/**\n> - * \\brief Write controls to the sensor\n> + * \\brief Write V4L2 controls to the sensor\n>   * \\param[in] ctrls The list of controls to write\n>   *\n>   * This method writes the value of all controls contained in \\a ctrls, and\n> - * stores the values actually applied to the device in the corresponding\n> - * \\a ctrls entry.\n> + * stores the values actually applied to the device in the corresponding \\a\n> + * ctrls entry. The control identifiers are defined by the V4L2 specification\n> + * (V4L2_CID_*).\n>   *\n>   * If any control in \\a ctrls is not supported by the device, is disabled (i.e.\n>   * has the V4L2_CTRL_FLAG_DISABLED flag set), is read-only, or if any other\n> @@ -649,6 +645,12 @@ int CameraSensor::setControls(ControlList *ctrls)\n>  \treturn subdev_->setControls(ctrls);\n>  }\n>  \n> +/**\n> + * \\fn CameraSensor::properties()\n> + * \\brief Retrieve the camera sensor properties\n> + * \\return The list of camera sensor properties\n> + */\n> +\n>  /**\n>   * \\brief Assemble and return the camera sensor info\n>   * \\param[out] info The camera sensor info","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 81066BD808\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 10 Jan 2021 21:54:28 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E864168078;\n\tSun, 10 Jan 2021 22:54:27 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9F93F60523\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 10 Jan 2021 22:54:26 +0100 (CET)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 0B42ADA;\n\tSun, 10 Jan 2021 22:54:25 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"k2NXHN8/\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1610315666;\n\tbh=RRvV+xFEtlttxzoGqsdrs+iHcF1doHzrYCWC3czPoyE=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=k2NXHN8/vnhFHrUlkkszxqtGCLa3arkVW27E44adlwklZPYTnGQ9gyN35Ig6j5Rvj\n\t2IrlY9BpEeHJskSfKIzGjOW9lbKJZzb4417cStsuvedKeo6s2O6jI/LlNTVR0er3qk\n\t6cjDBvOA+LY3q+SAziuIYMoGNd+T7PexDIV4RRdw=","Date":"Sun, 10 Jan 2021 23:54:08 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Message-ID":"<X/t3gLHuaIx18tzj@pendragon.ideasonboard.com>","References":"<20210105190522.682324-1-jacopo@jmondi.org>\n\t<20210105190522.682324-2-jacopo@jmondi.org>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20210105190522.682324-2-jacopo@jmondi.org>","Subject":"Re: [libcamera-devel] [PATCH 01/12] libcamera: CameraSensor:\n\tMention V4L2 in get/setControls()","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":14579,"web_url":"https://patchwork.libcamera.org/comment/14579/","msgid":"<YAWga32VD9cCZqjz@oden.dyn.berto.se>","date":"2021-01-18T14:51:23","subject":"Re: [libcamera-devel] [PATCH 01/12] libcamera: CameraSensor:\n\tMention V4L2 in get/setControls()","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi Jacopo,\n\nThanks for your work.\n\nOn 2021-01-05 20:05:11 +0100, Jacopo Mondi wrote:\n> The current CameraSensor interface for reading and writing controls\n> is currently based on V4L2 controls.\n> \n> Mention that more clearly in the documentation and, while at it, re-sort\n> the documentation to match the methods declaration order.\n> \n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n\nReviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n\n> ---\n>  src/libcamera/camera_sensor.cpp | 24 +++++++++++++-----------\n>  1 file changed, 13 insertions(+), 11 deletions(-)\n> \n> diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp\n> index 046474c03f4a..05a1d7c22e97 100644\n> --- a/src/libcamera/camera_sensor.cpp\n> +++ b/src/libcamera/camera_sensor.cpp\n> @@ -593,11 +593,12 @@ const ControlInfoMap &CameraSensor::controls() const\n>  }\n>  \n>  /**\n> - * \\brief Read controls from the sensor\n> + * \\brief Read V4L2 controls from the sensor\n>   * \\param[in] ids The list of controls to read, specified by their ID\n>   *\n>   * This method reads the value of all controls contained in \\a ids, and returns\n> - * their values as a ControlList.\n> + * their values as a ControlList. The control identifiers are defined by the\n> + * V4L2 specification (V4L2_CID_*).\n>   *\n>   * If any control in \\a ids is not supported by the device, is disabled (i.e.\n>   * has the V4L2_CTRL_FLAG_DISABLED flag set), or if any other error occurs\n> @@ -615,18 +616,13 @@ ControlList CameraSensor::getControls(const std::vector<uint32_t> &ids)\n>  }\n>  \n>  /**\n> - * \\fn CameraSensor::properties()\n> - * \\brief Retrieve the camera sensor properties\n> - * \\return The list of camera sensor properties\n> - */\n> -\n> -/**\n> - * \\brief Write controls to the sensor\n> + * \\brief Write V4L2 controls to the sensor\n>   * \\param[in] ctrls The list of controls to write\n>   *\n>   * This method writes the value of all controls contained in \\a ctrls, and\n> - * stores the values actually applied to the device in the corresponding\n> - * \\a ctrls entry.\n> + * stores the values actually applied to the device in the corresponding \\a\n> + * ctrls entry. The control identifiers are defined by the V4L2 specification\n> + * (V4L2_CID_*).\n>   *\n>   * If any control in \\a ctrls is not supported by the device, is disabled (i.e.\n>   * has the V4L2_CTRL_FLAG_DISABLED flag set), is read-only, or if any other\n> @@ -649,6 +645,12 @@ int CameraSensor::setControls(ControlList *ctrls)\n>  \treturn subdev_->setControls(ctrls);\n>  }\n>  \n> +/**\n> + * \\fn CameraSensor::properties()\n> + * \\brief Retrieve the camera sensor properties\n> + * \\return The list of camera sensor properties\n> + */\n> +\n>  /**\n>   * \\brief Assemble and return the camera sensor info\n>   * \\param[out] info The camera sensor info\n> -- \n> 2.29.2\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 0D5D6BD808\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 18 Jan 2021 14:51:28 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9335E68125;\n\tMon, 18 Jan 2021 15:51:27 +0100 (CET)","from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com\n\t[IPv6:2a00:1450:4864:20::12d])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4AECA6010B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 18 Jan 2021 15:51:25 +0100 (CET)","by mail-lf1-x12d.google.com with SMTP id v67so24468750lfa.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 18 Jan 2021 06:51:25 -0800 (PST)","from localhost (h-209-203.A463.priv.bahnhof.se. [155.4.209.203])\n\tby smtp.gmail.com with ESMTPSA id\n\te9sm1921739lft.104.2021.01.18.06.51.23\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 18 Jan 2021 06:51:23 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=ragnatech-se.20150623.gappssmtp.com\n\theader.i=@ragnatech-se.20150623.gappssmtp.com\n\theader.b=\"LPcapFGa\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ragnatech-se.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:content-transfer-encoding:in-reply-to;\n\tbh=uKJzwB7ETobNFHlbOeNkZe0jy8U6CuRrH7pDprhFaVE=;\n\tb=LPcapFGaxd7qeleaAcupfy8Fv5m7fsxGMnL9F2ZyRZtfSeBDZvCIIex8mOPEAfDSKD\n\tdoRH80FieSq/YwK9I7tQ3KxNSf1t7TS1d8kBgW9pnyYuRfnun0rClLSAH+CeMh6qq4CD\n\tdVuIKv+AiOkI77GORMqEKAEaEw7hSISwC8WuPSI0XHkqp2nP207tszb3XbwUj0HqG/u4\n\twj7vVBCZOPf+4lZ6VlGw9p3zVGD3Q2Z9BEdalCuvgk/aT0tgIcIF6Ylgd6WTnYED55GR\n\tdsdGI/0d4TRWHasWcZc70voE7ynmHdFPiLaZ1/A0uk+SrSTtUnnFwlAl3Tq/oqnu3uze\n\tGeRw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:content-transfer-encoding\n\t:in-reply-to;\n\tbh=uKJzwB7ETobNFHlbOeNkZe0jy8U6CuRrH7pDprhFaVE=;\n\tb=Fh2TuaASz813OIf4L0g0+8Jyt3hVmI8qGqD5haGcxK1x1APUbrD1CclvcxZEnr+KMe\n\t9D34u1TA/t6OXjL1k99l0pk/uhU67Rx2XTX0YKHj9S3f+wXr+5FT/Avl3+94XTHQznYM\n\tS9Ccql2klYZJNPdODSl6yuoAVmcpNfF2yTldxDMbcSS6XdjZL53TVc/6YbQfuHq7jaOF\n\t0aBi2S1fG6EDZRz/gLnbN0ce/zJTblt4EjQObMy0REnGHMqVq8z1qJTfgI34jDl1rVLz\n\tNagXcYjjbMInQQZmU/qNbnbzYJK+uilTqdScZVHRNFYyUojlLbPkjT8fSSwe3GwRbXzI\n\t3Cow==","X-Gm-Message-State":"AOAM532y4ZDqGTpP+9EU/Mq11P0osslxABI+2gpVuCMI8VDB8Rb13owG\n\tGjR9+P9Z0QNRv8GaDspI5rE2mw==","X-Google-Smtp-Source":"ABdhPJzdsUVreSV/LiUu0Bdd2UHM7zbW0p2H3AzNQy5Q4ct5Yq89+kgMUsZfgEdu7Ila23pDAJpSrA==","X-Received":"by 2002:a05:6512:2202:: with SMTP id\n\th2mr11111520lfu.392.1610981484525; \n\tMon, 18 Jan 2021 06:51:24 -0800 (PST)","Date":"Mon, 18 Jan 2021 15:51:23 +0100","From":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","To":"Jacopo Mondi <jacopo@jmondi.org>","Message-ID":"<YAWga32VD9cCZqjz@oden.dyn.berto.se>","References":"<20210105190522.682324-1-jacopo@jmondi.org>\n\t<20210105190522.682324-2-jacopo@jmondi.org>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20210105190522.682324-2-jacopo@jmondi.org>","Subject":"Re: [libcamera-devel] [PATCH 01/12] libcamera: CameraSensor:\n\tMention V4L2 in get/setControls()","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"iso-8859-1\"","Content-Transfer-Encoding":"quoted-printable","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]