[{"id":1765348,"web_url":"http://patchwork.ozlabs.org/comment/1765348/","msgid":"<20170908132507.nqofkw2g43m7ydux@valkosipuli.retiisi.org.uk>","list_archive_url":null,"date":"2017-09-08T13:25:07","subject":"Re: [PATCH v9 00/23] Unified fwnode endpoint parser, async\n\tsub-device notifier support, N9 flash DTS","submitter":{"id":1593,"url":"http://patchwork.ozlabs.org/api/people/1593/","name":"Sakari Ailus","email":"sakari.ailus@iki.fi"},"content":"On Fri, Sep 08, 2017 at 04:11:51PM +0300, Sakari Ailus wrote:\n> With this, the as3645a driver successfully registers a sub-device to the\n> media device created by the omap3isp driver. The kernel also has the\n> information it's related to the sensor driven by the smiapp driver but we\n> don't have a way to expose that information yet.\n\nThe patches are also available here:\n\n<URL:https://git.linuxtv.org/sailus/media_tree.git/log/?h=fwnode-parse>","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xpdPc1y7Yz9s7c\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tFri,  8 Sep 2017 23:26:12 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1756002AbdIHNZM (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tFri, 8 Sep 2017 09:25:12 -0400","from nblzone-211-213.nblnetworks.fi ([83.145.211.213]:47990 \"EHLO\n\thillosipuli.retiisi.org.uk\" rhost-flags-OK-OK-OK-FAIL)\n\tby vger.kernel.org with ESMTP id S933553AbdIHNZJ (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Fri, 8 Sep 2017 09:25:09 -0400","from valkosipuli.localdomain (valkosipuli.retiisi.org.uk\n\t[IPv6:2001:1bc8:1a6:d3d5::80:2])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby hillosipuli.retiisi.org.uk (Postfix) with ESMTPS id 1AB74600FA;\n\tFri,  8 Sep 2017 16:25:08 +0300 (EEST)","from sakke by valkosipuli.localdomain with local (Exim 4.89)\n\t(envelope-from <sakke@valkosipuli.retiisi.org.uk>)\n\tid 1dqJHP-00035R-LB; Fri, 08 Sep 2017 16:25:07 +0300"],"Date":"Fri, 8 Sep 2017 16:25:07 +0300","From":"Sakari Ailus <sakari.ailus@iki.fi>","To":"Sakari Ailus <sakari.ailus@linux.intel.com>","Cc":"linux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org,\n\tpavel@ucw.cz, sre@kernel.org","Subject":"Re: [PATCH v9 00/23] Unified fwnode endpoint parser, async\n\tsub-device notifier support, N9 flash DTS","Message-ID":"<20170908132507.nqofkw2g43m7ydux@valkosipuli.retiisi.org.uk>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>","User-Agent":"NeoMutt/20170113 (1.7.2)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765372,"web_url":"http://patchwork.ozlabs.org/comment/1765372/","msgid":"<20170908134320.GC2477@lahna.fi.intel.com>","list_archive_url":null,"date":"2017-09-08T13:43:20","subject":"Re: [PATCH v9 17/24] ACPI: Document how to refer to LEDs from remote\n\tnodes","submitter":{"id":62807,"url":"http://patchwork.ozlabs.org/api/people/62807/","name":"Mika Westerberg","email":"mika.westerberg@intel.com"},"content":"On Fri, Sep 08, 2017 at 04:18:15PM +0300, Sakari Ailus wrote:\n> +\tDevice (LED)\n> +\t{\n> +\t\tName ((_DSD), Package () {\n> +\t\t\tToUUID(\"dbb8e3e6-5886-4ba6-8795-1319f52a966b\"),\n> +\t\t\tPackage () {\n> +\t\t\t\tPackage () { \"led0\", \"LED0\" },\n> +\t\t\t\tPackage () { \"led1\", \"LED1\" },\n> +\t\t\t}\n> +\t\t})\n> +\t\tName ((LED0), Package () {\n> +\t\t\tToUUID(\"daffd814-6eba-4d8c-8a91-bc9bbf4aa301\"),\n> +\t\t\tPackage () {\n> +\t\t\t\tPackage () { \"led\", 0 },\n> +\t\t\t\tPackage () { \"flash-max-microamp\", 1000000 },\n> +\t\t\t\tPackage () { \"led-max-microamp\", 100000 },\n> +\t\t\t\tPackage () { \"label\", \"led:salama\" },\n> +\t\t\t}\n> +\t\t})\n> +\t\tName ((LED1), Package () {\n> +\t\t\tToUUID(\"daffd814-6eba-4d8c-8a91-bc9bbf4aa301\"),\n> +\t\t\tPackage () {\n> +\t\t\t\tPackage () { \"led\", 1 },\n> +\t\t\t\tPackage () { \"led-max-microamp\", 10000 },\n> +\t\t\t\tPackage () { \"label\", \"led:huomiovalo\" },\n> +\t\t\t}\n> +\t\t})\n> +\t}\n> +\n> +\tDevice (SEN)\n> +\t{\n> +\t\tName ((_DSD), Package () {\n> +\t\t\tToUUID(\"daffd814-6eba-4d8c-8a91-bc9bbf4aa301\"),\n> +\t\t\tPackage () {\n> +\t\t\t\tPackage () {\n> +\t\t\t\t\t\"flash-leds\",\n> +\t\t\t\t\tPackage () { \\\\LED, 0, \\\\LED, 1 },\n> +\t\t\t\t}\n> +\t\t\t}\n> +\t\t})\n> +\t}\n\nYou should probably try to compile these examples first ;-)\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xpdnw11CLz9s81\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tFri,  8 Sep 2017 23:43:48 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S933037AbdIHNn1 (ORCPT <rfc822; incoming-dt@patchwork.ozlabs.org>);\n\tFri, 8 Sep 2017 09:43:27 -0400","from mga09.intel.com ([134.134.136.24]:47852 \"EHLO mga09.intel.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S933029AbdIHNnZ (ORCPT <rfc822;devicetree@vger.kernel.org>);\n\tFri, 8 Sep 2017 09:43:25 -0400","from fmsmga004.fm.intel.com ([10.253.24.48])\n\tby orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t08 Sep 2017 06:43:24 -0700","from lahna.fi.intel.com (HELO lahna) ([10.237.72.157])\n\tby fmsmga004.fm.intel.com with SMTP; 08 Sep 2017 06:43:21 -0700","by lahna (sSMTP sendmail emulation);\n\tFri, 08 Sep 2017 16:43:20 +0300"],"X-ExtLoop1":"1","X-IronPort-AV":"E=Sophos;i=\"5.42,361,1500966000\"; d=\"scan'208\";a=\"309483338\"","Date":"Fri, 8 Sep 2017 16:43:20 +0300","From":"Mika Westerberg <mika.westerberg@intel.com>","To":"Sakari Ailus <sakari.ailus@linux.intel.com>","Cc":"linux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tdevicetree@vger.kernel.org, pavel@ucw.cz, sre@kernel.org","Subject":"Re: [PATCH v9 17/24] ACPI: Document how to refer to LEDs from remote\n\tnodes","Message-ID":"<20170908134320.GC2477@lahna.fi.intel.com>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-13-sakari.ailus@linux.intel.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170908131822.31020-13-sakari.ailus@linux.intel.com>","Organization":"Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo","User-Agent":"Mutt/1.8.3 (2017-05-23)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765381,"web_url":"http://patchwork.ozlabs.org/comment/1765381/","msgid":"<20170908135407.qxustmjr3yqhp7y5@valkosipuli.retiisi.org.uk>","list_archive_url":null,"date":"2017-09-08T13:54:07","subject":"Re: [PATCH v9 17/24] ACPI: Document how to refer to LEDs from remote\n\tnodes","submitter":{"id":1593,"url":"http://patchwork.ozlabs.org/api/people/1593/","name":"Sakari Ailus","email":"sakari.ailus@iki.fi"},"content":"On Fri, Sep 08, 2017 at 04:43:20PM +0300, Mika Westerberg wrote:\n> On Fri, Sep 08, 2017 at 04:18:15PM +0300, Sakari Ailus wrote:\n> > +\tDevice (LED)\n> > +\t{\n> > +\t\tName ((_DSD), Package () {\n> > +\t\t\tToUUID(\"dbb8e3e6-5886-4ba6-8795-1319f52a966b\"),\n> > +\t\t\tPackage () {\n> > +\t\t\t\tPackage () { \"led0\", \"LED0\" },\n> > +\t\t\t\tPackage () { \"led1\", \"LED1\" },\n> > +\t\t\t}\n> > +\t\t})\n> > +\t\tName ((LED0), Package () {\n> > +\t\t\tToUUID(\"daffd814-6eba-4d8c-8a91-bc9bbf4aa301\"),\n> > +\t\t\tPackage () {\n> > +\t\t\t\tPackage () { \"led\", 0 },\n> > +\t\t\t\tPackage () { \"flash-max-microamp\", 1000000 },\n> > +\t\t\t\tPackage () { \"led-max-microamp\", 100000 },\n> > +\t\t\t\tPackage () { \"label\", \"led:salama\" },\n> > +\t\t\t}\n> > +\t\t})\n> > +\t\tName ((LED1), Package () {\n> > +\t\t\tToUUID(\"daffd814-6eba-4d8c-8a91-bc9bbf4aa301\"),\n> > +\t\t\tPackage () {\n> > +\t\t\t\tPackage () { \"led\", 1 },\n> > +\t\t\t\tPackage () { \"led-max-microamp\", 10000 },\n> > +\t\t\t\tPackage () { \"label\", \"led:huomiovalo\" },\n> > +\t\t\t}\n> > +\t\t})\n> > +\t}\n> > +\n> > +\tDevice (SEN)\n> > +\t{\n> > +\t\tName ((_DSD), Package () {\n> > +\t\t\tToUUID(\"daffd814-6eba-4d8c-8a91-bc9bbf4aa301\"),\n> > +\t\t\tPackage () {\n> > +\t\t\t\tPackage () {\n> > +\t\t\t\t\t\"flash-leds\",\n> > +\t\t\t\t\tPackage () { \\\\LED, 0, \\\\LED, 1 },\n> > +\t\t\t\t}\n> > +\t\t\t}\n> > +\t\t})\n> > +\t}\n> \n> You should probably try to compile these examples first ;-)\n\nDo you think I'm missing something else than s/\\\\\\\\/^/g ? :-)\n\nYes, I tested it but then changed the tested ASL afterwards. :-P","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xpf1x6s7Zz9s8J\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tFri,  8 Sep 2017 23:54:13 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1754929AbdIHNyL (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tFri, 8 Sep 2017 09:54:11 -0400","from nblzone-211-213.nblnetworks.fi ([83.145.211.213]:48776 \"EHLO\n\thillosipuli.retiisi.org.uk\" rhost-flags-OK-OK-OK-FAIL)\n\tby vger.kernel.org with ESMTP id S1753740AbdIHNyK (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Fri, 8 Sep 2017 09:54:10 -0400","from valkosipuli.localdomain (valkosipuli.retiisi.org.uk\n\t[IPv6:2001:1bc8:1a6:d3d5::80:2])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby hillosipuli.retiisi.org.uk (Postfix) with ESMTPS id 66435600C0;\n\tFri,  8 Sep 2017 16:54:08 +0300 (EEST)","from sakke by valkosipuli.localdomain with local (Exim 4.89)\n\t(envelope-from <sakke@valkosipuli.retiisi.org.uk>)\n\tid 1dqJjT-00036X-St; Fri, 08 Sep 2017 16:54:07 +0300"],"Date":"Fri, 8 Sep 2017 16:54:07 +0300","From":"Sakari Ailus <sakari.ailus@iki.fi>","To":"Mika Westerberg <mika.westerberg@intel.com>","Cc":"Sakari Ailus <sakari.ailus@linux.intel.com>,\n\tlinux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tdevicetree@vger.kernel.org, pavel@ucw.cz, sre@kernel.org","Subject":"Re: [PATCH v9 17/24] ACPI: Document how to refer to LEDs from remote\n\tnodes","Message-ID":"<20170908135407.qxustmjr3yqhp7y5@valkosipuli.retiisi.org.uk>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-13-sakari.ailus@linux.intel.com>\n\t<20170908134320.GC2477@lahna.fi.intel.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170908134320.GC2477@lahna.fi.intel.com>","User-Agent":"NeoMutt/20170113 (1.7.2)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765385,"web_url":"http://patchwork.ozlabs.org/comment/1765385/","msgid":"<20170908135803.GD2477@lahna.fi.intel.com>","list_archive_url":null,"date":"2017-09-08T13:58:03","subject":"Re: [PATCH v9 17/24] ACPI: Document how to refer to LEDs from remote\n\tnodes","submitter":{"id":62807,"url":"http://patchwork.ozlabs.org/api/people/62807/","name":"Mika Westerberg","email":"mika.westerberg@intel.com"},"content":"On Fri, Sep 08, 2017 at 04:54:07PM +0300, Sakari Ailus wrote:\n> On Fri, Sep 08, 2017 at 04:43:20PM +0300, Mika Westerberg wrote:\n> > On Fri, Sep 08, 2017 at 04:18:15PM +0300, Sakari Ailus wrote:\n> > > +\tDevice (LED)\n> > > +\t{\n> > > +\t\tName ((_DSD), Package () {\n> > > +\t\t\tToUUID(\"dbb8e3e6-5886-4ba6-8795-1319f52a966b\"),\n> > > +\t\t\tPackage () {\n> > > +\t\t\t\tPackage () { \"led0\", \"LED0\" },\n> > > +\t\t\t\tPackage () { \"led1\", \"LED1\" },\n> > > +\t\t\t}\n> > > +\t\t})\n> > > +\t\tName ((LED0), Package () {\n> > > +\t\t\tToUUID(\"daffd814-6eba-4d8c-8a91-bc9bbf4aa301\"),\n> > > +\t\t\tPackage () {\n> > > +\t\t\t\tPackage () { \"led\", 0 },\n> > > +\t\t\t\tPackage () { \"flash-max-microamp\", 1000000 },\n> > > +\t\t\t\tPackage () { \"led-max-microamp\", 100000 },\n> > > +\t\t\t\tPackage () { \"label\", \"led:salama\" },\n> > > +\t\t\t}\n> > > +\t\t})\n> > > +\t\tName ((LED1), Package () {\n> > > +\t\t\tToUUID(\"daffd814-6eba-4d8c-8a91-bc9bbf4aa301\"),\n> > > +\t\t\tPackage () {\n> > > +\t\t\t\tPackage () { \"led\", 1 },\n> > > +\t\t\t\tPackage () { \"led-max-microamp\", 10000 },\n> > > +\t\t\t\tPackage () { \"label\", \"led:huomiovalo\" },\n> > > +\t\t\t}\n> > > +\t\t})\n> > > +\t}\n> > > +\n> > > +\tDevice (SEN)\n> > > +\t{\n> > > +\t\tName ((_DSD), Package () {\n> > > +\t\t\tToUUID(\"daffd814-6eba-4d8c-8a91-bc9bbf4aa301\"),\n> > > +\t\t\tPackage () {\n> > > +\t\t\t\tPackage () {\n> > > +\t\t\t\t\t\"flash-leds\",\n> > > +\t\t\t\t\tPackage () { \\\\LED, 0, \\\\LED, 1 },\n> > > +\t\t\t\t}\n> > > +\t\t\t}\n> > > +\t\t})\n> > > +\t}\n> > \n> > You should probably try to compile these examples first ;-)\n> \n> Do you think I'm missing something else than s/\\\\\\\\/^/g ? :-)\n\nWell, you should write\n\n\tName (_DSD, Package () {\n\ninstead of\n\n\tName ((_DSD), Package () {\n\nbut I guess the compiler accepts the former. However, please fix it and\nmake sure it compiles without issues so that we get good, working\nexamples.\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xpf6X01Zdz9sBd\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tFri,  8 Sep 2017 23:58:12 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1754550AbdIHN6K (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tFri, 8 Sep 2017 09:58:10 -0400","from mga11.intel.com ([192.55.52.93]:24272 \"EHLO mga11.intel.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1754015AbdIHN6I (ORCPT <rfc822;devicetree@vger.kernel.org>);\n\tFri, 8 Sep 2017 09:58:08 -0400","from fmsmga003.fm.intel.com ([10.253.24.29])\n\tby fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t08 Sep 2017 06:58:08 -0700","from lahna.fi.intel.com (HELO lahna) ([10.237.72.157])\n\tby FMSMGA003.fm.intel.com with SMTP; 08 Sep 2017 06:58:04 -0700","by lahna (sSMTP sendmail emulation);\n\tFri, 08 Sep 2017 16:58:03 +0300"],"X-ExtLoop1":"1","X-IronPort-AV":"E=Sophos;i=\"5.42,361,1500966000\"; d=\"scan'208\";a=\"898386668\"","Date":"Fri, 8 Sep 2017 16:58:03 +0300","From":"Mika Westerberg <mika.westerberg@intel.com>","To":"Sakari Ailus <sakari.ailus@iki.fi>","Cc":"Sakari Ailus <sakari.ailus@linux.intel.com>,\n\tlinux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tdevicetree@vger.kernel.org, pavel@ucw.cz, sre@kernel.org","Subject":"Re: [PATCH v9 17/24] ACPI: Document how to refer to LEDs from remote\n\tnodes","Message-ID":"<20170908135803.GD2477@lahna.fi.intel.com>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-13-sakari.ailus@linux.intel.com>\n\t<20170908134320.GC2477@lahna.fi.intel.com>\n\t<20170908135407.qxustmjr3yqhp7y5@valkosipuli.retiisi.org.uk>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170908135407.qxustmjr3yqhp7y5@valkosipuli.retiisi.org.uk>","Organization":"Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo","User-Agent":"Mutt/1.8.3 (2017-05-23)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765768,"web_url":"http://patchwork.ozlabs.org/comment/1765768/","msgid":"<20170909090817.GG27428@amd>","list_archive_url":null,"date":"2017-09-09T09:08:18","subject":"Re: [PATCH v9 17/24] ACPI: Document how to refer to LEDs from remote\n\tnodes","submitter":{"id":2109,"url":"http://patchwork.ozlabs.org/api/people/2109/","name":"Pavel Machek","email":"pavel@ucw.cz"},"content":"On Fri 2017-09-08 16:18:15, Sakari Ailus wrote:\n> Document referring to LEDs from remote device nodes, such as from camera\n> sensors.\n> \n> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n\n> diff --git a/Documentation/acpi/dsd/leds.txt b/Documentation/acpi/dsd/leds.txt\n> new file mode 100644\n> index 000000000000..6217fcda15c9\n> --- /dev/null\n> +++ b/Documentation/acpi/dsd/leds.txt\n> @@ -0,0 +1,92 @@\n> +Describing and referring to LEDs in ACPI\n> +\n> +Individual LEDs are described by hierarchical data extension [6] nodes\n> +under the device node, the LED driver chip. The \"led\" property in the\n> +LED specific nodes tells the numerical ID of each individual LED. The\n> +\"led\" property is used here in a similar fashion as the \"reg\" property\n> +in DT. [3]\n> +\n> +Referring to LEDs in Devicetree is documented in [4], in \"flash-leds\"\n> +property documentation. In short, LEDs are directly referred to by\n> +using phandles.\n> +\n> +While Devicetree allows referring to any node in the tree[1], in\n\nDocumentation/devicetree/usage-model.txt talks about \"device tree\" or\n\"Device Tree\" . Single word looks strange to me...","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xq7dg4tw5z9s82\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSat,  9 Sep 2017 19:08:23 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1757334AbdIIJIW (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tSat, 9 Sep 2017 05:08:22 -0400","from atrey.karlin.mff.cuni.cz ([195.113.26.193]:48516 \"EHLO\n\tatrey.karlin.mff.cuni.cz\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1757293AbdIIJIV (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Sat, 9 Sep 2017 05:08:21 -0400","by atrey.karlin.mff.cuni.cz (Postfix, from userid 512)\n\tid C1F8582426; Sat,  9 Sep 2017 11:08:18 +0200 (CEST)"],"Date":"Sat, 9 Sep 2017 11:08:18 +0200","From":"Pavel Machek <pavel@ucw.cz>","To":"Sakari Ailus <sakari.ailus@linux.intel.com>","Cc":"linux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org, sre@kernel.org","Subject":"Re: [PATCH v9 17/24] ACPI: Document how to refer to LEDs from remote\n\tnodes","Message-ID":"<20170909090817.GG27428@amd>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-13-sakari.ailus@linux.intel.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha1;\n\tprotocol=\"application/pgp-signature\"; boundary=\"eVzOFob/8UvintSX\"","Content-Disposition":"inline","In-Reply-To":"<20170908131822.31020-13-sakari.ailus@linux.intel.com>","User-Agent":"Mutt/1.5.23 (2014-03-12)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765771,"web_url":"http://patchwork.ozlabs.org/comment/1765771/","msgid":"<20170909091509.GJ27428@amd>","list_archive_url":null,"date":"2017-09-09T09:15:09","subject":"Re: [PATCH v9 03/24] v4l: async: Use more intuitive names for\n\tinternal functions","submitter":{"id":2109,"url":"http://patchwork.ozlabs.org/api/people/2109/","name":"Pavel Machek","email":"pavel@ucw.cz"},"content":"On Fri 2017-09-08 16:11:54, Sakari Ailus wrote:\n> Rename internal functions to make the names of the functions better\n> describe what they do.\n> \n> \tOld name\t\t\tNew name\n> \tv4l2_async_test_notify\tv4l2_async_match_notify\n> \tv4l2_async_belongs\tv4l2_async_find_match\n> \n> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n\nAcked-by: Pavel Machek <pavel@ucw.cz>","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xq7nb5XyVz9s8J\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSat,  9 Sep 2017 19:15:15 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1757364AbdIIJPM (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tSat, 9 Sep 2017 05:15:12 -0400","from atrey.karlin.mff.cuni.cz ([195.113.26.193]:48701 \"EHLO\n\tatrey.karlin.mff.cuni.cz\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1757293AbdIIJPL (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Sat, 9 Sep 2017 05:15:11 -0400","by atrey.karlin.mff.cuni.cz (Postfix, from userid 512)\n\tid 20B8182426; Sat,  9 Sep 2017 11:15:10 +0200 (CEST)"],"Date":"Sat, 9 Sep 2017 11:15:09 +0200","From":"Pavel Machek <pavel@ucw.cz>","To":"Sakari Ailus <sakari.ailus@linux.intel.com>","Cc":"linux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org, sre@kernel.org","Subject":"Re: [PATCH v9 03/24] v4l: async: Use more intuitive names for\n\tinternal functions","Message-ID":"<20170909091509.GJ27428@amd>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131235.30294-4-sakari.ailus@linux.intel.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha1;\n\tprotocol=\"application/pgp-signature\"; boundary=\"FCKy2vjPBX+S/5dE\"","Content-Disposition":"inline","In-Reply-To":"<20170908131235.30294-4-sakari.ailus@linux.intel.com>","User-Agent":"Mutt/1.5.23 (2014-03-12)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765772,"web_url":"http://patchwork.ozlabs.org/comment/1765772/","msgid":"<20170909091628.GK27428@amd>","list_archive_url":null,"date":"2017-09-09T09:16:28","subject":"Re: [PATCH v9 08/24] omap3isp: Fix check for our own sub-devices","submitter":{"id":2109,"url":"http://patchwork.ozlabs.org/api/people/2109/","name":"Pavel Machek","email":"pavel@ucw.cz"},"content":"On Fri 2017-09-08 16:18:06, Sakari Ailus wrote:\n> We only want to link sub-devices that were bound to the async notifier the\n> isp driver registered but there may be other sub-devices in the\n> v4l2_device as well. Check for the correct async notifier.\n> \n> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n> Acked-by: Hans Verkuil <hans.verkuil@cisco.com>\n\nAcked-by: Pavel Machek <pavel@ucw.cz>","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xq7q41Mv8z9s82\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSat,  9 Sep 2017 19:16:32 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1757369AbdIIJQb (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tSat, 9 Sep 2017 05:16:31 -0400","from atrey.karlin.mff.cuni.cz ([195.113.26.193]:48751 \"EHLO\n\tatrey.karlin.mff.cuni.cz\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1757293AbdIIJQa (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Sat, 9 Sep 2017 05:16:30 -0400","by atrey.karlin.mff.cuni.cz (Postfix, from userid 512)\n\tid F3BB582426; Sat,  9 Sep 2017 11:16:28 +0200 (CEST)"],"Date":"Sat, 9 Sep 2017 11:16:28 +0200","From":"Pavel Machek <pavel@ucw.cz>","To":"Sakari Ailus <sakari.ailus@linux.intel.com>","Cc":"linux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org, sre@kernel.org","Subject":"Re: [PATCH v9 08/24] omap3isp: Fix check for our own sub-devices","Message-ID":"<20170909091628.GK27428@amd>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-4-sakari.ailus@linux.intel.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha1;\n\tprotocol=\"application/pgp-signature\"; boundary=\"Ucgz5Oc/kKURWzXs\"","Content-Disposition":"inline","In-Reply-To":"<20170908131822.31020-4-sakari.ailus@linux.intel.com>","User-Agent":"Mutt/1.5.23 (2014-03-12)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765773,"web_url":"http://patchwork.ozlabs.org/comment/1765773/","msgid":"<20170909091646.GL27428@amd>","list_archive_url":null,"date":"2017-09-09T09:16:46","subject":"Re: [PATCH v9 09/24] omap3isp: Print the name of the entity where no\n\tsource pads could be found","submitter":{"id":2109,"url":"http://patchwork.ozlabs.org/api/people/2109/","name":"Pavel Machek","email":"pavel@ucw.cz"},"content":"On Fri 2017-09-08 16:18:07, Sakari Ailus wrote:\n> If no source pads are found in an entity, print the name of the entity.\n> \n> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n> Acked-by: Hans Verkuil <hans.verkuil@cisco.com>\n\nAcked-by: Pavel Machek <pavel@ucw.cz>","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xq7qQ3jFYz9sBW\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSat,  9 Sep 2017 19:16:50 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1757413AbdIIJQs (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tSat, 9 Sep 2017 05:16:48 -0400","from atrey.karlin.mff.cuni.cz ([195.113.26.193]:48760 \"EHLO\n\tatrey.karlin.mff.cuni.cz\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1757293AbdIIJQs (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Sat, 9 Sep 2017 05:16:48 -0400","by atrey.karlin.mff.cuni.cz (Postfix, from userid 512)\n\tid E3BCF82478; Sat,  9 Sep 2017 11:16:46 +0200 (CEST)"],"Date":"Sat, 9 Sep 2017 11:16:46 +0200","From":"Pavel Machek <pavel@ucw.cz>","To":"Sakari Ailus <sakari.ailus@linux.intel.com>","Cc":"linux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org, sre@kernel.org","Subject":"Re: [PATCH v9 09/24] omap3isp: Print the name of the entity where no\n\tsource pads could be found","Message-ID":"<20170909091646.GL27428@amd>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-5-sakari.ailus@linux.intel.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha1;\n\tprotocol=\"application/pgp-signature\"; boundary=\"B92bTrfKjyax39gr\"","Content-Disposition":"inline","In-Reply-To":"<20170908131822.31020-5-sakari.ailus@linux.intel.com>","User-Agent":"Mutt/1.5.23 (2014-03-12)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765774,"web_url":"http://patchwork.ozlabs.org/comment/1765774/","msgid":"<20170909091934.GM27428@amd>","list_archive_url":null,"date":"2017-09-09T09:19:34","subject":"Re: [PATCH v9 18/24] as3645a: Switch to fwnode property API","submitter":{"id":2109,"url":"http://patchwork.ozlabs.org/api/people/2109/","name":"Pavel Machek","email":"pavel@ucw.cz"},"content":"On Fri 2017-09-08 16:18:16, Sakari Ailus wrote:\n> Switch the as3645a from OF to the fwnode property API. Also add ACPI\n> support.\n> \n> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n\nAcked-by: Pavel Machek <pavel@ucw.cz>","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xq7tk08QVz9s82\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSat,  9 Sep 2017 19:19:42 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1757372AbdIIJTi (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tSat, 9 Sep 2017 05:19:38 -0400","from atrey.karlin.mff.cuni.cz ([195.113.26.193]:48849 \"EHLO\n\tatrey.karlin.mff.cuni.cz\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1757293AbdIIJTg (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Sat, 9 Sep 2017 05:19:36 -0400","by atrey.karlin.mff.cuni.cz (Postfix, from userid 512)\n\tid 76A6181C4B; Sat,  9 Sep 2017 11:19:34 +0200 (CEST)"],"Date":"Sat, 9 Sep 2017 11:19:34 +0200","From":"Pavel Machek <pavel@ucw.cz>","To":"Sakari Ailus <sakari.ailus@linux.intel.com>","Cc":"linux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org, sre@kernel.org","Subject":"Re: [PATCH v9 18/24] as3645a: Switch to fwnode property API","Message-ID":"<20170909091934.GM27428@amd>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-14-sakari.ailus@linux.intel.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha1;\n\tprotocol=\"application/pgp-signature\"; boundary=\"wKTlTxfx0Fr6BT7S\"","Content-Disposition":"inline","In-Reply-To":"<20170908131822.31020-14-sakari.ailus@linux.intel.com>","User-Agent":"Mutt/1.5.23 (2014-03-12)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765776,"web_url":"http://patchwork.ozlabs.org/comment/1765776/","msgid":"<20170909093413.GN27428@amd>","list_archive_url":null,"date":"2017-09-09T09:34:13","subject":"Re: [PATCH v9 00/23] Unified fwnode endpoint parser, async\n\tsub-device notifier support, N9 flash DTS","submitter":{"id":2109,"url":"http://patchwork.ozlabs.org/api/people/2109/","name":"Pavel Machek","email":"pavel@ucw.cz"},"content":"On Fri 2017-09-08 16:25:07, Sakari Ailus wrote:\n> On Fri, Sep 08, 2017 at 04:11:51PM +0300, Sakari Ailus wrote:\n> > With this, the as3645a driver successfully registers a sub-device to the\n> > media device created by the omap3isp driver. The kernel also has the\n> > information it's related to the sensor driven by the smiapp driver but we\n> > don't have a way to expose that information yet.\n> \n> The patches are also available here:\n> \n> <URL:https://git.linuxtv.org/sailus/media_tree.git/log/?h=fwnode-parse>\n\nI merged the series on top of v4.14-rc0, and it does not break\nanything. So:\n\nTested-by: Pavel Machek <pavel@ucw.cz>\n\n\t\t\t\t\t\t\t\t\tPavel","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xq8CZ4XVjz9s7G\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSat,  9 Sep 2017 19:34:18 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1757453AbdIIJeQ (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tSat, 9 Sep 2017 05:34:16 -0400","from atrey.karlin.mff.cuni.cz ([195.113.26.193]:49533 \"EHLO\n\tatrey.karlin.mff.cuni.cz\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751134AbdIIJeP (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Sat, 9 Sep 2017 05:34:15 -0400","by atrey.karlin.mff.cuni.cz (Postfix, from userid 512)\n\tid 0412F8244D; Sat,  9 Sep 2017 11:34:13 +0200 (CEST)"],"Date":"Sat, 9 Sep 2017 11:34:13 +0200","From":"Pavel Machek <pavel@ucw.cz>","To":"Sakari Ailus <sakari.ailus@iki.fi>","Cc":"Sakari Ailus <sakari.ailus@linux.intel.com>,\n\tlinux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org, sre@kernel.org","Subject":"Re: [PATCH v9 00/23] Unified fwnode endpoint parser, async\n\tsub-device notifier support, N9 flash DTS","Message-ID":"<20170909093413.GN27428@amd>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908132507.nqofkw2g43m7ydux@valkosipuli.retiisi.org.uk>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha1;\n\tprotocol=\"application/pgp-signature\"; boundary=\"oIlomvtVtXAVxSKT\"","Content-Disposition":"inline","In-Reply-To":"<20170908132507.nqofkw2g43m7ydux@valkosipuli.retiisi.org.uk>","User-Agent":"Mutt/1.5.23 (2014-03-12)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765808,"web_url":"http://patchwork.ozlabs.org/comment/1765808/","msgid":"<3924992.Y6xJjAbaat@avalon>","list_archive_url":null,"date":"2017-09-09T15:34:25","subject":"Re: [PATCH v9 03/24] v4l: async: Use more intuitive names for\n\tinternal functions","submitter":{"id":11034,"url":"http://patchwork.ozlabs.org/api/people/11034/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Sakari,\n\nThank you for the patch.\n\nOn Friday, 8 September 2017 16:11:54 EEST Sakari Ailus wrote:\n> Rename internal functions to make the names of the functions better\n> describe what they do.\n> \n> \tOld name\t\t\tNew name\n> \tv4l2_async_test_notify\tv4l2_async_match_notify\n> \tv4l2_async_belongs\tv4l2_async_find_match\n> \n> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n\nLooks good to me.\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nKerneldoc for the two functions would of course have been even better :-) That \ncan be added in a separate patch.\n\n> ---\n>  drivers/media/v4l2-core/v4l2-async.c | 19 ++++++++++---------\n>  1 file changed, 10 insertions(+), 9 deletions(-)\n> \n> diff --git a/drivers/media/v4l2-core/v4l2-async.c\n> b/drivers/media/v4l2-core/v4l2-async.c index e109d9da4653..831f185ecd47\n> 100644\n> --- a/drivers/media/v4l2-core/v4l2-async.c\n> +++ b/drivers/media/v4l2-core/v4l2-async.c\n> @@ -60,8 +60,8 @@ static LIST_HEAD(subdev_list);\n>  static LIST_HEAD(notifier_list);\n>  static DEFINE_MUTEX(list_lock);\n> \n> -static struct v4l2_async_subdev *v4l2_async_belongs(struct\n> v4l2_async_notifier *notifier, -\t\t\t\t\t\t    struct v4l2_subdev *sd)\n> +static struct v4l2_async_subdev *v4l2_async_find_match(\n> +\tstruct v4l2_async_notifier *notifier, struct v4l2_subdev *sd)\n>  {\n>  \tbool (*match)(struct v4l2_subdev *, struct v4l2_async_subdev *);\n>  \tstruct v4l2_async_subdev *asd;\n> @@ -95,9 +95,9 @@ static struct v4l2_async_subdev *v4l2_async_belongs(struct\n> v4l2_async_notifier * return NULL;\n>  }\n> \n> -static int v4l2_async_test_notify(struct v4l2_async_notifier *notifier,\n> -\t\t\t\t  struct v4l2_subdev *sd,\n> -\t\t\t\t  struct v4l2_async_subdev *asd)\n> +static int v4l2_async_match_notify(struct v4l2_async_notifier *notifier,\n> +\t\t\t\t   struct v4l2_subdev *sd,\n> +\t\t\t\t   struct v4l2_async_subdev *asd)\n>  {\n>  \tint ret;\n> \n> @@ -175,11 +175,11 @@ int v4l2_async_notifier_register(struct v4l2_device\n> *v4l2_dev, list_for_each_entry_safe(sd, tmp, &subdev_list, async_list) {\n>  \t\tint ret;\n> \n> -\t\tasd = v4l2_async_belongs(notifier, sd);\n> +\t\tasd = v4l2_async_find_match(notifier, sd);\n>  \t\tif (!asd)\n>  \t\t\tcontinue;\n> \n> -\t\tret = v4l2_async_test_notify(notifier, sd, asd);\n> +\t\tret = v4l2_async_match_notify(notifier, sd, asd);\n>  \t\tif (ret < 0) {\n>  \t\t\tmutex_unlock(&list_lock);\n>  \t\t\treturn ret;\n> @@ -236,9 +236,10 @@ int v4l2_async_register_subdev(struct v4l2_subdev *sd)\n>  \tINIT_LIST_HEAD(&sd->async_list);\n> \n>  \tlist_for_each_entry(notifier, &notifier_list, list) {\n> -\t\tstruct v4l2_async_subdev *asd = v4l2_async_belongs(notifier, sd);\n> +\t\tstruct v4l2_async_subdev *asd = v4l2_async_find_match(notifier,\n> +\t\t\t\t\t\t\t\t      sd);\n>  \t\tif (asd) {\n> -\t\t\tint ret = v4l2_async_test_notify(notifier, sd, asd);\n> +\t\t\tint ret = v4l2_async_match_notify(notifier, sd, asd);\n>  \t\t\tmutex_unlock(&list_lock);\n>  \t\t\treturn ret;\n>  \t\t}","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"bj+pcKev\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xqJC94b77z9sNc\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSun, 10 Sep 2017 01:34:29 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1757579AbdIIPe1 (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tSat, 9 Sep 2017 11:34:27 -0400","from galahad.ideasonboard.com ([185.26.127.97]:58459 \"EHLO\n\tgalahad.ideasonboard.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1753824AbdIIPe0 (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Sat, 9 Sep 2017 11:34:26 -0400","from avalon.localnet (unknown [195.76.232.154])\n\tby galahad.ideasonboard.com (Postfix) with ESMTPSA id 694ED2017E;\n\tSat,  9 Sep 2017 17:32:13 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1504971133;\n\tbh=C4oYt+JT8vmzkOAIr4FAdS9CjXWVaepDY87ohVVUjv0=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=bj+pcKevM2CU3xeFiniCkYRw87npMF2IG2+g1maW2BULMNX6EjsdUqGyctaEVotns\n\tGRwuQX6YqXUje4Q05M+rMTwzUmNQ7jsmMvOTQRohSJ43j30g7Ic53bcbCEamwDmK27\n\tTGsX3CLk+KkUoCuglJGKHv+oPTiSNlpSb0NTJ/yY=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Sakari Ailus <sakari.ailus@linux.intel.com>","Cc":"linux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org,\n\tpavel@ucw.cz, sre@kernel.org","Subject":"Re: [PATCH v9 03/24] v4l: async: Use more intuitive names for\n\tinternal functions","Date":"Sat, 09 Sep 2017 18:34:25 +0300","Message-ID":"<3924992.Y6xJjAbaat@avalon>","In-Reply-To":"<20170908131235.30294-4-sakari.ailus@linux.intel.com>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131235.30294-4-sakari.ailus@linux.intel.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"7Bit","Content-Type":"text/plain; charset=\"us-ascii\"","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765809,"web_url":"http://patchwork.ozlabs.org/comment/1765809/","msgid":"<2128463.znNVtuGJSF@avalon>","list_archive_url":null,"date":"2017-09-09T15:36:41","subject":"Re: [PATCH v9 02/24] v4l: async: Remove re-probing support","submitter":{"id":11034,"url":"http://patchwork.ozlabs.org/api/people/11034/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Sakari,\n\nThank you for the patch.\n\nOn Friday, 8 September 2017 16:11:53 EEST Sakari Ailus wrote:\n> Remove V4L2 async re-probing support. The re-probing support has been\n> there to support cases where the sub-devices require resources provided by\n> the main driver's hardware to function, such as clocks.\n> \n> Reprobing has allowed unbinding and again binding the main driver without\n> explicilty unbinding the sub-device drivers. This is certainly not a\n> common need, and the responsibility will be the user's going forward.\n> \n> An alternative could have been to introduce notifier specific locks.\n> Considering the complexity of the re-probing and that it isn't really a\n> solution to a problem but a workaround, remove re-probing instead.\n> \n> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n\nI agree that this is a hack, and that the problem should be addressed \ndifferently. I'm fine with this patch as it helps later rework of the async \nnotifier code, but we need a plan to fix the problem.\n\n> ---\n>  drivers/media/v4l2-core/v4l2-async.c | 54 ---------------------------------\n>  1 file changed, 54 deletions(-)\n> \n> diff --git a/drivers/media/v4l2-core/v4l2-async.c\n> b/drivers/media/v4l2-core/v4l2-async.c index d741a8e0fdac..e109d9da4653\n> 100644\n> --- a/drivers/media/v4l2-core/v4l2-async.c\n> +++ b/drivers/media/v4l2-core/v4l2-async.c\n> @@ -198,78 +198,24 @@ EXPORT_SYMBOL(v4l2_async_notifier_register);\n>  void v4l2_async_notifier_unregister(struct v4l2_async_notifier *notifier)\n>  {\n>  \tstruct v4l2_subdev *sd, *tmp;\n> -\tunsigned int notif_n_subdev = notifier->num_subdevs;\n> -\tunsigned int n_subdev = min(notif_n_subdev, V4L2_MAX_SUBDEVS);\n> -\tstruct device **dev;\n> -\tint i = 0;\n> \n>  \tif (!notifier->v4l2_dev)\n>  \t\treturn;\n> \n> -\tdev = kvmalloc_array(n_subdev, sizeof(*dev), GFP_KERNEL);\n> -\tif (!dev) {\n> -\t\tdev_err(notifier->v4l2_dev->dev,\n> -\t\t\t\"Failed to allocate device cache!\\n\");\n> -\t}\n> -\n>  \tmutex_lock(&list_lock);\n> \n>  \tlist_del(&notifier->list);\n> \n>  \tlist_for_each_entry_safe(sd, tmp, &notifier->done, async_list) {\n> -\t\tstruct device *d;\n> -\n> -\t\td = get_device(sd->dev);\n> -\n>  \t\tv4l2_async_cleanup(sd);\n> \n> -\t\t/* If we handled USB devices, we'd have to lock the parent too */\n> -\t\tdevice_release_driver(d);\n> -\n>  \t\tif (notifier->unbind)\n>  \t\t\tnotifier->unbind(notifier, sd, sd->asd);\n> -\n> -\t\t/*\n> -\t\t * Store device at the device cache, in order to call\n> -\t\t * put_device() on the final step\n> -\t\t */\n> -\t\tif (dev)\n> -\t\t\tdev[i++] = d;\n> -\t\telse\n> -\t\t\tput_device(d);\n>  \t}\n> \n>  \tmutex_unlock(&list_lock);\n> \n> -\t/*\n> -\t * Call device_attach() to reprobe devices\n> -\t *\n> -\t * NOTE: If dev allocation fails, i is 0, and the whole loop won't be\n> -\t * executed.\n> -\t */\n> -\twhile (i--) {\n> -\t\tstruct device *d = dev[i];\n> -\n> -\t\tif (d && device_attach(d) < 0) {\n> -\t\t\tconst char *name = \"(none)\";\n> -\t\t\tint lock = device_trylock(d);\n> -\n> -\t\t\tif (lock && d->driver)\n> -\t\t\t\tname = d->driver->name;\n> -\t\t\tdev_err(d, \"Failed to re-probe to %s\\n\", name);\n> -\t\t\tif (lock)\n> -\t\t\t\tdevice_unlock(d);\n> -\t\t}\n> -\t\tput_device(d);\n> -\t}\n> -\tkvfree(dev);\n> -\n>  \tnotifier->v4l2_dev = NULL;\n> -\n> -\t/*\n> -\t * Don't care about the waiting list, it is initialised and populated\n> -\t * upon notifier registration.\n> -\t */\n>  }\n>  EXPORT_SYMBOL(v4l2_async_notifier_unregister);","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"oyzpYxxp\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xqJFm4s1vz9sRY\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSun, 10 Sep 2017 01:36:44 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1757527AbdIIPgm (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tSat, 9 Sep 2017 11:36:42 -0400","from galahad.ideasonboard.com ([185.26.127.97]:58474 \"EHLO\n\tgalahad.ideasonboard.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1753865AbdIIPgl (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Sat, 9 Sep 2017 11:36:41 -0400","from avalon.localnet (unknown [195.76.232.154])\n\tby galahad.ideasonboard.com (Postfix) with ESMTPSA id 2026F2017E;\n\tSat,  9 Sep 2017 17:34:29 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1504971269;\n\tbh=slkiz73KA7B3METpZ7emwCXMDVEPmkHdk2cCKh1av+M=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=oyzpYxxp3DcrRXMCMhZy0IGTJBCWlDaMram1CnO03EOOUMkc+mJN6JtCDOjqxtx+H\n\taSNA8tI8SjdP0PTJoT+FD9JVROHU+jvDjDZeX0ljr9+/7y4+XtFQwD8yIQkLoWIZty\n\t8bwkfjF47y/EZGDMZXdv8dRr9ionPNX+hC6qIVfg=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Sakari Ailus <sakari.ailus@linux.intel.com>","Cc":"linux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org,\n\tpavel@ucw.cz, sre@kernel.org","Subject":"Re: [PATCH v9 02/24] v4l: async: Remove re-probing support","Date":"Sat, 09 Sep 2017 18:36:41 +0300","Message-ID":"<2128463.znNVtuGJSF@avalon>","In-Reply-To":"<20170908131235.30294-3-sakari.ailus@linux.intel.com>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131235.30294-3-sakari.ailus@linux.intel.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"7Bit","Content-Type":"text/plain; charset=\"us-ascii\"","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765810,"web_url":"http://patchwork.ozlabs.org/comment/1765810/","msgid":"<2286055.TjJQYklu2V@avalon>","list_archive_url":null,"date":"2017-09-09T15:37:25","subject":"Re: [PATCH v9 04/24] v4l: async: Add V4L2 async documentation to the\n\tdocumentation build","submitter":{"id":11034,"url":"http://patchwork.ozlabs.org/api/people/11034/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Sakari,\n\nThank you for the patch.\n\nOn Friday, 8 September 2017 16:11:55 EEST Sakari Ailus wrote:\n> The V4L2 async wasn't part of the documentation build. Fix this.\n> \n> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n> Reviewed-by: Niklas SÃ¶derlund <niklas.soderlund+renesas@ragnatech.se>\n\nWith character encoding fixed,\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> Acked-by: Hans Verkuil <hans.verkuil@cisco.com>\n> ---\n>  Documentation/media/kapi/v4l2-async.rst | 3 +++\n>  Documentation/media/kapi/v4l2-core.rst  | 1 +\n>  2 files changed, 4 insertions(+)\n>  create mode 100644 Documentation/media/kapi/v4l2-async.rst\n> \n> diff --git a/Documentation/media/kapi/v4l2-async.rst\n> b/Documentation/media/kapi/v4l2-async.rst new file mode 100644\n> index 000000000000..523ff9eb09a0\n> --- /dev/null\n> +++ b/Documentation/media/kapi/v4l2-async.rst\n> @@ -0,0 +1,3 @@\n> +V4L2 async kAPI\n> +^^^^^^^^^^^^^^^\n> +.. kernel-doc:: include/media/v4l2-async.h\n> diff --git a/Documentation/media/kapi/v4l2-core.rst\n> b/Documentation/media/kapi/v4l2-core.rst index c7434f38fd9c..5cf292037a48\n> 100644\n> --- a/Documentation/media/kapi/v4l2-core.rst\n> +++ b/Documentation/media/kapi/v4l2-core.rst\n> @@ -19,6 +19,7 @@ Video4Linux devices\n>      v4l2-mc\n>      v4l2-mediabus\n>      v4l2-mem2mem\n> +    v4l2-async\n>      v4l2-fwnode\n>      v4l2-rect\n>      v4l2-tuner","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"cwUy9M2e\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xqJGc0TBWz9sRY\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSun, 10 Sep 2017 01:37:27 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1757560AbdIIPh0 (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tSat, 9 Sep 2017 11:37:26 -0400","from galahad.ideasonboard.com ([185.26.127.97]:58483 \"EHLO\n\tgalahad.ideasonboard.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1753686AbdIIPhZ (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Sat, 9 Sep 2017 11:37:25 -0400","from avalon.localnet (unknown [195.76.232.154])\n\tby galahad.ideasonboard.com (Postfix) with ESMTPSA id EA3CB2017E;\n\tSat,  9 Sep 2017 17:35:12 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1504971313;\n\tbh=/NECjDpShMt8qCRtjuvNT9Rta2BAa1hx/lsoLGcGkC0=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=cwUy9M2enzyc6oABymOCh/zWJ1oTJAfNmVVA6Ca4TG8S2FHpU/Pxpphhj2/82VVRK\n\t9lfB+/+CfYiuzDYInfTU//BFUWbt4m6Z6FpoaRwmeADBJsVXgTkD2uTK/vS7U3n3pM\n\thz/oPnMngu6ARVzNSVurtNt8DxgeNd3hMpiTDNvE=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Sakari Ailus <sakari.ailus@linux.intel.com>","Cc":"linux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org,\n\tpavel@ucw.cz, sre@kernel.org","Subject":"Re: [PATCH v9 04/24] v4l: async: Add V4L2 async documentation to the\n\tdocumentation build","Date":"Sat, 09 Sep 2017 18:37:25 +0300","Message-ID":"<2286055.TjJQYklu2V@avalon>","In-Reply-To":"<20170908131235.30294-5-sakari.ailus@linux.intel.com>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131235.30294-5-sakari.ailus@linux.intel.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","Content-Type":"text/plain; charset=\"iso-8859-1\"","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765833,"web_url":"http://patchwork.ozlabs.org/comment/1765833/","msgid":"<20170909183240.GA15397@amd>","list_archive_url":null,"date":"2017-09-09T18:32:40","subject":"Re: [PATCH v9 24/24] arm: dts: omap3: N9/N950: Add flash references\n\tto the camera","submitter":{"id":2109,"url":"http://patchwork.ozlabs.org/api/people/2109/","name":"Pavel Machek","email":"pavel@ucw.cz"},"content":"Hi!\n\n> Add flash and indicator LED phandles to the sensor node.\n> \n> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n\nI'm adding similar support to et8ek8 and wonder.. why don't you also\nadd support for autofocus? Driver not yet available?\n\nThanks,\n\t\t\t\t\t\t\tPavel\n> @@ -26,6 +26,7 @@\n>  \t\tclocks = <&isp 0>;\n>  \t\tclock-frequency = <9600000>;\n>  \t\tnokia,nvm-size = <(16 * 64)>;\n> +\t\tflash-leds = <&as3645a_flash &as3645a_indicator>;\n>  \t\tport {\n>  \t\t\tsmia_1_1: endpoint {\n>  \t\t\t\tlink-frequencies = /bits/ 64 <199200000 210000000 499200000>;\n> diff --git a/arch/arm/boot/dts/omap3-n950-n9.dtsi b/arch/arm/boot/dts/omap3-n950-n9.dtsi\n> index 1b0bd72945f2..12fbb3da5fce 100644\n> --- a/arch/arm/boot/dts/omap3-n950-n9.dtsi\n> +++ b/arch/arm/boot/dts/omap3-n950-n9.dtsi\n> @@ -271,14 +271,14 @@\n>  \t\t#size-cells = <0>;\n>  \t\treg = <0x30>;\n>  \t\tcompatible = \"ams,as3645a\";\n> -\t\tflash@0 {\n> +\t\tas3645a_flash: flash@0 {\n>  \t\t\treg = <0x0>;\n>  \t\t\tflash-timeout-us = <150000>;\n>  \t\t\tflash-max-microamp = <320000>;\n>  \t\t\tled-max-microamp = <60000>;\n>  \t\t\tams,input-max-microamp = <1750000>;\n>  \t\t};\n> -\t\tindicator@1 {\n> +\t\tas3645a_indicator: indicator@1 {\n>  \t\t\treg = <0x1>;\n>  \t\t\tled-max-microamp = <10000>;\n>  \t\t};\n> diff --git a/arch/arm/boot/dts/omap3-n950.dts b/arch/arm/boot/dts/omap3-n950.dts\n> index 646601a3ebd8..c354a1ed1e70 100644\n> --- a/arch/arm/boot/dts/omap3-n950.dts\n> +++ b/arch/arm/boot/dts/omap3-n950.dts\n> @@ -60,6 +60,7 @@\n>  \t\tclocks = <&isp 0>;\n>  \t\tclock-frequency = <9600000>;\n>  \t\tnokia,nvm-size = <(16 * 64)>;\n> +\t\tflash-leds = <&as3645a_flash &as3645a_indicator>;\n>  \t\tport {\n>  \t\t\tsmia_1_1: endpoint {\n>  \t\t\t\tlink-frequencies = /bits/ 64 <210000000 333600000 398400000>;","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xqN8t1FQ1z9t3C\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSun, 10 Sep 2017 04:32:46 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751852AbdIISco (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tSat, 9 Sep 2017 14:32:44 -0400","from atrey.karlin.mff.cuni.cz ([195.113.26.193]:36142 \"EHLO\n\tatrey.karlin.mff.cuni.cz\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751166AbdIIScn (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Sat, 9 Sep 2017 14:32:43 -0400","by atrey.karlin.mff.cuni.cz (Postfix, from userid 512)\n\tid A031082485; Sat,  9 Sep 2017 20:32:41 +0200 (CEST)"],"Date":"Sat, 9 Sep 2017 20:32:40 +0200","From":"Pavel Machek <pavel@ucw.cz>","To":"Sakari Ailus <sakari.ailus@linux.intel.com>","Cc":"linux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org, sre@kernel.org","Subject":"Re: [PATCH v9 24/24] arm: dts: omap3: N9/N950: Add flash references\n\tto the camera","Message-ID":"<20170909183240.GA15397@amd>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-20-sakari.ailus@linux.intel.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha1;\n\tprotocol=\"application/pgp-signature\"; boundary=\"oyUTqETQ0mS9luUI\"","Content-Disposition":"inline","In-Reply-To":"<20170908131822.31020-20-sakari.ailus@linux.intel.com>","User-Agent":"Mutt/1.5.23 (2014-03-12)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765838,"web_url":"http://patchwork.ozlabs.org/comment/1765838/","msgid":"<f6c79aff-dcc7-ee7d-e224-1f9bc6af1fee@gmail.com>","list_archive_url":null,"date":"2017-09-09T19:06:41","subject":"Re: [PATCH v9 18/24] as3645a: Switch to fwnode property API","submitter":{"id":66885,"url":"http://patchwork.ozlabs.org/api/people/66885/","name":"Jacek Anaszewski","email":"jacek.anaszewski@gmail.com"},"content":"Hi Sakari,\n\nI've come across this patch only by a chance. I believe that merging\nleds-as3645a.c patches via media tree is not going to be a persistent\npattern. At least we haven't agreed on that, and in any case I should\nhave a possibility to give my ack for this patch.\n\nWould you mind also adding linux-leds list on cc when touching areas\nrelated to LED/flash devices?\n\nThanks in advance.\n\nBest regards,\nJacek Anaszewski\n\nOn 09/08/2017 03:18 PM, Sakari Ailus wrote:\n> Switch the as3645a from OF to the fwnode property API. Also add ACPI\n> support.\n> \n> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n> ---\n>  drivers/leds/leds-as3645a.c | 81 +++++++++++++++++++++++++--------------------\n>  1 file changed, 46 insertions(+), 35 deletions(-)\n> \n> diff --git a/drivers/leds/leds-as3645a.c b/drivers/leds/leds-as3645a.c\n> index 605e0c64e974..2e73c3f818f1 100644\n> --- a/drivers/leds/leds-as3645a.c\n> +++ b/drivers/leds/leds-as3645a.c\n> @@ -25,7 +25,7 @@\n>  #include <linux/leds.h>\n>  #include <linux/module.h>\n>  #include <linux/mutex.h>\n> -#include <linux/of.h>\n> +#include <linux/property.h>\n>  #include <linux/slab.h>\n>  \n>  #include <media/v4l2-flash-led-class.h>\n> @@ -148,8 +148,8 @@ struct as3645a {\n>  \tstruct v4l2_flash *vf;\n>  \tstruct v4l2_flash *vfind;\n>  \n> -\tstruct device_node *flash_node;\n> -\tstruct device_node *indicator_node;\n> +\tstruct fwnode_handle *flash_node;\n> +\tstruct fwnode_handle *indicator_node;\n>  \n>  \tstruct as3645a_config cfg;\n>  \n> @@ -492,30 +492,33 @@ static int as3645a_detect(struct as3645a *flash)\n>  \n>  static int as3645a_parse_node(struct as3645a *flash,\n>  \t\t\t      struct as3645a_names *names,\n> -\t\t\t      struct device_node *node)\n> +\t\t\t      struct fwnode_handle *fwnode)\n>  {\n>  \tstruct as3645a_config *cfg = &flash->cfg;\n> -\tstruct device_node *child;\n> +\tstruct fwnode_handle *child;\n>  \tconst char *name;\n> +\tconst char *str;\n>  \tint rval;\n>  \n> -\tfor_each_child_of_node(node, child) {\n> +\tfwnode_for_each_child_node(fwnode, child) {\n>  \t\tu32 id = 0;\n>  \n> -\t\tof_property_read_u32(child, \"reg\", &id);\n> +\t\tfwnode_property_read_u32(\n> +\t\t\tchild, is_of_node(child) ? \"reg\" : \"led\", &id);\n>  \n>  \t\tswitch (id) {\n>  \t\tcase AS_LED_FLASH:\n> -\t\t\tflash->flash_node = of_node_get(child);\n> +\t\t\tflash->flash_node = child;\n>  \t\t\tbreak;\n>  \t\tcase AS_LED_INDICATOR:\n> -\t\t\tflash->indicator_node = of_node_get(child);\n> +\t\t\tflash->indicator_node = child;\n>  \t\t\tbreak;\n>  \t\tdefault:\n>  \t\t\tdev_warn(&flash->client->dev,\n>  \t\t\t\t \"unknown LED %u encountered, ignoring\\n\", id);\n>  \t\t\tbreak;\n>  \t\t}\n> +\t\tfwnode_handle_get(child);\n>  \t}\n>  \n>  \tif (!flash->flash_node) {\n> @@ -523,14 +526,18 @@ static int as3645a_parse_node(struct as3645a *flash,\n>  \t\treturn -ENODEV;\n>  \t}\n>  \n> -\trval = of_property_read_string(flash->flash_node, \"label\", &name);\n> -\tif (!rval)\n> +\trval = fwnode_property_read_string(flash->flash_node, \"label\", &name);\n> +\tif (!rval) {\n>  \t\tstrlcpy(names->flash, name, sizeof(names->flash));\n> -\telse\n> +\t} else if (is_of_node(fwnode)) {\n>  \t\tsnprintf(names->flash, sizeof(names->flash),\n> -\t\t\t \"%s:flash\", node->name);\n> +\t\t\t \"%s:flash\", to_of_node(fwnode)->name);\n> +\t} else {\n> +\t\tdev_err(&flash->client->dev, \"flash node has no label!\\n\");\n> +\t\treturn -EINVAL;\n> +\t}\n>  \n> -\trval = of_property_read_u32(flash->flash_node, \"flash-timeout-us\",\n> +\trval = fwnode_property_read_u32(flash->flash_node, \"flash-timeout-us\",\n>  \t\t\t\t    &cfg->flash_timeout_us);\n>  \tif (rval < 0) {\n>  \t\tdev_err(&flash->client->dev,\n> @@ -538,7 +545,7 @@ static int as3645a_parse_node(struct as3645a *flash,\n>  \t\tgoto out_err;\n>  \t}\n>  \n> -\trval = of_property_read_u32(flash->flash_node, \"flash-max-microamp\",\n> +\trval = fwnode_property_read_u32(flash->flash_node, \"flash-max-microamp\",\n>  \t\t\t\t    &cfg->flash_max_ua);\n>  \tif (rval < 0) {\n>  \t\tdev_err(&flash->client->dev,\n> @@ -546,7 +553,7 @@ static int as3645a_parse_node(struct as3645a *flash,\n>  \t\tgoto out_err;\n>  \t}\n>  \n> -\trval = of_property_read_u32(flash->flash_node, \"led-max-microamp\",\n> +\trval = fwnode_property_read_u32(flash->flash_node, \"led-max-microamp\",\n>  \t\t\t\t    &cfg->assist_max_ua);\n>  \tif (rval < 0) {\n>  \t\tdev_err(&flash->client->dev,\n> @@ -554,10 +561,10 @@ static int as3645a_parse_node(struct as3645a *flash,\n>  \t\tgoto out_err;\n>  \t}\n>  \n> -\tof_property_read_u32(flash->flash_node, \"voltage-reference\",\n> +\tfwnode_property_read_u32(flash->flash_node, \"voltage-reference\",\n>  \t\t\t     &cfg->voltage_reference);\n>  \n> -\tof_property_read_u32(flash->flash_node, \"ams,input-max-microamp\",\n> +\tfwnode_property_read_u32(flash->flash_node, \"ams,input-max-microamp\",\n>  \t\t\t     &cfg->peak);\n>  \tcfg->peak = AS_PEAK_mA_TO_REG(cfg->peak);\n>  \n> @@ -567,14 +574,18 @@ static int as3645a_parse_node(struct as3645a *flash,\n>  \t\tgoto out_err;\n>  \t}\n>  \n> -\trval = of_property_read_string(flash->indicator_node, \"label\", &name);\n> -\tif (!rval)\n> +\trval = fwnode_property_read_string(flash->indicator_node, \"label\", &name);\n> +\tif (!rval) {\n>  \t\tstrlcpy(names->indicator, name, sizeof(names->indicator));\n> -\telse\n> +\t} else if (is_of_node(fwnode)) {\n>  \t\tsnprintf(names->indicator, sizeof(names->indicator),\n> -\t\t\t \"%s:indicator\", node->name);\n> +\t\t\t \"%s:indicator\", to_of_node(fwnode)->name);\n> +\t} else {\n> +\t\tdev_err(&flash->client->dev, \"flash node has no label!\\n\");\n> +\t\treturn -EINVAL;\n> +\t}\n>  \n> -\trval = of_property_read_u32(flash->indicator_node, \"led-max-microamp\",\n> +\trval = fwnode_property_read_u32(flash->indicator_node, \"led-max-microamp\",\n>  \t\t\t\t    &cfg->indicator_max_ua);\n>  \tif (rval < 0) {\n>  \t\tdev_err(&flash->client->dev,\n> @@ -585,8 +596,8 @@ static int as3645a_parse_node(struct as3645a *flash,\n>  \treturn 0;\n>  \n>  out_err:\n> -\tof_node_put(flash->flash_node);\n> -\tof_node_put(flash->indicator_node);\n> +\tfwnode_handle_put(flash->flash_node);\n> +\tfwnode_handle_put(flash->indicator_node);\n>  \n>  \treturn rval;\n>  }\n> @@ -667,14 +678,14 @@ static int as3645a_v4l2_setup(struct as3645a *flash)\n>  \tstrlcpy(cfgind.dev_name, flash->iled_cdev.name, sizeof(cfg.dev_name));\n>  \n>  \tflash->vf = v4l2_flash_init(\n> -\t\t&flash->client->dev, of_fwnode_handle(flash->flash_node),\n> -\t\t&flash->fled, NULL, &cfg);\n> +\t\t&flash->client->dev, flash->flash_node, &flash->fled, NULL,\n> +\t\t&cfg);\n>  \tif (IS_ERR(flash->vf))\n>  \t\treturn PTR_ERR(flash->vf);\n>  \n>  \tflash->vfind = v4l2_flash_indicator_init(\n> -\t\t&flash->client->dev, of_fwnode_handle(flash->indicator_node),\n> -\t\t&flash->iled_cdev, &cfgind);\n> +\t\t&flash->client->dev, flash->indicator_node, &flash->iled_cdev,\n> +\t\t&cfgind);\n>  \tif (IS_ERR(flash->vfind)) {\n>  \t\tv4l2_flash_release(flash->vf);\n>  \t\treturn PTR_ERR(flash->vfind);\n> @@ -689,7 +700,7 @@ static int as3645a_probe(struct i2c_client *client)\n>  \tstruct as3645a *flash;\n>  \tint rval;\n>  \n> -\tif (client->dev.of_node == NULL)\n> +\tif (!dev_fwnode(&client->dev))\n>  \t\treturn -ENODEV;\n>  \n>  \tflash = devm_kzalloc(&client->dev, sizeof(*flash), GFP_KERNEL);\n> @@ -698,7 +709,7 @@ static int as3645a_probe(struct i2c_client *client)\n>  \n>  \tflash->client = client;\n>  \n> -\trval = as3645a_parse_node(flash, &names, client->dev.of_node);\n> +\trval = as3645a_parse_node(flash, &names, dev_fwnode(&client->dev));\n>  \tif (rval < 0)\n>  \t\treturn rval;\n>  \n> @@ -730,8 +741,8 @@ static int as3645a_probe(struct i2c_client *client)\n>  \tmutex_destroy(&flash->mutex);\n>  \n>  out_put_nodes:\n> -\tof_node_put(flash->flash_node);\n> -\tof_node_put(flash->indicator_node);\n> +\tfwnode_handle_put(flash->flash_node);\n> +\tfwnode_handle_put(flash->indicator_node);\n>  \n>  \treturn rval;\n>  }\n> @@ -749,8 +760,8 @@ static int as3645a_remove(struct i2c_client *client)\n>  \n>  \tmutex_destroy(&flash->mutex);\n>  \n> -\tof_node_put(flash->flash_node);\n> -\tof_node_put(flash->indicator_node);\n> +\tfwnode_handle_put(flash->flash_node);\n> +\tfwnode_handle_put(flash->indicator_node);\n>  \n>  \treturn 0;\n>  }\n> \n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"LVuzrsdF\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xqNxC3Lsqz9sCZ\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSun, 10 Sep 2017 05:07:41 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750773AbdIITHi (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tSat, 9 Sep 2017 15:07:38 -0400","from mail-lf0-f65.google.com ([209.85.215.65]:36418 \"EHLO\n\tmail-lf0-f65.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750759AbdIITHh (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Sat, 9 Sep 2017 15:07:37 -0400","by mail-lf0-f65.google.com with SMTP id l196so2358932lfl.3;\n\tSat, 09 Sep 2017 12:07:36 -0700 (PDT)","from [192.168.1.18] (ciw199.neoplus.adsl.tpnet.pl. [83.31.46.199])\n\tby smtp.gmail.com with ESMTPSA id\n\tf202sm754849lff.75.2017.09.09.12.07.33\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tSat, 09 Sep 2017 12:07:34 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=subject:to:references:cc:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-transfer-encoding;\n\tbh=HDEoxAjkAR0YF1OjI30Hua5eRvCrFCQFZ6C61rF78XA=;\n\tb=LVuzrsdFTkNeU5rrw/9SeZRIsYkLL+L1T9C+KwdQdk3w5IjLrgHcAWGUl/KopG+X0x\n\t5EqF1ULMhGHIVyIbUwk/rD5+C/BROcFvs49qw5MIxP6XotMvr25oSPy1/9oTTQ/30RXW\n\tk4EwnQjnr+WF2UgnUpVXfM9Vz5hLb4d+z5E4gk/B1m7YU4CTHZ3CPpwVbJRtd9/gYjlw\n\tpb4cpgW24gH937qEpULutbZXR+BqxryhRbM012ZiByZJoNy5fGCBoiTZDIvWuO8TAN+k\n\tuzdC91U7CQfhYnzDtaDYdccf9Z1cVsuu7eRO0fR+5AGp9aF2HFzf9YFqh4Rbe/JA8dgj\n\tZuQg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:references:cc:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-transfer-encoding;\n\tbh=HDEoxAjkAR0YF1OjI30Hua5eRvCrFCQFZ6C61rF78XA=;\n\tb=aIyLebHJOfWQipRpsUsf8lWrXO8L8xrFdN0nCuXZ2cSTcgivxTd4nNkSvkJwWeFuC/\n\tlgpeF/zvANA73kh+vuws2ABC7dv6gdmVPXas5m28fcq4Uwnf3jFLj8VORQCDKdViGEGL\n\tf3O4XNDA9zlbizkfDi9b+RuB3QOqa13K2i5VMRZlt6m8QPdc5lou2ChXV5AFSgE3aCS2\n\tb+ndKtGcwpFFZ7gp+rIqI2SN7HRAyKvE+IjR3tmwlnK38MImHdSgXoQEwXL7yDamzqvg\n\tOYeIb8fUzXJA9pl0yNlZyekuWQM6E7S7f0LqRnXo70j6RI+q8kq7/QrosM+gLC5z0G2y\n\tex/g==","X-Gm-Message-State":"AHPjjUjZMPJWF770aB2V4CMflu5Yey4ceWCIXYQ3qNplCwm/7f0sUZ4V\n\toEKle5UPeezb2Q==","X-Google-Smtp-Source":"AOwi7QBKBPBP/3UUmsw+afXp1Xih+fmFaOPsrBV8XjPhgeKAcKo68Fa4l1PbT5nlMYiXD7YQkF294g==","X-Received":"by 10.46.1.100 with SMTP id 97mr1866853ljb.10.1504984055665;\n\tSat, 09 Sep 2017 12:07:35 -0700 (PDT)","Subject":"Re: [PATCH v9 18/24] as3645a: Switch to fwnode property API","To":"Sakari Ailus <sakari.ailus@linux.intel.com>, linux-media@vger.kernel.org","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-14-sakari.ailus@linux.intel.com>","Cc":"niklas.soderlund@ragnatech.se, robh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org,\n\tpavel@ucw.cz, sre@kernel.org","From":"Jacek Anaszewski <jacek.anaszewski@gmail.com>","X-Enigmail-Draft-Status":"N1110","Message-ID":"<f6c79aff-dcc7-ee7d-e224-1f9bc6af1fee@gmail.com>","Date":"Sat, 9 Sep 2017 21:06:41 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101\n\tThunderbird/45.8.0","MIME-Version":"1.0","In-Reply-To":"<20170908131822.31020-14-sakari.ailus@linux.intel.com>","Content-Type":"text/plain; charset=windows-1252","Content-Transfer-Encoding":"8bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765874,"web_url":"http://patchwork.ozlabs.org/comment/1765874/","msgid":"<20170909213658.6hqbsn66q4xc2sex@valkosipuli.retiisi.org.uk>","list_archive_url":null,"date":"2017-09-09T21:36:59","subject":"Re: [PATCH v9 18/24] as3645a: Switch to fwnode property API","submitter":{"id":1593,"url":"http://patchwork.ozlabs.org/api/people/1593/","name":"Sakari Ailus","email":"sakari.ailus@iki.fi"},"content":"Hi Jacek,\n\nOn Sat, Sep 09, 2017 at 09:06:41PM +0200, Jacek Anaszewski wrote:\n> Hi Sakari,\n> \n> I've come across this patch only by a chance. I believe that merging\n> leds-as3645a.c patches via media tree is not going to be a persistent\n> pattern. At least we haven't agreed on that, and in any case I should\n> have a possibility to give my ack for this patch.\n\nCorrect. The reason the previous patches went through linux-media was\nbecause these patches dependend on other patches only in linux-media at the\ntime. This is no longer the case (the three as3645a patches I'd like to get\nin as fixes are another matter but let's discuss that separately).\n\n> \n> Would you mind also adding linux-leds list on cc when touching areas\n> related to LED/flash devices?\n\nI added this patch to this version of the set and missed cc'ing it to\nlinux-leds. I think I'll send it there separately once the 17th patch (ACPI\nsupport) has been reviewed. The two are loosely related to the rest of the\npatches in the set but there's no hard dependency.","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xqSFY3r3gz9t2Z\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSun, 10 Sep 2017 07:37:05 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751047AbdIIVhD (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tSat, 9 Sep 2017 17:37:03 -0400","from nblzone-211-213.nblnetworks.fi ([83.145.211.213]:33444 \"EHLO\n\thillosipuli.retiisi.org.uk\" rhost-flags-OK-OK-OK-FAIL)\n\tby vger.kernel.org with ESMTP id S1750941AbdIIVhD (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Sat, 9 Sep 2017 17:37:03 -0400","from valkosipuli.localdomain (valkosipuli.retiisi.org.uk\n\t[IPv6:2001:1bc8:1a6:d3d5::80:2])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby hillosipuli.retiisi.org.uk (Postfix) with ESMTPS id 19CDD600E8;\n\tSun, 10 Sep 2017 00:37:00 +0300 (EEST)","from sakke by valkosipuli.localdomain with local (Exim 4.89)\n\t(envelope-from <sakke@valkosipuli.retiisi.org.uk>)\n\tid 1dqnQx-0003Jp-GP; Sun, 10 Sep 2017 00:36:59 +0300"],"Date":"Sun, 10 Sep 2017 00:36:59 +0300","From":"Sakari Ailus <sakari.ailus@iki.fi>","To":"Jacek Anaszewski <jacek.anaszewski@gmail.com>","Cc":"Sakari Ailus <sakari.ailus@linux.intel.com>,\n\tlinux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org,\n\tpavel@ucw.cz, sre@kernel.org","Subject":"Re: [PATCH v9 18/24] as3645a: Switch to fwnode property API","Message-ID":"<20170909213658.6hqbsn66q4xc2sex@valkosipuli.retiisi.org.uk>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-14-sakari.ailus@linux.intel.com>\n\t<f6c79aff-dcc7-ee7d-e224-1f9bc6af1fee@gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<f6c79aff-dcc7-ee7d-e224-1f9bc6af1fee@gmail.com>","User-Agent":"NeoMutt/20170113 (1.7.2)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765876,"web_url":"http://patchwork.ozlabs.org/comment/1765876/","msgid":"<20170909220610.mireq3wv6leokvjk@valkosipuli.retiisi.org.uk>","list_archive_url":null,"date":"2017-09-09T22:06:10","subject":"Re: [RFC] et8ek8: Add support for flash and lens devices","submitter":{"id":1593,"url":"http://patchwork.ozlabs.org/api/people/1593/","name":"Sakari Ailus","email":"sakari.ailus@iki.fi"},"content":"Hi Pavel,\n\nOn Sat, Sep 09, 2017 at 11:47:24PM +0200, Pavel Machek wrote:\n> \n> Parse async sub-devices by using\n> v4l2_subdev_fwnode_reference_parse_sensor_common().\n> \n> These types devices aren't directly related to the sensor, but are\n> nevertheless handled by the et8ek8 driver due to the relationship of these\n> component to the main part of the camera module --- the sensor.\n> \n> Signed-off-by: Pavel Machek <pavel@ucw.cz> # Not yet ready -- broken whitespace\n> \n> ---\n> \n> Whitespace is horribly bad. But otherwise... does it look ok?\n\nIt mostly mirrors the smiapp driver implementation and, well, is an issue.\nNamely it's lacking releasing the notifier's resources, just like the\nsmiapp driver. I'll update the smiapp patch --- the notifier's resources\nneed to be released by calling v4l2_async_notifier_release(); see the 5th\npatch.\n\nOther than that it seems good.","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xqSvD2Hksz9t2Z\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSun, 10 Sep 2017 08:06:16 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751012AbdIIWGO (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tSat, 9 Sep 2017 18:06:14 -0400","from nblzone-211-213.nblnetworks.fi ([83.145.211.213]:33612 \"EHLO\n\thillosipuli.retiisi.org.uk\" rhost-flags-OK-OK-OK-FAIL)\n\tby vger.kernel.org with ESMTP id S1750935AbdIIWGN (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Sat, 9 Sep 2017 18:06:13 -0400","from valkosipuli.localdomain (valkosipuli.retiisi.org.uk\n\t[IPv6:2001:1bc8:1a6:d3d5::80:2])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby hillosipuli.retiisi.org.uk (Postfix) with ESMTPS id 5F3D7600E8;\n\tSun, 10 Sep 2017 01:06:11 +0300 (EEST)","from sakke by valkosipuli.localdomain with local (Exim 4.89)\n\t(envelope-from <sakke@valkosipuli.retiisi.org.uk>)\n\tid 1dqntC-0003KD-H7; Sun, 10 Sep 2017 01:06:10 +0300"],"Date":"Sun, 10 Sep 2017 01:06:10 +0300","From":"Sakari Ailus <sakari.ailus@iki.fi>","To":"Pavel Machek <pavel@ucw.cz>","Cc":"Sakari Ailus <sakari.ailus@linux.intel.com>,\n\tlinux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org, sre@kernel.org","Subject":"Re: [RFC] et8ek8: Add support for flash and lens devices","Message-ID":"<20170909220610.mireq3wv6leokvjk@valkosipuli.retiisi.org.uk>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-18-sakari.ailus@linux.intel.com>\n\t<20170909214724.GA18677@amd>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170909214724.GA18677@amd>","User-Agent":"NeoMutt/20170113 (1.7.2)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1765879,"web_url":"http://patchwork.ozlabs.org/comment/1765879/","msgid":"<20170909221305.lahowwnzlqr3d7vp@valkosipuli.retiisi.org.uk>","list_archive_url":null,"date":"2017-09-09T22:13:05","subject":"Re: [PATCH v9 24/24] arm: dts: omap3: N9/N950: Add flash references\n\tto the camera","submitter":{"id":1593,"url":"http://patchwork.ozlabs.org/api/people/1593/","name":"Sakari Ailus","email":"sakari.ailus@iki.fi"},"content":"Hi Pavel,\n\nOn Sat, Sep 09, 2017 at 08:32:40PM +0200, Pavel Machek wrote:\n> Hi!\n> \n> > Add flash and indicator LED phandles to the sensor node.\n> > \n> > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n> \n> I'm adding similar support to et8ek8 and wonder.. why don't you also\n> add support for autofocus? Driver not yet available?\n\nI don't think the VCM driver ever got merged. I'd make the changes at the\nsame time with that.","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xqT3D0PSwz9sPk\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tSun, 10 Sep 2017 08:13:12 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750941AbdIIWNJ (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tSat, 9 Sep 2017 18:13:09 -0400","from nblzone-211-213.nblnetworks.fi ([83.145.211.213]:33670 \"EHLO\n\thillosipuli.retiisi.org.uk\" rhost-flags-OK-OK-OK-FAIL)\n\tby vger.kernel.org with ESMTP id S1750821AbdIIWNJ (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Sat, 9 Sep 2017 18:13:09 -0400","from valkosipuli.localdomain (valkosipuli.retiisi.org.uk\n\t[IPv6:2001:1bc8:1a6:d3d5::80:2])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby hillosipuli.retiisi.org.uk (Postfix) with ESMTPS id 9C7B2600E5;\n\tSun, 10 Sep 2017 01:13:06 +0300 (EEST)","from sakke by valkosipuli.localdomain with local (Exim 4.89)\n\t(envelope-from <sakke@valkosipuli.retiisi.org.uk>)\n\tid 1dqnzu-0003KO-1d; Sun, 10 Sep 2017 01:13:06 +0300"],"Date":"Sun, 10 Sep 2017 01:13:05 +0300","From":"Sakari Ailus <sakari.ailus@iki.fi>","To":"Pavel Machek <pavel@ucw.cz>","Cc":"Sakari Ailus <sakari.ailus@linux.intel.com>,\n\tlinux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org, sre@kernel.org","Subject":"Re: [PATCH v9 24/24] arm: dts: omap3: N9/N950: Add flash references\n\tto the camera","Message-ID":"<20170909221305.lahowwnzlqr3d7vp@valkosipuli.retiisi.org.uk>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-20-sakari.ailus@linux.intel.com>\n\t<20170909183240.GA15397@amd>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170909183240.GA15397@amd>","User-Agent":"NeoMutt/20170113 (1.7.2)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1766106,"web_url":"http://patchwork.ozlabs.org/comment/1766106/","msgid":"<787019fe-7402-7edb-3de6-9a683de78d71@xs4all.nl>","list_archive_url":null,"date":"2017-09-11T07:47:49","subject":"Re: [PATCH v9 02/24] v4l: async: Remove re-probing support","submitter":{"id":723,"url":"http://patchwork.ozlabs.org/api/people/723/","name":"Hans Verkuil","email":"hverkuil@xs4all.nl"},"content":"On 09/08/2017 03:11 PM, Sakari Ailus wrote:\n> Remove V4L2 async re-probing support. The re-probing support has been\n> there to support cases where the sub-devices require resources provided by\n> the main driver's hardware to function, such as clocks.\n> \n> Reprobing has allowed unbinding and again binding the main driver without\n> explicilty unbinding the sub-device drivers. This is certainly not a\n> common need, and the responsibility will be the user's going forward.\n> \n> An alternative could have been to introduce notifier specific locks.\n> Considering the complexity of the re-probing and that it isn't really a\n> solution to a problem but a workaround, remove re-probing instead.\n> \n> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n\nI Acked the v8 version, but don't see my Ack here. Did you miss it?\n\nRegards,\n\n\tHans\n\n> ---\n>  drivers/media/v4l2-core/v4l2-async.c | 54 ------------------------------------\n>  1 file changed, 54 deletions(-)\n> \n> diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c\n> index d741a8e0fdac..e109d9da4653 100644\n> --- a/drivers/media/v4l2-core/v4l2-async.c\n> +++ b/drivers/media/v4l2-core/v4l2-async.c\n> @@ -198,78 +198,24 @@ EXPORT_SYMBOL(v4l2_async_notifier_register);\n>  void v4l2_async_notifier_unregister(struct v4l2_async_notifier *notifier)\n>  {\n>  \tstruct v4l2_subdev *sd, *tmp;\n> -\tunsigned int notif_n_subdev = notifier->num_subdevs;\n> -\tunsigned int n_subdev = min(notif_n_subdev, V4L2_MAX_SUBDEVS);\n> -\tstruct device **dev;\n> -\tint i = 0;\n>  \n>  \tif (!notifier->v4l2_dev)\n>  \t\treturn;\n>  \n> -\tdev = kvmalloc_array(n_subdev, sizeof(*dev), GFP_KERNEL);\n> -\tif (!dev) {\n> -\t\tdev_err(notifier->v4l2_dev->dev,\n> -\t\t\t\"Failed to allocate device cache!\\n\");\n> -\t}\n> -\n>  \tmutex_lock(&list_lock);\n>  \n>  \tlist_del(&notifier->list);\n>  \n>  \tlist_for_each_entry_safe(sd, tmp, &notifier->done, async_list) {\n> -\t\tstruct device *d;\n> -\n> -\t\td = get_device(sd->dev);\n> -\n>  \t\tv4l2_async_cleanup(sd);\n>  \n> -\t\t/* If we handled USB devices, we'd have to lock the parent too */\n> -\t\tdevice_release_driver(d);\n> -\n>  \t\tif (notifier->unbind)\n>  \t\t\tnotifier->unbind(notifier, sd, sd->asd);\n> -\n> -\t\t/*\n> -\t\t * Store device at the device cache, in order to call\n> -\t\t * put_device() on the final step\n> -\t\t */\n> -\t\tif (dev)\n> -\t\t\tdev[i++] = d;\n> -\t\telse\n> -\t\t\tput_device(d);\n>  \t}\n>  \n>  \tmutex_unlock(&list_lock);\n>  \n> -\t/*\n> -\t * Call device_attach() to reprobe devices\n> -\t *\n> -\t * NOTE: If dev allocation fails, i is 0, and the whole loop won't be\n> -\t * executed.\n> -\t */\n> -\twhile (i--) {\n> -\t\tstruct device *d = dev[i];\n> -\n> -\t\tif (d && device_attach(d) < 0) {\n> -\t\t\tconst char *name = \"(none)\";\n> -\t\t\tint lock = device_trylock(d);\n> -\n> -\t\t\tif (lock && d->driver)\n> -\t\t\t\tname = d->driver->name;\n> -\t\t\tdev_err(d, \"Failed to re-probe to %s\\n\", name);\n> -\t\t\tif (lock)\n> -\t\t\t\tdevice_unlock(d);\n> -\t\t}\n> -\t\tput_device(d);\n> -\t}\n> -\tkvfree(dev);\n> -\n>  \tnotifier->v4l2_dev = NULL;\n> -\n> -\t/*\n> -\t * Don't care about the waiting list, it is initialised and populated\n> -\t * upon notifier registration.\n> -\t */\n>  }\n>  EXPORT_SYMBOL(v4l2_async_notifier_unregister);\n>  \n> \n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xrKlx2sPlz9s81\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 17:47:57 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750986AbdIKHr4 (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tMon, 11 Sep 2017 03:47:56 -0400","from lb3-smtp-cloud7.xs4all.net ([194.109.24.31]:56563 \"EHLO\n\tlb3-smtp-cloud7.xs4all.net\" rhost-flags-OK-OK-OK-OK)\n\tby vger.kernel.org with ESMTP id S1750960AbdIKHrz (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Mon, 11 Sep 2017 03:47:55 -0400","from [192.168.2.10] ([212.251.195.8])\n\tby smtp-cloud7.xs4all.net with ESMTPA\n\tid rJRddH25Xb2snrJRgd6CnF; Mon, 11 Sep 2017 09:47:54 +0200"],"Subject":"Re: [PATCH v9 02/24] v4l: async: Remove re-probing support","To":"Sakari Ailus <sakari.ailus@linux.intel.com>, linux-media@vger.kernel.org","Cc":"niklas.soderlund@ragnatech.se, robh@kernel.org,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org,\n\tpavel@ucw.cz, sre@kernel.org","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131235.30294-3-sakari.ailus@linux.intel.com>","From":"Hans Verkuil <hverkuil@xs4all.nl>","Message-ID":"<787019fe-7402-7edb-3de6-9a683de78d71@xs4all.nl>","Date":"Mon, 11 Sep 2017 09:47:49 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<20170908131235.30294-3-sakari.ailus@linux.intel.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","X-CMAE-Envelope":"MS4wfJJmnlpRJbdK69hnkaB8I+tJqwL6mUI8ZydbkEqc95cpQrU+BJH0xCw+ypByp/FK3rBVGjrwozbF74q4Z1/Idy8WjOItWuRXt9EHX4U6P6oYH7jKj9+Q\n\tlEHhWyWaAq9K2byN1fwecN4/NJB69CbHljsTPHFht8sK2SK2z/feeWfj1mlTvWhRYsErRY7IRLrj2wLzv/9cfD8/BqJztWLvH1nA/DVzW95CcBsOX0Nzr9yj\n\t0mbUj+acdWF0qklaa/WUHshA/A91hQVOhFI6/nTIA0crU/sZkOFWSCibXSI1HlH3NgvAlg0ATBWzHVl0cmS0qEew6mlcI4Fzz4PlbgAYAu7a/j/p97xYSaNW\n\tuej94Q41NMoFeFCRVxd5XhD5fFQB2yIGVpZ/GjzB9h8SnG7gzZGxpK22+PWYX+d0cqK8Q1/mr41mc/L35Gg65PPS/xoHJ1ka5TTmiMV8CdAEsMvo67nJpw/b\n\tjO+LWnq5li1JPsl4QHq4cOEjFv6d6aaScXaC3+o49DGw0SqKa3TMW/4DV61Yi599atHnkZyzpEwzIYB9G4WJNiS0QanW3yvk90qn7w==","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1766110,"web_url":"http://patchwork.ozlabs.org/comment/1766110/","msgid":"<200dbf2a-bae6-2f35-220f-a312f838a827@xs4all.nl>","list_archive_url":null,"date":"2017-09-11T07:51:17","subject":"Re: [PATCH v9 03/24] v4l: async: Use more intuitive names for\n\tinternal functions","submitter":{"id":723,"url":"http://patchwork.ozlabs.org/api/people/723/","name":"Hans Verkuil","email":"hverkuil@xs4all.nl"},"content":"On 09/08/2017 03:11 PM, Sakari Ailus wrote:\n> Rename internal functions to make the names of the functions better\n> describe what they do.\n> \n> \tOld name\t\t\tNew name\n> \tv4l2_async_test_notify\tv4l2_async_match_notify\n> \tv4l2_async_belongs\tv4l2_async_find_match\n> \n> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n\nSame here, my Ack is missing. Please double-check my v8 comments: I\nAcked patches 2, 3, 7, 9, 10, 12, 13, 15, 16 of the v8 series.\n\nRegards,\n\n\tHans\n\n> ---\n>  drivers/media/v4l2-core/v4l2-async.c | 19 ++++++++++---------\n>  1 file changed, 10 insertions(+), 9 deletions(-)\n> \n> diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c\n> index e109d9da4653..831f185ecd47 100644\n> --- a/drivers/media/v4l2-core/v4l2-async.c\n> +++ b/drivers/media/v4l2-core/v4l2-async.c\n> @@ -60,8 +60,8 @@ static LIST_HEAD(subdev_list);\n>  static LIST_HEAD(notifier_list);\n>  static DEFINE_MUTEX(list_lock);\n>  \n> -static struct v4l2_async_subdev *v4l2_async_belongs(struct v4l2_async_notifier *notifier,\n> -\t\t\t\t\t\t    struct v4l2_subdev *sd)\n> +static struct v4l2_async_subdev *v4l2_async_find_match(\n> +\tstruct v4l2_async_notifier *notifier, struct v4l2_subdev *sd)\n>  {\n>  \tbool (*match)(struct v4l2_subdev *, struct v4l2_async_subdev *);\n>  \tstruct v4l2_async_subdev *asd;\n> @@ -95,9 +95,9 @@ static struct v4l2_async_subdev *v4l2_async_belongs(struct v4l2_async_notifier *\n>  \treturn NULL;\n>  }\n>  \n> -static int v4l2_async_test_notify(struct v4l2_async_notifier *notifier,\n> -\t\t\t\t  struct v4l2_subdev *sd,\n> -\t\t\t\t  struct v4l2_async_subdev *asd)\n> +static int v4l2_async_match_notify(struct v4l2_async_notifier *notifier,\n> +\t\t\t\t   struct v4l2_subdev *sd,\n> +\t\t\t\t   struct v4l2_async_subdev *asd)\n>  {\n>  \tint ret;\n>  \n> @@ -175,11 +175,11 @@ int v4l2_async_notifier_register(struct v4l2_device *v4l2_dev,\n>  \tlist_for_each_entry_safe(sd, tmp, &subdev_list, async_list) {\n>  \t\tint ret;\n>  \n> -\t\tasd = v4l2_async_belongs(notifier, sd);\n> +\t\tasd = v4l2_async_find_match(notifier, sd);\n>  \t\tif (!asd)\n>  \t\t\tcontinue;\n>  \n> -\t\tret = v4l2_async_test_notify(notifier, sd, asd);\n> +\t\tret = v4l2_async_match_notify(notifier, sd, asd);\n>  \t\tif (ret < 0) {\n>  \t\t\tmutex_unlock(&list_lock);\n>  \t\t\treturn ret;\n> @@ -236,9 +236,10 @@ int v4l2_async_register_subdev(struct v4l2_subdev *sd)\n>  \tINIT_LIST_HEAD(&sd->async_list);\n>  \n>  \tlist_for_each_entry(notifier, &notifier_list, list) {\n> -\t\tstruct v4l2_async_subdev *asd = v4l2_async_belongs(notifier, sd);\n> +\t\tstruct v4l2_async_subdev *asd = v4l2_async_find_match(notifier,\n> +\t\t\t\t\t\t\t\t      sd);\n>  \t\tif (asd) {\n> -\t\t\tint ret = v4l2_async_test_notify(notifier, sd, asd);\n> +\t\t\tint ret = v4l2_async_match_notify(notifier, sd, asd);\n>  \t\t\tmutex_unlock(&list_lock);\n>  \t\t\treturn ret;\n>  \t\t}\n> \n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xrKqw3GSJz9s83\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 17:51:24 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750962AbdIKHvX (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tMon, 11 Sep 2017 03:51:23 -0400","from lb3-smtp-cloud7.xs4all.net ([194.109.24.31]:59187 \"EHLO\n\tlb3-smtp-cloud7.xs4all.net\" rhost-flags-OK-OK-OK-OK)\n\tby vger.kernel.org with ESMTP id S1750937AbdIKHvW (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Mon, 11 Sep 2017 03:51:22 -0400","from [192.168.2.10] ([212.251.195.8])\n\tby smtp-cloud7.xs4all.net with ESMTPA\n\tid rJUzdH4BZb2snrJV3d6EC0; Mon, 11 Sep 2017 09:51:21 +0200"],"Subject":"Re: [PATCH v9 03/24] v4l: async: Use more intuitive names for\n\tinternal functions","To":"Sakari Ailus <sakari.ailus@linux.intel.com>, linux-media@vger.kernel.org","Cc":"niklas.soderlund@ragnatech.se, robh@kernel.org,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org,\n\tpavel@ucw.cz, sre@kernel.org","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131235.30294-4-sakari.ailus@linux.intel.com>","From":"Hans Verkuil <hverkuil@xs4all.nl>","Message-ID":"<200dbf2a-bae6-2f35-220f-a312f838a827@xs4all.nl>","Date":"Mon, 11 Sep 2017 09:51:17 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<20170908131235.30294-4-sakari.ailus@linux.intel.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","X-CMAE-Envelope":"MS4wfMNgG5tVm0Zz25wOEtJ5iSetvIIVBPUJNb4gBentckXqXf77enbdTlmB7wxvPPw0Ytih02alNErP51/3JmczfvWtKj7wB/nL9nrnLzzsF3RQMmLpU2JW\n\tX5n9RBQAqiEvityfMspeAAGJRKjnqkfC++mCSeav7At0VIQOhRoXlEANenyK+UjLrZOcUay+9tuTIWQoGEkkc0squVknbjlSbDqWwugYC5T++1SHBvj9xWaQ\n\t6P64V1yMLPUu8HpzZO9P8oLtasepmqIha1pEM9BW7DYy5iEUl4KSEjiL25YDrw3u7UENVA9Prrm4MU5ecn6q+LvVNsxelZz+He1zbiQreAtiZasa/4lUKgkj\n\tn2WO3udCDLC0zOXUAG7E6vByyXSPzLltgVabIVMLbqW4plYUujZKCeNa3d0byZKyPPR+jWRLRjv6PFTpWV/6NpaBwo7kjR+g+bO1x+tdUGJeNJ3KeEpILYRf\n\tagTBSUJy89tEa92IV7NrS/Mep7Kp/LjSu9I0iIVtbhxf1B0WWSfNcMS4z2yJalkZFOy8KGLIPgkOIplvQEBXlp/n2zQDKIERe/ogkQ==","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1766111,"web_url":"http://patchwork.ozlabs.org/comment/1766111/","msgid":"<041af454-9aa7-653c-fa40-6f484829d36e@linux.intel.com>","list_archive_url":null,"date":"2017-09-11T07:51:25","subject":"Re: [PATCH v9 02/24] v4l: async: Remove re-probing support","submitter":{"id":65485,"url":"http://patchwork.ozlabs.org/api/people/65485/","name":"Sakari Ailus","email":"sakari.ailus@linux.intel.com"},"content":"On 09/11/17 10:47, Hans Verkuil wrote:\n> On 09/08/2017 03:11 PM, Sakari Ailus wrote:\n>> Remove V4L2 async re-probing support. The re-probing support has been\n>> there to support cases where the sub-devices require resources provided by\n>> the main driver's hardware to function, such as clocks.\n>>\n>> Reprobing has allowed unbinding and again binding the main driver without\n>> explicilty unbinding the sub-device drivers. This is certainly not a\n>> common need, and the responsibility will be the user's going forward.\n>>\n>> An alternative could have been to introduce notifier specific locks.\n>> Considering the complexity of the re-probing and that it isn't really a\n>> solution to a problem but a workaround, remove re-probing instead.\n>>\n>> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n> \n> I Acked the v8 version, but don't see my Ack here. Did you miss it?\n\nI think I sent v9 around the time you sent the ack. :-) It will be in v10.","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xrKr468ncz9s83\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 17:51:32 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750992AbdIKHvb (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tMon, 11 Sep 2017 03:51:31 -0400","from mga06.intel.com ([134.134.136.31]:11182 \"EHLO mga06.intel.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1750984AbdIKHva (ORCPT <rfc822;devicetree@vger.kernel.org>);\n\tMon, 11 Sep 2017 03:51:30 -0400","from fmsmga003.fm.intel.com ([10.253.24.29])\n\tby orsmga104.jf.intel.com with ESMTP; 11 Sep 2017 00:51:29 -0700","from paasikivi.fi.intel.com ([10.237.72.42])\n\tby FMSMGA003.fm.intel.com with ESMTP; 11 Sep 2017 00:51:27 -0700","from [127.0.0.1] (localhost [127.0.0.1])\n\tby paasikivi.fi.intel.com (Postfix) with ESMTP id 36EDD202B9;\n\tMon, 11 Sep 2017 10:51:26 +0300 (EEST)"],"X-ExtLoop1":"1","X-IronPort-AV":"E=Sophos;i=\"5.42,376,1500966000\"; d=\"scan'208\";a=\"899031400\"","Subject":"Re: [PATCH v9 02/24] v4l: async: Remove re-probing support","To":"Hans Verkuil <hverkuil@xs4all.nl>, linux-media@vger.kernel.org","Cc":"niklas.soderlund@ragnatech.se, robh@kernel.org,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org,\n\tpavel@ucw.cz, sre@kernel.org","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131235.30294-3-sakari.ailus@linux.intel.com>\n\t<787019fe-7402-7edb-3de6-9a683de78d71@xs4all.nl>","From":"Sakari Ailus <sakari.ailus@linux.intel.com>","Message-ID":"<041af454-9aa7-653c-fa40-6f484829d36e@linux.intel.com>","Date":"Mon, 11 Sep 2017 10:51:25 +0300","User-Agent":"Mozilla/5.0 (X11; Linux i686 on x86_64; rv:51.0) Gecko/20100101\n\tSeaMonkey/2.48","MIME-Version":"1.0","In-Reply-To":"<787019fe-7402-7edb-3de6-9a683de78d71@xs4all.nl>","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"7bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1766117,"web_url":"http://patchwork.ozlabs.org/comment/1766117/","msgid":"<105b4a67-adc2-eba2-c55a-777c91b1b644@xs4all.nl>","list_archive_url":null,"date":"2017-09-11T07:59:56","subject":"Re: [PATCH v9 05/24] v4l: fwnode: Support generic parsing of graph\n\tendpoints in a device","submitter":{"id":723,"url":"http://patchwork.ozlabs.org/api/people/723/","name":"Hans Verkuil","email":"hverkuil@xs4all.nl"},"content":"On 09/08/2017 03:18 PM, Sakari Ailus wrote:\n> The current practice is that drivers iterate over their endpoints and\n> parse each endpoint separately. This is very similar in a number of\n> drivers, implement a generic function for the job. Driver specific matters\n> can be taken into account in the driver specific callback.\n> \n> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n\nLooks good!\n\nAcked-by: Hans Verkuil <hans.verkuil@cisco.com>\n\nRegards,\n\n\tHans\n\n> ---\n>  drivers/media/v4l2-core/v4l2-async.c  |  30 ++++++++\n>  drivers/media/v4l2-core/v4l2-fwnode.c | 136 ++++++++++++++++++++++++++++++++++\n>  include/media/v4l2-async.h            |  24 +++++-\n>  include/media/v4l2-fwnode.h           |  56 ++++++++++++++\n>  4 files changed, 244 insertions(+), 2 deletions(-)\n> \n> diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c\n> index 831f185ecd47..ad099b9bb71d 100644\n> --- a/drivers/media/v4l2-core/v4l2-async.c\n> +++ b/drivers/media/v4l2-core/v4l2-async.c\n> @@ -22,6 +22,7 @@\n>  \n>  #include <media/v4l2-async.h>\n>  #include <media/v4l2-device.h>\n> +#include <media/v4l2-fwnode.h>\n>  #include <media/v4l2-subdev.h>\n>  \n>  static bool match_i2c(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd)\n> @@ -219,6 +220,35 @@ void v4l2_async_notifier_unregister(struct v4l2_async_notifier *notifier)\n>  }\n>  EXPORT_SYMBOL(v4l2_async_notifier_unregister);\n>  \n> +void v4l2_async_notifier_release(struct v4l2_async_notifier *notifier)\n> +{\n> +\tunsigned int i;\n> +\n> +\tif (!notifier->max_subdevs)\n> +\t\treturn;\n> +\n> +\tfor (i = 0; i < notifier->num_subdevs; i++) {\n> +\t\tstruct v4l2_async_subdev *asd = notifier->subdevs[i];\n> +\n> +\t\tswitch (asd->match_type) {\n> +\t\tcase V4L2_ASYNC_MATCH_FWNODE:\n> +\t\t\tfwnode_handle_put(asd->match.fwnode.fwnode);\n> +\t\t\tbreak;\n> +\t\tdefault:\n> +\t\t\tWARN_ON_ONCE(1);\n> +\t\t}\n> +\n> +\t\tkfree(asd);\n> +\t}\n> +\n> +\tnotifier->max_subdevs = 0;\n> +\tnotifier->num_subdevs = 0;\n> +\n> +\tkvfree(notifier->subdevs);\n> +\tnotifier->subdevs = NULL;\n> +}\n> +EXPORT_SYMBOL_GPL(v4l2_async_notifier_release);\n> +\n>  int v4l2_async_register_subdev(struct v4l2_subdev *sd)\n>  {\n>  \tstruct v4l2_async_notifier *notifier;\n> diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c b/drivers/media/v4l2-core/v4l2-fwnode.c\n> index 706f9e7b90f1..d978f2d714ca 100644\n> --- a/drivers/media/v4l2-core/v4l2-fwnode.c\n> +++ b/drivers/media/v4l2-core/v4l2-fwnode.c\n> @@ -19,6 +19,7 @@\n>   */\n>  #include <linux/acpi.h>\n>  #include <linux/kernel.h>\n> +#include <linux/mm.h>\n>  #include <linux/module.h>\n>  #include <linux/of.h>\n>  #include <linux/property.h>\n> @@ -26,6 +27,7 @@\n>  #include <linux/string.h>\n>  #include <linux/types.h>\n>  \n> +#include <media/v4l2-async.h>\n>  #include <media/v4l2-fwnode.h>\n>  \n>  enum v4l2_fwnode_bus_type {\n> @@ -313,6 +315,140 @@ void v4l2_fwnode_put_link(struct v4l2_fwnode_link *link)\n>  }\n>  EXPORT_SYMBOL_GPL(v4l2_fwnode_put_link);\n>  \n> +static int v4l2_async_notifier_realloc(struct v4l2_async_notifier *notifier,\n> +\t\t\t\t       unsigned int max_subdevs)\n> +{\n> +\tstruct v4l2_async_subdev **subdevs;\n> +\n> +\tif (max_subdevs <= notifier->max_subdevs)\n> +\t\treturn 0;\n> +\n> +\tsubdevs = kvmalloc_array(\n> +\t\tmax_subdevs, sizeof(*notifier->subdevs),\n> +\t\tGFP_KERNEL | __GFP_ZERO);\n> +\tif (!subdevs)\n> +\t\treturn -ENOMEM;\n> +\n> +\tif (notifier->subdevs) {\n> +\t\tmemcpy(subdevs, notifier->subdevs,\n> +\t\t       sizeof(*subdevs) * notifier->num_subdevs);\n> +\n> +\t\tkvfree(notifier->subdevs);\n> +\t}\n> +\n> +\tnotifier->subdevs = subdevs;\n> +\tnotifier->max_subdevs = max_subdevs;\n> +\n> +\treturn 0;\n> +}\n> +\n> +static int v4l2_async_notifier_fwnode_parse_endpoint(\n> +\tstruct device *dev, struct v4l2_async_notifier *notifier,\n> +\tstruct fwnode_handle *endpoint, unsigned int asd_struct_size,\n> +\tint (*parse_endpoint)(struct device *dev,\n> +\t\t\t    struct v4l2_fwnode_endpoint *vep,\n> +\t\t\t    struct v4l2_async_subdev *asd))\n> +{\n> +\tstruct v4l2_async_subdev *asd;\n> +\tstruct v4l2_fwnode_endpoint *vep;\n> +\tint ret = 0;\n> +\n> +\tasd = kzalloc(asd_struct_size, GFP_KERNEL);\n> +\tif (!asd)\n> +\t\treturn -ENOMEM;\n> +\n> +\tasd->match.fwnode.fwnode =\n> +\t\tfwnode_graph_get_remote_port_parent(endpoint);\n> +\tif (!asd->match.fwnode.fwnode) {\n> +\t\tdev_warn(dev, \"bad remote port parent\\n\");\n> +\t\tret = -EINVAL;\n> +\t\tgoto out_err;\n> +\t}\n> +\n> +\t/* Ignore endpoints the parsing of which failed. */\n> +\tvep = v4l2_fwnode_endpoint_alloc_parse(endpoint);\n> +\tif (IS_ERR(vep)) {\n> +\t\tret = PTR_ERR(vep);\n> +\t\tdev_warn(dev, \"unable to parse V4L2 fwnode endpoint (%d)\\n\",\n> +\t\t\t ret);\n> +\t\tgoto out_err;\n> +\t}\n> +\n> +\tret = parse_endpoint ? parse_endpoint(dev, vep, asd) : 0;\n> +\tif (ret == -ENOTCONN)\n> +\t\tdev_dbg(dev, \"ignoring endpoint %u,%u\\n\", vep->base.port,\n> +\t\t\tvep->base.id);\n> +\telse if (ret < 0)\n> +\t\tdev_warn(dev, \"driver could not parse endpoint %u,%u (%d)\\n\",\n> +\t\t\t vep->base.port, vep->base.id, ret);\n> +\tv4l2_fwnode_endpoint_free(vep);\n> +\tif (ret < 0)\n> +\t\tgoto out_err;\n> +\n> +\tasd->match_type = V4L2_ASYNC_MATCH_FWNODE;\n> +\tnotifier->subdevs[notifier->num_subdevs] = asd;\n> +\tnotifier->num_subdevs++;\n> +\n> +\treturn 0;\n> +\n> +out_err:\n> +\tfwnode_handle_put(asd->match.fwnode.fwnode);\n> +\tkfree(asd);\n> +\n> +\treturn ret == -ENOTCONN ? 0 : ret;\n> +}\n> +\n> +int v4l2_async_notifier_parse_fwnode_endpoints(\n> +\tstruct device *dev, struct v4l2_async_notifier *notifier,\n> +\tsize_t asd_struct_size,\n> +\tint (*parse_endpoint)(struct device *dev,\n> +\t\t\t    struct v4l2_fwnode_endpoint *vep,\n> +\t\t\t    struct v4l2_async_subdev *asd))\n> +{\n> +\tstruct fwnode_handle *fwnode = NULL;\n> +\tunsigned int max_subdevs = notifier->max_subdevs;\n> +\tint ret;\n> +\n> +\tif (WARN_ON(asd_struct_size < sizeof(struct v4l2_async_subdev)))\n> +\t\treturn -EINVAL;\n> +\n> +\tfor (fwnode = NULL; (fwnode = fwnode_graph_get_next_endpoint(\n> +\t\t\t\t     dev_fwnode(dev), fwnode)); )\n> +\t\tif (fwnode_device_is_available(\n> +\t\t\t    fwnode_graph_get_port_parent(fwnode)))\n> +\t\t\tmax_subdevs++;\n> +\n> +\t/* No subdevs to add? Return here. */\n> +\tif (max_subdevs == notifier->max_subdevs)\n> +\t\treturn 0;\n> +\n> +\tret = v4l2_async_notifier_realloc(notifier, max_subdevs);\n> +\tif (ret)\n> +\t\treturn ret;\n> +\n> +\tfor (fwnode = NULL; (fwnode = fwnode_graph_get_next_endpoint(\n> +\t\t\t\t     dev_fwnode(dev), fwnode)); ) {\n> +\t\tif (!fwnode_device_is_available(\n> +\t\t\t    fwnode_graph_get_port_parent(fwnode)))\n> +\t\t\tcontinue;\n> +\n> +\t\tif (WARN_ON(notifier->num_subdevs >= notifier->max_subdevs)) {\n> +\t\t\tret = -EINVAL;\n> +\t\t\tbreak;\n> +\t\t}\n> +\n> +\t\tret = v4l2_async_notifier_fwnode_parse_endpoint(\n> +\t\t\tdev, notifier, fwnode, asd_struct_size, parse_endpoint);\n> +\t\tif (ret < 0)\n> +\t\t\tbreak;\n> +\t}\n> +\n> +\tfwnode_handle_put(fwnode);\n> +\n> +\treturn ret;\n> +}\n> +EXPORT_SYMBOL_GPL(v4l2_async_notifier_parse_fwnode_endpoints);\n> +\n>  MODULE_LICENSE(\"GPL\");\n>  MODULE_AUTHOR(\"Sakari Ailus <sakari.ailus@linux.intel.com>\");\n>  MODULE_AUTHOR(\"Sylwester Nawrocki <s.nawrocki@samsung.com>\");\n> diff --git a/include/media/v4l2-async.h b/include/media/v4l2-async.h\n> index c69d8c8a66d0..96fa1afc00dd 100644\n> --- a/include/media/v4l2-async.h\n> +++ b/include/media/v4l2-async.h\n> @@ -18,7 +18,6 @@ struct device;\n>  struct device_node;\n>  struct v4l2_device;\n>  struct v4l2_subdev;\n> -struct v4l2_async_notifier;\n>  \n>  /* A random max subdevice number, used to allocate an array on stack */\n>  #define V4L2_MAX_SUBDEVS 128U\n> @@ -50,6 +49,10 @@ enum v4l2_async_match_type {\n>   * @match:\tunion of per-bus type matching data sets\n>   * @list:\tused to link struct v4l2_async_subdev objects, waiting to be\n>   *\t\tprobed, to a notifier->waiting list\n> + *\n> + * When this struct is used as a member in a driver specific struct,\n> + * the driver specific struct shall contain the @struct\n> + * v4l2_async_subdev as its first member.\n>   */\n>  struct v4l2_async_subdev {\n>  \tenum v4l2_async_match_type match_type;\n> @@ -78,7 +81,8 @@ struct v4l2_async_subdev {\n>  /**\n>   * struct v4l2_async_notifier - v4l2_device notifier data\n>   *\n> - * @num_subdevs: number of subdevices\n> + * @num_subdevs: number of subdevices used in the subdevs array\n> + * @max_subdevs: number of subdevices allocated in the subdevs array\n>   * @subdevs:\tarray of pointers to subdevice descriptors\n>   * @v4l2_dev:\tpointer to struct v4l2_device\n>   * @waiting:\tlist of struct v4l2_async_subdev, waiting for their drivers\n> @@ -90,6 +94,7 @@ struct v4l2_async_subdev {\n>   */\n>  struct v4l2_async_notifier {\n>  \tunsigned int num_subdevs;\n> +\tunsigned int max_subdevs;\n>  \tstruct v4l2_async_subdev **subdevs;\n>  \tstruct v4l2_device *v4l2_dev;\n>  \tstruct list_head waiting;\n> @@ -121,6 +126,21 @@ int v4l2_async_notifier_register(struct v4l2_device *v4l2_dev,\n>  void v4l2_async_notifier_unregister(struct v4l2_async_notifier *notifier);\n>  \n>  /**\n> + * v4l2_async_notifier_release - release notifier resources\n> + * @notifier: the notifier the resources of which are to be released\n> + *\n> + * Release memory resources related to a notifier, including the async\n> + * sub-devices allocated for the purposes of the notifier. The user is\n> + * responsible for releasing the notifier's resources after calling\n> + * @v4l2_async_notifier_parse_fwnode_endpoints.\n> + *\n> + * There is no harm from calling v4l2_async_notifier_release in other\n> + * cases as long as its memory has been zeroed after it has been\n> + * allocated.\n> + */\n> +void v4l2_async_notifier_release(struct v4l2_async_notifier *notifier);\n> +\n> +/**\n>   * v4l2_async_register_subdev - registers a sub-device to the asynchronous\n>   * \tsubdevice framework\n>   *\n> diff --git a/include/media/v4l2-fwnode.h b/include/media/v4l2-fwnode.h\n> index 68eb22ba571b..3819a73c3c8a 100644\n> --- a/include/media/v4l2-fwnode.h\n> +++ b/include/media/v4l2-fwnode.h\n> @@ -25,6 +25,8 @@\n>  #include <media/v4l2-mediabus.h>\n>  \n>  struct fwnode_handle;\n> +struct v4l2_async_notifier;\n> +struct v4l2_async_subdev;\n>  \n>  #define V4L2_FWNODE_CSI2_MAX_DATA_LANES\t4\n>  \n> @@ -201,4 +203,58 @@ int v4l2_fwnode_parse_link(struct fwnode_handle *fwnode,\n>   */\n>  void v4l2_fwnode_put_link(struct v4l2_fwnode_link *link);\n>  \n> +/**\n> + * v4l2_async_notifier_parse_fwnode_endpoints - Parse V4L2 fwnode endpoints in a\n> + *\t\t\t\t\t\tdevice node\n> + * @dev: the device the endpoints of which are to be parsed\n> + * @notifier: notifier for @dev\n> + * @asd_struct_size: size of the driver's async sub-device struct, including\n> + *\t\t     sizeof(struct v4l2_async_subdev). The &struct\n> + *\t\t     v4l2_async_subdev shall be the first member of\n> + *\t\t     the driver's async sub-device struct, i.e. both\n> + *\t\t     begin at the same memory address.\n> + * @parse_endpoint: Driver's callback function called on each V4L2 fwnode\n> + *\t\t    endpoint. Optional.\n> + *\t\t    Return: %0 on success\n> + *\t\t\t    %-ENOTCONN if the endpoint is to be skipped but this\n> + *\t\t\t\t       should not be considered as an error\n> + *\t\t\t    %-EINVAL if the endpoint configuration is invalid\n> + *\n> + * Parse the fwnode endpoints of the @dev device and populate the async sub-\n> + * devices array of the notifier. The @parse_endpoint callback function is\n> + * called for each endpoint with the corresponding async sub-device pointer to\n> + * let the caller initialize the driver-specific part of the async sub-device\n> + * structure.\n> + *\n> + * The notifier memory shall be zeroed before this function is called on the\n> + * notifier.\n> + *\n> + * This function may not be called on a registered notifier and may be called on\n> + * a notifier only once.\n> + *\n> + * Do not change the notifier's subdevs array, take references to the subdevs\n> + * array itself or change the notifier's num_subdevs field. This is because this\n> + * function allocates and reallocates the subdevs array based on parsing\n> + * endpoints.\n> + *\n> + * The @struct v4l2_fwnode_endpoint passed to the callback function\n> + * @parse_endpoint is released once the function is finished. If there is a need\n> + * to retain that configuration, the user needs to allocate memory for it.\n> + *\n> + * Any notifier populated using this function must be released with a call to\n> + * v4l2_async_notifier_release() after it has been unregistered and the async\n> + * sub-devices are no longer in use.\n> + *\n> + * Return: %0 on success, including when no async sub-devices are found\n> + *\t   %-ENOMEM if memory allocation failed\n> + *\t   %-EINVAL if graph or endpoint parsing failed\n> + *\t   Other error codes as returned by @parse_endpoint\n> + */\n> +int v4l2_async_notifier_parse_fwnode_endpoints(\n> +\tstruct device *dev, struct v4l2_async_notifier *notifier,\n> +\tsize_t asd_struct_size,\n> +\tint (*parse_endpoint)(struct device *dev,\n> +\t\t\t      struct v4l2_fwnode_endpoint *vep,\n> +\t\t\t      struct v4l2_async_subdev *asd));\n> +\n>  #endif /* _V4L2_FWNODE_H */\n> \n\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xrL1w1jnxz9s81\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 18:00:04 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750991AbdIKIAD (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tMon, 11 Sep 2017 04:00:03 -0400","from lb1-smtp-cloud7.xs4all.net ([194.109.24.24]:37121 \"EHLO\n\tlb1-smtp-cloud7.xs4all.net\" rhost-flags-OK-OK-OK-OK)\n\tby vger.kernel.org with ESMTP id S1750965AbdIKIAC (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Mon, 11 Sep 2017 04:00:02 -0400","from [192.168.2.10] ([212.251.195.8])\n\tby smtp-cloud7.xs4all.net with ESMTPA\n\tid rJdMdH8x7b2snrJdQd6HFM; Mon, 11 Sep 2017 10:00:00 +0200"],"Subject":"Re: [PATCH v9 05/24] v4l: fwnode: Support generic parsing of graph\n\tendpoints in a device","To":"Sakari Ailus <sakari.ailus@linux.intel.com>, linux-media@vger.kernel.org","Cc":"niklas.soderlund@ragnatech.se, robh@kernel.org,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org,\n\tpavel@ucw.cz, sre@kernel.org","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-1-sakari.ailus@linux.intel.com>","From":"Hans Verkuil <hverkuil@xs4all.nl>","Message-ID":"<105b4a67-adc2-eba2-c55a-777c91b1b644@xs4all.nl>","Date":"Mon, 11 Sep 2017 09:59:56 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<20170908131822.31020-1-sakari.ailus@linux.intel.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","X-CMAE-Envelope":"MS4wfAgasRZsK76OSnsj+Eer42Jq6EBWz7K/pH7m+62S6Rqkt60buzOAPwbsmkDQNtCHLedt5G4FL0cLWOI1Jl1RRDIz5t0BY8HqSP/hGMYJno3Zym5v23V/\n\tu8hjPfcXQ5QRHDhH4nCGUN+aHf7648upMCLKRtEP9uRRpkeebNSXGi131Jb6xzrF4Q7oVBUSXzqEDSSaFJrV4G96vaOG9ELu+mFS8+nQSEhDIxcAq5IEQTmc\n\toUgS3SsrfHnz+MUDFJ75/tJWiFVqouB2RscaQzWGfVxX3v5JSR8sw40Hyoy/CrXz1BcLWfUyMNdmMZUx8jwkKQqx7FRvwHkb/K+hWOHU4GFmOmt5fAyJWuiW\n\t/S9tm0m3ybOfOTefynEO+Bp8fRwJPUmd5jtyfiie5Zrq6V7XsiXRIAxOvSSzkxz/fO317H1sjEEMwsOAugA2gHO/G+RHAePmVoX9j1yuKXDrEBGNfvGg6tgZ\n\tmbF/c1sXmhLyG8YYx14hyl1IwSGxoR0ztSES+Kbp7qoZz53Kgtsxrt57wiEjmTBTCh1Op1D1dr7DOZuAX8aQutXPTs1WQRzmJEfKGw==","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1766120,"web_url":"http://patchwork.ozlabs.org/comment/1766120/","msgid":"<beb494e4-44f7-2eec-8d24-8d92e23dafd2@xs4all.nl>","list_archive_url":null,"date":"2017-09-11T08:05:40","subject":"Re: [PATCH v9 13/24] v4l: async: Allow async notifier register call\n\tsucceed with no subdevs","submitter":{"id":723,"url":"http://patchwork.ozlabs.org/api/people/723/","name":"Hans Verkuil","email":"hverkuil@xs4all.nl"},"content":"On 09/08/2017 03:18 PM, Sakari Ailus wrote:\n> The information on how many async sub-devices would be bindable to a\n> notifier is typically dependent on information from platform firmware and\n> it's not driver's business to be aware of that.\n> \n> Many V4L2 main drivers are perfectly usable (and useful) without async\n> sub-devices and so if there aren't any around, just proceed call the\n> notifier's complete callback immediately without registering the notifier\n> itself.\n> \n> If a driver needs to check whether there are async sub-devices available,\n> it can be done by inspecting the notifier's num_subdevs field which tells\n> the number of async sub-devices.\n> \n> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n> ---\n>  drivers/media/v4l2-core/v4l2-async.c | 6 ++++--\n>  1 file changed, 4 insertions(+), 2 deletions(-)\n> \n> diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c\n> index 7b396ff4302b..9ebc2e079d03 100644\n> --- a/drivers/media/v4l2-core/v4l2-async.c\n> +++ b/drivers/media/v4l2-core/v4l2-async.c\n> @@ -170,10 +170,12 @@ int v4l2_async_notifier_register(struct v4l2_device *v4l2_dev,\n>  \tstruct v4l2_async_subdev *asd;\n>  \tint i;\n>  \n> -\tif (!v4l2_dev || !notifier->num_subdevs ||\n> -\t    notifier->num_subdevs > V4L2_MAX_SUBDEVS)\n> +\tif (!v4l2_dev || notifier->num_subdevs > V4L2_MAX_SUBDEVS)\n>  \t\treturn -EINVAL;\n>  \n> +\tif (!notifier->num_subdevs)\n> +\t\treturn v4l2_async_notifier_call_complete(notifier);\n> +\n\nI would move this 'if' down to after the next three lines...\n\n>  \tnotifier->v4l2_dev = v4l2_dev;\n>  \tINIT_LIST_HEAD(&notifier->waiting);\n>  \tINIT_LIST_HEAD(&notifier->done);\n> \n\n...that way the notifier struct is properly initialized. Just in case anyone\never looks at these three fields.\n\nRegards,\n\n\tHans\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xrL8Z5zCLz9s81\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 18:05:50 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751049AbdIKIFq (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tMon, 11 Sep 2017 04:05:46 -0400","from lb1-smtp-cloud7.xs4all.net ([194.109.24.24]:39642 \"EHLO\n\tlb1-smtp-cloud7.xs4all.net\" rhost-flags-OK-OK-OK-OK)\n\tby vger.kernel.org with ESMTP id S1751003AbdIKIFp (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Mon, 11 Sep 2017 04:05:45 -0400","from [192.168.2.10] ([212.251.195.8])\n\tby smtp-cloud7.xs4all.net with ESMTPA\n\tid rJiudHCM7b2snrJixd6JTS; Mon, 11 Sep 2017 10:05:43 +0200"],"Subject":"Re: [PATCH v9 13/24] v4l: async: Allow async notifier register call\n\tsucceed with no subdevs","To":"Sakari Ailus <sakari.ailus@linux.intel.com>, linux-media@vger.kernel.org","Cc":"niklas.soderlund@ragnatech.se, robh@kernel.org,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org,\n\tpavel@ucw.cz, sre@kernel.org","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-9-sakari.ailus@linux.intel.com>","From":"Hans Verkuil <hverkuil@xs4all.nl>","Message-ID":"<beb494e4-44f7-2eec-8d24-8d92e23dafd2@xs4all.nl>","Date":"Mon, 11 Sep 2017 10:05:40 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<20170908131822.31020-9-sakari.ailus@linux.intel.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","X-CMAE-Envelope":"MS4wfAm3F079f5aLMPNupZ7X6FQ57rzcptuLfNAzgdJ9Ps9pbNnh7PGbo6dFu2cBSFA1dZBtcZTGUhDFxMQc6OZZbC70S0ndyfEW36LHx1dhwNDevvBm2RSv\n\tZCUvvmLXmM/M/YYoXFCGSE/hkVp9eNqWR43rRJqi7VmiRfIhTX4S2p8BPrR8ivhZxsdvel+EbRPeSbfNCqdKZyBWWdssVfGzq1V0NYxPRrMQ8VoKuT//cSRC\n\tTIhPa8e5rpcPi7B6g8o6Ak/p2C84DDW+TXwmim7p29EmEl8RSZemIo2EO3ZJGadm51IEIP//D7+CDybAZOqsgWpkgm2bHTsNpvZPEMzXX3300qEi3oqttCb5\n\tuSLgz/LRBpQnvpg8s0WhtZqw7uUTNE8U5S+UXHwcPccf1sIlKF67FPbf77yp0U6wcGWiHBqpOR2d9+69iZ3hxQSYeOwIFHnsB6ini1d+vS6Fgb4UOVm0Mj1f\n\tHQ7vli9moIvXOb2CN03OrlpolabniW79WZ13dpWpZAP+8bnwlbJccx8pXAziawg74CjYifIPa9Q8IyDF6h7uNe5xcDCbLAH+NyUIZQ==","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1766123,"web_url":"http://patchwork.ozlabs.org/comment/1766123/","msgid":"<20170911082140.ejsajh6zq2kfdxn2@valkosipuli.retiisi.org.uk>","list_archive_url":null,"date":"2017-09-11T08:21:40","subject":"Re: [PATCH v9 13/24] v4l: async: Allow async notifier register call\n\tsucceed with no subdevs","submitter":{"id":1593,"url":"http://patchwork.ozlabs.org/api/people/1593/","name":"Sakari Ailus","email":"sakari.ailus@iki.fi"},"content":"On Mon, Sep 11, 2017 at 10:05:40AM +0200, Hans Verkuil wrote:\n> On 09/08/2017 03:18 PM, Sakari Ailus wrote:\n> > The information on how many async sub-devices would be bindable to a\n> > notifier is typically dependent on information from platform firmware and\n> > it's not driver's business to be aware of that.\n> > \n> > Many V4L2 main drivers are perfectly usable (and useful) without async\n> > sub-devices and so if there aren't any around, just proceed call the\n> > notifier's complete callback immediately without registering the notifier\n> > itself.\n> > \n> > If a driver needs to check whether there are async sub-devices available,\n> > it can be done by inspecting the notifier's num_subdevs field which tells\n> > the number of async sub-devices.\n> > \n> > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n> > ---\n> >  drivers/media/v4l2-core/v4l2-async.c | 6 ++++--\n> >  1 file changed, 4 insertions(+), 2 deletions(-)\n> > \n> > diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c\n> > index 7b396ff4302b..9ebc2e079d03 100644\n> > --- a/drivers/media/v4l2-core/v4l2-async.c\n> > +++ b/drivers/media/v4l2-core/v4l2-async.c\n> > @@ -170,10 +170,12 @@ int v4l2_async_notifier_register(struct v4l2_device *v4l2_dev,\n> >  \tstruct v4l2_async_subdev *asd;\n> >  \tint i;\n> >  \n> > -\tif (!v4l2_dev || !notifier->num_subdevs ||\n> > -\t    notifier->num_subdevs > V4L2_MAX_SUBDEVS)\n> > +\tif (!v4l2_dev || notifier->num_subdevs > V4L2_MAX_SUBDEVS)\n> >  \t\treturn -EINVAL;\n> >  \n> > +\tif (!notifier->num_subdevs)\n> > +\t\treturn v4l2_async_notifier_call_complete(notifier);\n> > +\n> \n> I would move this 'if' down to after the next three lines...\n> \n> >  \tnotifier->v4l2_dev = v4l2_dev;\n> >  \tINIT_LIST_HEAD(&notifier->waiting);\n> >  \tINIT_LIST_HEAD(&notifier->done);\n> > \n> \n> ...that way the notifier struct is properly initialized. Just in case anyone\n> ever looks at these three fields.\n\nMakes sense. Fixed.","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xrLVz31QLz9s8J\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 18:21:47 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750954AbdIKIVp (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tMon, 11 Sep 2017 04:21:45 -0400","from nblzone-211-213.nblnetworks.fi ([83.145.211.213]:49426 \"EHLO\n\thillosipuli.retiisi.org.uk\" rhost-flags-OK-OK-OK-FAIL)\n\tby vger.kernel.org with ESMTP id S1750922AbdIKIVp (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Mon, 11 Sep 2017 04:21:45 -0400","from valkosipuli.localdomain (valkosipuli.retiisi.org.uk\n\t[IPv6:2001:1bc8:1a6:d3d5::80:2])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby hillosipuli.retiisi.org.uk (Postfix) with ESMTPS id 206AB60102;\n\tMon, 11 Sep 2017 11:21:42 +0300 (EEST)","from sakke by valkosipuli.localdomain with local (Exim 4.89)\n\t(envelope-from <sakke@valkosipuli.retiisi.org.uk>)\n\tid 1drJyP-0003i8-6O; Mon, 11 Sep 2017 11:21:41 +0300"],"Date":"Mon, 11 Sep 2017 11:21:40 +0300","From":"Sakari Ailus <sakari.ailus@iki.fi>","To":"Hans Verkuil <hverkuil@xs4all.nl>","Cc":"Sakari Ailus <sakari.ailus@linux.intel.com>,\n\tlinux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, laurent.pinchart@ideasonboard.com,\n\tlinux-acpi@vger.kernel.org, mika.westerberg@intel.com,\n\tdevicetree@vger.kernel.org, pavel@ucw.cz, sre@kernel.org","Subject":"Re: [PATCH v9 13/24] v4l: async: Allow async notifier register call\n\tsucceed with no subdevs","Message-ID":"<20170911082140.ejsajh6zq2kfdxn2@valkosipuli.retiisi.org.uk>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-9-sakari.ailus@linux.intel.com>\n\t<beb494e4-44f7-2eec-8d24-8d92e23dafd2@xs4all.nl>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<beb494e4-44f7-2eec-8d24-8d92e23dafd2@xs4all.nl>","User-Agent":"NeoMutt/20170113 (1.7.2)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1766124,"web_url":"http://patchwork.ozlabs.org/comment/1766124/","msgid":"<20170911082402.rz53v552iap5pdwv@valkosipuli.retiisi.org.uk>","list_archive_url":null,"date":"2017-09-11T08:24:02","subject":"Re: [PATCH v9 00/23] Unified fwnode endpoint parser, async\n\tsub-device notifier support, N9 flash DTS","submitter":{"id":1593,"url":"http://patchwork.ozlabs.org/api/people/1593/","name":"Sakari Ailus","email":"sakari.ailus@iki.fi"},"content":"On Sat, Sep 09, 2017 at 11:34:13AM +0200, Pavel Machek wrote:\n> On Fri 2017-09-08 16:25:07, Sakari Ailus wrote:\n> > On Fri, Sep 08, 2017 at 04:11:51PM +0300, Sakari Ailus wrote:\n> > > With this, the as3645a driver successfully registers a sub-device to the\n> > > media device created by the omap3isp driver. The kernel also has the\n> > > information it's related to the sensor driven by the smiapp driver but we\n> > > don't have a way to expose that information yet.\n> > \n> > The patches are also available here:\n> > \n> > <URL:https://git.linuxtv.org/sailus/media_tree.git/log/?h=fwnode-parse>\n> \n> I merged the series on top of v4.14-rc0, and it does not break\n> anything. So:\n> \n> Tested-by: Pavel Machek <pavel@ucw.cz>\n\nThanks!","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xrLYg13vsz9s83\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 18:24:07 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750965AbdIKIYF (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tMon, 11 Sep 2017 04:24:05 -0400","from nblzone-211-213.nblnetworks.fi ([83.145.211.213]:49484 \"EHLO\n\thillosipuli.retiisi.org.uk\" rhost-flags-OK-OK-OK-FAIL)\n\tby vger.kernel.org with ESMTP id S1750940AbdIKIYF (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Mon, 11 Sep 2017 04:24:05 -0400","from valkosipuli.localdomain (valkosipuli.retiisi.org.uk\n\t[IPv6:2001:1bc8:1a6:d3d5::80:2])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby hillosipuli.retiisi.org.uk (Postfix) with ESMTPS id DE654600FF;\n\tMon, 11 Sep 2017 11:24:02 +0300 (EEST)","from sakke by valkosipuli.localdomain with local (Exim 4.89)\n\t(envelope-from <sakke@valkosipuli.retiisi.org.uk>)\n\tid 1drK0g-0003iG-EG; Mon, 11 Sep 2017 11:24:02 +0300"],"Date":"Mon, 11 Sep 2017 11:24:02 +0300","From":"Sakari Ailus <sakari.ailus@iki.fi>","To":"Pavel Machek <pavel@ucw.cz>","Cc":"Sakari Ailus <sakari.ailus@linux.intel.com>,\n\tlinux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org, sre@kernel.org","Subject":"Re: [PATCH v9 00/23] Unified fwnode endpoint parser, async\n\tsub-device notifier support, N9 flash DTS","Message-ID":"<20170911082402.rz53v552iap5pdwv@valkosipuli.retiisi.org.uk>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908132507.nqofkw2g43m7ydux@valkosipuli.retiisi.org.uk>\n\t<20170909093413.GN27428@amd>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170909093413.GN27428@amd>","User-Agent":"NeoMutt/20170113 (1.7.2)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1766557,"web_url":"http://patchwork.ozlabs.org/comment/1766557/","msgid":"<eefe9707-0486-8440-1074-abb7c317dbe3@gmail.com>","list_archive_url":null,"date":"2017-09-11T21:10:49","subject":"Re: [PATCH v9 18/24] as3645a: Switch to fwnode property API","submitter":{"id":66885,"url":"http://patchwork.ozlabs.org/api/people/66885/","name":"Jacek Anaszewski","email":"jacek.anaszewski@gmail.com"},"content":"Hi Sakari,\n\nOn 09/09/2017 11:36 PM, Sakari Ailus wrote:\n> Hi Jacek,\n> \n> On Sat, Sep 09, 2017 at 09:06:41PM +0200, Jacek Anaszewski wrote:\n>> Hi Sakari,\n>>\n>> I've come across this patch only by a chance. I believe that merging\n>> leds-as3645a.c patches via media tree is not going to be a persistent\n>> pattern. At least we haven't agreed on that, and in any case I should\n>> have a possibility to give my ack for this patch.\n> \n> Correct. The reason the previous patches went through linux-media was\n> because these patches dependend on other patches only in linux-media at the\n> time. This is no longer the case (the three as3645a patches I'd like to get\n> in as fixes are another matter but let's discuss that separately).\n> \n>>\n>> Would you mind also adding linux-leds list on cc when touching areas\n>> related to LED/flash devices?\n> \n> I added this patch to this version of the set and missed cc'ing it to\n> linux-leds. I think I'll send it there separately once the 17th patch (ACPI\n> support) has been reviewed. The two are loosely related to the rest of the\n> patches in the set but there's no hard dependency.\n\nRight, they are loosely related, but cross-posting anything having \"LED\"\nin its contents to linux-leds list would be understandable if not\ndesirable :-) Just to keep LED people in sync.","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"B0WFADm2\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xrgbR1dFBz9sDB\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 12 Sep 2017 07:11:47 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751365AbdIKVLp (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tMon, 11 Sep 2017 17:11:45 -0400","from mail-wr0-f174.google.com ([209.85.128.174]:38423 \"EHLO\n\tmail-wr0-f174.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751078AbdIKVLo (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Mon, 11 Sep 2017 17:11:44 -0400","by mail-wr0-f174.google.com with SMTP id 108so17061836wra.5;\n\tMon, 11 Sep 2017 14:11:43 -0700 (PDT)","from [192.168.1.18] (chm231.neoplus.adsl.tpnet.pl. [83.31.10.231])\n\tby smtp.gmail.com with ESMTPSA id\n\th201sm1776686wmd.27.2017.09.11.14.11.40\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tMon, 11 Sep 2017 14:11:42 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=subject:to:references:cc:from:message-id:date:user-agent\n\t:mime-version:in-reply-to:content-transfer-encoding;\n\tbh=QFT4QL4Zmt+M40Ggu6tQIGxbUb5bfLvOAIrhsEqlByg=;\n\tb=B0WFADm2z6JvAeE3o8sgyOrWaGVPtz4BG4iHRDPLN815lxQYn8jzaMAAI0C9OAR9Rl\n\tiyX14v+d9sk/pO6xLhJCFM6ph3+ZtRoHJ2G/xFYX+m9i8QpDz/jF3waNKKqJ4ksIZYGf\n\tBKy1z7g/QgVQNnO477LDvQFPbqj/Mnr3M6ZBe1jDwq14wjmj4rq/nqhH7f+3WgGGwfUl\n\toZOZoiC8QxChb4a6/h+YsUHRDjhcyCHYJISU8hQzGst9XzSu+43Wpw2yZpGlFjQRUBs0\n\tYHExjMOGP0yy2Q4c/VE1Kx5QMMQrdBdhFXLiFO7bK6VH9SDIMjZgZKjx+hdauX1NuO3c\n\tQUUQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:to:references:cc:from:message-id:date\n\t:user-agent:mime-version:in-reply-to:content-transfer-encoding;\n\tbh=QFT4QL4Zmt+M40Ggu6tQIGxbUb5bfLvOAIrhsEqlByg=;\n\tb=SXCMhx0p319BqCfJNJ1IsQReHOqROv3L6DGRNE0czxp6ryriMSt8MR7tg40l36U0b+\n\tDUj5/RbBEtNa7DkbXB3naWEagT9LzXzXv06u0lMXZ/6IGQw8euzoFwGHoqLum1u+ej2P\n\t4u1ZQjuclKsn5vNqLk5g2OQUNB/vAYbVcDzPf5EW/mmXrGsWoWLXZKSMTTNHrgcmUD8c\n\tfLa/T1c1KCR0WQwQtpaoN53RrkqdC5Jag1p/XrH4N6AaiJ6n+4fsHJxplkvQUm17SPpm\n\tWSo496Ss/QnU6mbnsWBCMJcuz1cYrPBSZkpfEvBPi1yDGR5RPWBflqRzzbnlF/Mk4W2S\n\t5B3Q==","X-Gm-Message-State":"AHPjjUi+72ezrCkCBdSvPSqCTEy7Gxatc/KhAHBR49IgJDIf5nQB/n90\n\txPfc1L0Xyam5blVKQjQ=","X-Google-Smtp-Source":"ADKCNb4ECYY3e/mpiHhm2nNQFXpNnemsO0fFZRGHgimEHDb5XLU2VmnwfuicZBUWbL1JkcKDv4mnNw==","X-Received":"by 10.223.195.205 with SMTP id d13mr9343123wrg.193.1505164302998;\n\tMon, 11 Sep 2017 14:11:42 -0700 (PDT)","Subject":"Re: [PATCH v9 18/24] as3645a: Switch to fwnode property API","To":"Sakari Ailus <sakari.ailus@iki.fi>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-14-sakari.ailus@linux.intel.com>\n\t<f6c79aff-dcc7-ee7d-e224-1f9bc6af1fee@gmail.com>\n\t<20170909213658.6hqbsn66q4xc2sex@valkosipuli.retiisi.org.uk>","Cc":"Sakari Ailus <sakari.ailus@linux.intel.com>,\n\tlinux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org,\n\tpavel@ucw.cz, sre@kernel.org","From":"Jacek Anaszewski <jacek.anaszewski@gmail.com>","X-Enigmail-Draft-Status":"N1110","Message-ID":"<eefe9707-0486-8440-1074-abb7c317dbe3@gmail.com>","Date":"Mon, 11 Sep 2017 23:10:49 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101\n\tThunderbird/45.8.0","MIME-Version":"1.0","In-Reply-To":"<20170909213658.6hqbsn66q4xc2sex@valkosipuli.retiisi.org.uk>","Content-Type":"text/plain; charset=windows-1252","Content-Transfer-Encoding":"8bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1766898,"web_url":"http://patchwork.ozlabs.org/comment/1766898/","msgid":"<20170912110645.npkpl4elmbrjavla@valkosipuli.retiisi.org.uk>","list_archive_url":null,"date":"2017-09-12T11:06:45","subject":"Re: [PATCH] et8ek8: Add support for flash and lens devices","submitter":{"id":1593,"url":"http://patchwork.ozlabs.org/api/people/1593/","name":"Sakari Ailus","email":"sakari.ailus@iki.fi"},"content":"Hi Pavel,\n\nOn Mon, Sep 11, 2017 at 03:18:31PM +0200, Pavel Machek wrote:\n> Parse async sub-devices by using\n> v4l2_subdev_fwnode_reference_parse_sensor_common().\n> \n> These types devices aren't directly related to the sensor, but are\n> nevertheless handled by the et8ek8 driver due to the relationship of these\n> component to the main part of the camera module --- the sensor.\n> \n> Signed-off-by: Pavel Machek <pavel@ucw.cz>\n> \n> ---\n> \n> This enables me to do autofocus on n900.\n> \n> Depends on Sakari's series, so best solution would be to append it there.\n\nI added this after the smiapp driver changes.","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xs2704jVhz9s82\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tTue, 12 Sep 2017 21:06:52 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751311AbdILLGt (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tTue, 12 Sep 2017 07:06:49 -0400","from nblzone-211-213.nblnetworks.fi ([83.145.211.213]:35068 \"EHLO\n\thillosipuli.retiisi.org.uk\" rhost-flags-OK-OK-OK-FAIL)\n\tby vger.kernel.org with ESMTP id S1751289AbdILLGt (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Tue, 12 Sep 2017 07:06:49 -0400","from valkosipuli.localdomain (valkosipuli.retiisi.org.uk\n\t[IPv6:2001:1bc8:1a6:d3d5::80:2])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby hillosipuli.retiisi.org.uk (Postfix) with ESMTPS id 5940E600F0;\n\tTue, 12 Sep 2017 14:06:46 +0300 (EEST)","from sakke by valkosipuli.localdomain with local (Exim 4.89)\n\t(envelope-from <sakke@valkosipuli.retiisi.org.uk>)\n\tid 1drj1h-0003vi-Q6; Tue, 12 Sep 2017 14:06:45 +0300"],"Date":"Tue, 12 Sep 2017 14:06:45 +0300","From":"Sakari Ailus <sakari.ailus@iki.fi>","To":"Pavel Machek <pavel@ucw.cz>","Cc":"Sakari Ailus <sakari.ailus@linux.intel.com>,\n\tlinux-media@vger.kernel.org, niklas.soderlund@ragnatech.se,\n\trobh@kernel.org, hverkuil@xs4all.nl,\n\tlaurent.pinchart@ideasonboard.com, linux-acpi@vger.kernel.org,\n\tmika.westerberg@intel.com, devicetree@vger.kernel.org, sre@kernel.org","Subject":"Re: [PATCH] et8ek8: Add support for flash and lens devices","Message-ID":"<20170912110645.npkpl4elmbrjavla@valkosipuli.retiisi.org.uk>","References":"<20170908131235.30294-1-sakari.ailus@linux.intel.com>\n\t<20170908131822.31020-18-sakari.ailus@linux.intel.com>\n\t<20170909214724.GA18677@amd> <20170911131831.GA12658@amd>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170911131831.GA12658@amd>","User-Agent":"NeoMutt/20170113 (1.7.2)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}}]