[{"id":24830,"web_url":"https://patchwork.libcamera.org/comment/24830/","msgid":"<20220830073049.wsro7kgdhonobjss@uno.localdomain>","date":"2022-08-30T07:30:49","subject":"Re: [libcamera-devel] [PATCH] libcamera: control: initialise\n\tcontrol info to ControlTypeNone by default","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Christian\n\nOn Fri, Aug 26, 2022 at 07:34:26PM +0200, Christian Rauch via libcamera-devel wrote:\n> The default ControlInfo constructor allows to partially initialised the\n> min/max/def values. Uninitialised values are assigned to 0 by default. This\n> implicit initialisation makes it impossible to distinguish between and\n> uninitialised and an explicitly 0-initialised ControlValue.\n>\n> Default construct the ControlValue in the ControlInfo default contructor to\n> explicitly represent uninitialised values by the ControlTypeNone type.\n>\n> Signed-off-by: Christian Rauch <Rauch.Christian@gmx.de>\n\nI think the idea is good: make sure we don't leave the ControlInfo\nmembers unintentionally initialized to 0. This would certainly lead to\na more robust code base.\n\nHowever, as soon as we try to access a min/max/def which is now\ninitialized we get into a runtime error, and I'm not sure in how many\nplaces in the code base we happily access a 0-initialized member\nwithout noticing.\n\nHence, I think this patch is worth being run through  at least CTS,\npreferably throught all the run-time tests we, and the projects using,\nlibcamera have (I'm thinking libcamera-apps, in example).\n\nWe'll sync internally on how to give this patch a good brush.\n\nThanks\n   j\n\n> ---\n>  include/libcamera/controls.h | 6 +++---\n>  1 file changed, 3 insertions(+), 3 deletions(-)\n>\n> diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h\n> index ebc168fc..38d0a3e8 100644\n> --- a/include/libcamera/controls.h\n> +++ b/include/libcamera/controls.h\n> @@ -268,9 +268,9 @@ private:\n>  class ControlInfo\n>  {\n>  public:\n> -\texplicit ControlInfo(const ControlValue &min = 0,\n> -\t\t\t     const ControlValue &max = 0,\n> -\t\t\t     const ControlValue &def = 0);\n> +\texplicit ControlInfo(const ControlValue &min = {},\n> +\t\t\t     const ControlValue &max = {},\n> +\t\t\t     const ControlValue &def = {});\n>  \texplicit ControlInfo(Span<const ControlValue> values,\n>  \t\t\t     const ControlValue &def = {});\n>  \texplicit ControlInfo(std::set<bool> values, bool def);\n> --\n> 2.34.1\n>","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 A85D2C0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 30 Aug 2022 07:30:54 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0D54361FC1;\n\tTue, 30 Aug 2022 09:30:54 +0200 (CEST)","from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net\n\t[217.70.183.195])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4192361FB9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Aug 2022 09:30:52 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id B648960004;\n\tTue, 30 Aug 2022 07:30:51 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1661844654;\n\tbh=elta43aQ71obQcyX9/ppMUuM7ZG7tUCDHe6T1UlyMrI=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=aiDCCwIW9q2OEZOPraXtZM1Lusbm424d437J3qMchtMusOwkCSPX5T3R0a99GDBGW\n\t7Xm2QhYhoGK1MfsO4fKU6CkcW7+TFuctAEe8FMd54IlUb/fIiTWfr6yHRPoJrRF0sW\n\t+MYeK14tquQVrTIKD4zXdGBHyyBcLm5KsD6+sKm0yLYz1Cu3DSrkU3wgFjMqOHYHnw\n\t4D7oqEqnj8xQPcnuquHgJ/emHHEIgt9vRXeYNPSGrJIyF/V1bZN0jBa2bS86s0ppOB\n\tD8O91Z1vzbRhaIgxL9TUZ/ijHJ0K6aYmvVdha9g7I0GA8KL0l5KcDF14w5OYRu2h2D\n\tUIJ7KRdn5bdbQ==","Date":"Tue, 30 Aug 2022 09:30:49 +0200","To":"Christian Rauch <Rauch.Christian@gmx.de>","Message-ID":"<20220830073049.wsro7kgdhonobjss@uno.localdomain>","References":"<20220826173426.633461-1-Rauch.Christian@gmx.de>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20220826173426.633461-1-Rauch.Christian@gmx.de>","Subject":"Re: [libcamera-devel] [PATCH] libcamera: control: initialise\n\tcontrol info to ControlTypeNone by default","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>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":24831,"web_url":"https://patchwork.libcamera.org/comment/24831/","msgid":"<20220830090739.ptvy6nbdthgg3gsz@uno.localdomain>","date":"2022-08-30T09:07:39","subject":"Re: [libcamera-devel] [PATCH] libcamera: control: initialise\n\tcontrol info to ControlTypeNone by default","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Christian\n  I had two failures in running ninja test\n\n   7/71 libcamera:controls / control_info\n   FAIL            0.11s   killed by signal 6 SIGABRT\n\n   27/71 libcamera:serialization / ipa_data_serializer_test\n   FAIL            0.03s   (exit status 255 or signal 127 SIGinvalid)\n\nCould you check if you can reproduce on your side ?\n\nThanks\n  j\n\nOn Tue, Aug 30, 2022 at 09:30:49AM +0200, Jacopo Mondi via libcamera-devel wrote:\n> Hi Christian\n>\n> On Fri, Aug 26, 2022 at 07:34:26PM +0200, Christian Rauch via libcamera-devel wrote:\n> > The default ControlInfo constructor allows to partially initialised the\n> > min/max/def values. Uninitialised values are assigned to 0 by default. This\n> > implicit initialisation makes it impossible to distinguish between and\n> > uninitialised and an explicitly 0-initialised ControlValue.\n> >\n> > Default construct the ControlValue in the ControlInfo default contructor to\n> > explicitly represent uninitialised values by the ControlTypeNone type.\n> >\n> > Signed-off-by: Christian Rauch <Rauch.Christian@gmx.de>\n>\n> I think the idea is good: make sure we don't leave the ControlInfo\n> members unintentionally initialized to 0. This would certainly lead to\n> a more robust code base.\n>\n> However, as soon as we try to access a min/max/def which is now\n> initialized we get into a runtime error, and I'm not sure in how many\n> places in the code base we happily access a 0-initialized member\n> without noticing.\n>\n> Hence, I think this patch is worth being run through  at least CTS,\n> preferably throught all the run-time tests we, and the projects using,\n> libcamera have (I'm thinking libcamera-apps, in example).\n>\n> We'll sync internally on how to give this patch a good brush.\n>\n> Thanks\n>    j\n>\n> > ---\n> >  include/libcamera/controls.h | 6 +++---\n> >  1 file changed, 3 insertions(+), 3 deletions(-)\n> >\n> > diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h\n> > index ebc168fc..38d0a3e8 100644\n> > --- a/include/libcamera/controls.h\n> > +++ b/include/libcamera/controls.h\n> > @@ -268,9 +268,9 @@ private:\n> >  class ControlInfo\n> >  {\n> >  public:\n> > -\texplicit ControlInfo(const ControlValue &min = 0,\n> > -\t\t\t     const ControlValue &max = 0,\n> > -\t\t\t     const ControlValue &def = 0);\n> > +\texplicit ControlInfo(const ControlValue &min = {},\n> > +\t\t\t     const ControlValue &max = {},\n> > +\t\t\t     const ControlValue &def = {});\n> >  \texplicit ControlInfo(Span<const ControlValue> values,\n> >  \t\t\t     const ControlValue &def = {});\n> >  \texplicit ControlInfo(std::set<bool> values, bool def);\n> > --\n> > 2.34.1\n> >","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 2108EC0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 30 Aug 2022 09:07:44 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5D07F61FC1;\n\tTue, 30 Aug 2022 11:07:43 +0200 (CEST)","from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net\n\t[217.70.183.198])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DC14261FB9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Aug 2022 11:07:41 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id 47280C0015;\n\tTue, 30 Aug 2022 09:07:41 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1661850463;\n\tbh=ehHHifANiQg9+K0r9I29byYYVSTk/0qMWaV4HW/50SQ=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=IM5fvqplBixIkit3WCN11B19J6ReZBBgwvpllB3AjAxG/V63poFCaEeBlPc1gKI7h\n\tydJGsMkhrkYjpn4cNf8u5YfkieKbX5GU+h+u6HcFghue8eOl1AclfI4q5kfF5psAo+\n\tG3a+BaZ6HqoCnCSERjFVFdF/UsH5VkCRWXkkn8XpTODdKVut8L62pufKZVobrMivAj\n\tvrDnvI6O4lhXdOUa+I3mf/IUtWI10imReJprMywyt71oryjhTS8RCvOVazmYLpfpFf\n\tBl86AUfcZS+QfM4oeCsh/Rmaf+g36wW7sFx5xvafQTJCqZWVXaP6YBVijmtd3PJ/jv\n\t9LPFjCutalIFw==","Date":"Tue, 30 Aug 2022 11:07:39 +0200","To":"Christian Rauch <Rauch.Christian@gmx.de>,\n\tlibcamera-devel@lists.libcamera.org","Message-ID":"<20220830090739.ptvy6nbdthgg3gsz@uno.localdomain>","References":"<20220826173426.633461-1-Rauch.Christian@gmx.de>\n\t<20220830073049.wsro7kgdhonobjss@uno.localdomain>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20220830073049.wsro7kgdhonobjss@uno.localdomain>","Subject":"Re: [libcamera-devel] [PATCH] libcamera: control: initialise\n\tcontrol info to ControlTypeNone by default","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>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo@jmondi.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":24846,"web_url":"https://patchwork.libcamera.org/comment/24846/","msgid":"<2b659484-66ff-d385-f173-ffcced75c0a6@gmx.de>","date":"2022-08-30T20:24:48","subject":"Re: [libcamera-devel] [PATCH] libcamera: control: initialise\n\tcontrol info to ControlTypeNone by default","submitter":{"id":111,"url":"https://patchwork.libcamera.org/api/people/111/","name":"Christian Rauch","email":"Rauch.Christian@gmx.de"},"content":"Hi Jacopo,\n\nI could reproduce the issue with the 'controls / control_info' test and\nfixed it with v2 of this. The 'serialization / ipa_data_serializer_test'\ntest was skipped with \"exit status 77\".\n\nBest,\nChristian\n\n\nAm 30.08.22 um 11:07 schrieb Jacopo Mondi:\n> Hi Christian\n>   I had two failures in running ninja test\n>\n>    7/71 libcamera:controls / control_info\n>    FAIL            0.11s   killed by signal 6 SIGABRT\n>\n>    27/71 libcamera:serialization / ipa_data_serializer_test\n>    FAIL            0.03s   (exit status 255 or signal 127 SIGinvalid)\n>\n> Could you check if you can reproduce on your side ?\n>\n> Thanks\n>   j\n>\n> On Tue, Aug 30, 2022 at 09:30:49AM +0200, Jacopo Mondi via libcamera-devel wrote:\n>> Hi Christian\n>>\n>> On Fri, Aug 26, 2022 at 07:34:26PM +0200, Christian Rauch via libcamera-devel wrote:\n>>> The default ControlInfo constructor allows to partially initialised the\n>>> min/max/def values. Uninitialised values are assigned to 0 by default. This\n>>> implicit initialisation makes it impossible to distinguish between and\n>>> uninitialised and an explicitly 0-initialised ControlValue.\n>>>\n>>> Default construct the ControlValue in the ControlInfo default contructor to\n>>> explicitly represent uninitialised values by the ControlTypeNone type.\n>>>\n>>> Signed-off-by: Christian Rauch <Rauch.Christian@gmx.de>\n>>\n>> I think the idea is good: make sure we don't leave the ControlInfo\n>> members unintentionally initialized to 0. This would certainly lead to\n>> a more robust code base.\n>>\n>> However, as soon as we try to access a min/max/def which is now\n>> initialized we get into a runtime error, and I'm not sure in how many\n>> places in the code base we happily access a 0-initialized member\n>> without noticing.\n>>\n>> Hence, I think this patch is worth being run through  at least CTS,\n>> preferably throught all the run-time tests we, and the projects using,\n>> libcamera have (I'm thinking libcamera-apps, in example).\n>>\n>> We'll sync internally on how to give this patch a good brush.\n>>\n>> Thanks\n>>    j\n>>\n>>> ---\n>>>  include/libcamera/controls.h | 6 +++---\n>>>  1 file changed, 3 insertions(+), 3 deletions(-)\n>>>\n>>> diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h\n>>> index ebc168fc..38d0a3e8 100644\n>>> --- a/include/libcamera/controls.h\n>>> +++ b/include/libcamera/controls.h\n>>> @@ -268,9 +268,9 @@ private:\n>>>  class ControlInfo\n>>>  {\n>>>  public:\n>>> -\texplicit ControlInfo(const ControlValue &min = 0,\n>>> -\t\t\t     const ControlValue &max = 0,\n>>> -\t\t\t     const ControlValue &def = 0);\n>>> +\texplicit ControlInfo(const ControlValue &min = {},\n>>> +\t\t\t     const ControlValue &max = {},\n>>> +\t\t\t     const ControlValue &def = {});\n>>>  \texplicit ControlInfo(Span<const ControlValue> values,\n>>>  \t\t\t     const ControlValue &def = {});\n>>>  \texplicit ControlInfo(std::set<bool> values, bool def);\n>>> --\n>>> 2.34.1\n>>>","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 8CB0DC3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 30 Aug 2022 20:24:54 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CCB1061FBD;\n\tTue, 30 Aug 2022 22:24:53 +0200 (CEST)","from mout.gmx.net (mout.gmx.net [212.227.15.18])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EB5D761F9C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Aug 2022 22:24:48 +0200 (CEST)","from [192.168.0.158] ([88.152.184.103]) by mail.gmx.net (mrgmx004\n\t[212.227.17.190]) with ESMTPSA (Nemesis) id\n\t1Mlf0K-1pAfoo2Nko-00ioa8 for\n\t<libcamera-devel@lists.libcamera.org>; Tue, 30 Aug 2022 22:24:48 +0200"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1661891093;\n\tbh=i0yaof0UbibzCVKgUMSVvl66QFW91zq6gdqF2jJg0lw=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=tQ8umO9pD7jskEtUHntQZnFx6lYxEg1TGHVU+OFaZa6825KQETIpkOrj+4rT1kR/b\n\tM9KkkAN40XQgxf7JL3v1zQwWtfY/rF3oa6isvNaQAzZm11zZ0fnBBE32wJncYdWqvY\n\tFossdQ1g83U6VZthYsuS9JsYXrP2+PIxOAgXdkx2RFNHwSoXKDUX/8EY/8A2gbjaU2\n\tzIjZSrerE91paODxyOmGfE2AGkWQ1NyRmXvXctYA3YA19BDIawagXbqj9fRJiKGZsk\n\tSe19CnIH2y88AlVECSMtzbkz0DOszS8mdazSX6wawmtx8vU/jxh3m0xz/BOJNbabXe\n\tIhMI8YvwueZ6w==","v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;\n\ts=badeba3b8450; t=1661891088;\n\tbh=i0yaof0UbibzCVKgUMSVvl66QFW91zq6gdqF2jJg0lw=;\n\th=X-UI-Sender-Class:Date:Subject:To:References:From:In-Reply-To;\n\tb=KXl38uyt4tr+Q2oo1Btc2xwMed+HdRnSELgTpHjTrEO/zy7NaxorkAEoStfTeLWH0\n\tU127A67mFh+O88uYrxhRSzU5O7e+V/PHhupkUjgVve35s5JCyujDhqAGsuOsKbn4rx\n\tJ+BBPaoIKlpOT8jNOkrn0TD9jIlbIR1fUfKtBEBo="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=gmx.net header.i=@gmx.net\n\theader.b=\"KXl38uyt\"; dkim-atps=neutral","X-UI-Sender-Class":"01bb95c1-4bf8-414a-932a-4f6e2808ef9c","Message-ID":"<2b659484-66ff-d385-f173-ffcced75c0a6@gmx.de>","Date":"Tue, 30 Aug 2022 22:24:48 +0200","MIME-Version":"1.0","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101\n\tThunderbird/91.11.0","Content-Language":"en-GB","To":"libcamera-devel@lists.libcamera.org","References":"<20220826173426.633461-1-Rauch.Christian@gmx.de>\n\t<20220830073049.wsro7kgdhonobjss@uno.localdomain>\n\t<20220830090739.ptvy6nbdthgg3gsz@uno.localdomain>","In-Reply-To":"<20220830090739.ptvy6nbdthgg3gsz@uno.localdomain>","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"quoted-printable","X-Provags-ID":"V03:K1:Z4qm7Ba0mbOgj34Ql6FMHn0uxnzx3A1tcCgI1SmK9/dlMZ0Eq/P\n\tGDoGn7SYjT+HdYxmqcFAxUaVSmzp+zlwosFR8oLdzt6JpqCAWfqMX4InftuxRshVCLjmEIL\n\tC6PObuWZROlD8WmYETxca1iWdiLhlBP7PBtJt6FAR6utrirlHTok1a1jtb5F4O67ShPy/gy\n\tazKbIYzhuT2UCXPWReP7g==","X-Spam-Flag":"NO","X-UI-Out-Filterresults":"notjunk:1; V03:K0:Dve5TtZYwTw=:8UANUhgKdb4zwSTRj4VrGy\n\t9nYvgKLh2g5sFngXu3II7EjA8mZSMzcQIP4aOQ5Mp/wsxBR9wBi33HbAxl7D15J0c78QmjfWF\n\tn/iDsJ0hXiSauBQH5cLSgCzoahpYCGBoCk2oTnnxmlBFYanTP4ak3UGSfPGtCAlGg3JH1iGHx\n\tFNZcxK+oM2Z2c1B2tPJfEoSw+QIdkMWKI/9v0PmCrQWfQVNAW+ubud1e+SQRec6NI5eg5Zfye\n\tMd+mVifjn34V8rsdLIvZqRv/sN6ubF78Fn/AqRyj2dyWUo5lUn/EzR1T/0qXtR6G/YUYiM1C0\n\tSTF8/5HXCL3l+QnTeDD7Tiez3DOoKoLhn9aFKSd8fsHGiMb+Q74/w+q9QVBgnIWpNygw42CrV\n\tkUPBj2y6U7AUNOG8ZGrkjE4GtzlXldLmCQluergH6Iv2sPN1rI04P3R7tomC5aPD8Iw5naDF/\n\towNnOjZm57pV2euKXC0MEH/A0XfCGJIDTlSGEyREExzuXO4H/t7HLikCZFr+UDUg+vJIRvzKG\n\tjf8SPFzm9Zvd9LhavfY3L7umoJSMN+6nTHDM1CkbZn8YKoyf5D62dBfy2qi6JaA8PAnEWa9yZ\n\taPiEHauNstrhQRWdbQdwx6YFjI0LMb7877ipADC0yMRv84iPrbpromO4fd3Yvk+XHpHoocM/D\n\tdrM4sDDIbK7ZmdPVDeZ63jojIO0+RO0yN4NSKJkGxRHB3SxUhxc7kd68Dv7rzgBAZAfbE1jP+\n\t3/rXQR20NJ8pNk/OjuRReiyD0Nf8Kn815Fxx90kyd1/bOl11OatFjXphz65OjbkiwlUzSPZUV\n\tWm/vv4NvJWq+tf/tXejMYhFzENg9ZI7hwzmxPzexqM60yAQjdieRG7CJ1EIRc5Aq9OS2dWTmX\n\t2xmuGi+MsbKA5Bvuu84Gny/zwX0AMJuo9Vuf5E2MfnNgzzjsT2wq/vrsXdmtdhCC1rz1uGaUw\n\tJFWjH+zPgqZMaJ+3ccLtcY0+AiRJByW8azjUh9IUhz8lvuuY0j2O4Gi2Rc2xrMJkT6VD4AL8r\n\tlrtsuYjyZ3s0BzFhEfUczuM/PSXEbDjmtuYqszJHDsvmJoCIi36M1HozCMLS+nnyv4p4Yqq9W\n\tiDwY702l3Wkhkl1d7Tbc0KEWSPJwj2QmX7A7IzYFy/YYX50k1B9qk4ZpfkI81oMcQahbFX7Cg\n\tn+nN2JvwBu7FotTKeVe5JC3qYL","Subject":"Re: [libcamera-devel] [PATCH] libcamera: control: initialise\n\tcontrol info to ControlTypeNone by default","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>","From":"Christian Rauch via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Christian Rauch <Rauch.Christian@gmx.de>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]