From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 09A7FC433DF for ; Tue, 23 Jun 2020 20:01:15 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C1F46206C3 for ; Tue, 23 Jun 2020 20:01:14 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="HwSW94L+"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="CeTwP3xd" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C1F46206C3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=TSa2tXi/klWXmpMvDwz1x2VyUmpJPmR/Kq6tfexChjQ=; b=HwSW94L+TOvcN8lUP7R28fC4v 9WrL2uT0O+yAHIJblsBGk6CqSjalwpmeKOd+guAxlbCFsZTJQ2l4f5+uVQcMwSEQ2Ezk52XMuhcST zzvnmtPyPEtuLmMeK7+J6hpiNl3B7tDtpD0YP9TPJPWPh6v2P0F9JLRuYsrxMgFRFm1m7m9WJ6yWx Yp77NNfvdPVNQ8cE14ShsYk7jhVUOGTNLhYqlfSQttN9bfKy6PDSdHqlSRoZpD9EuYK4oYlR/yQFz WVHz/IIVeAf1p5qGmOcj/lF2cv/L5U5fxPaUE3qQQQbV04mVqcOCJ/B4J5CS/3dgAfpKs9DxdqS7A UZ6tDj0jA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jnp4b-0004n0-G9; Tue, 23 Jun 2020 19:59:13 +0000 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jnp4Z-0004mi-3s for linux-arm-kernel@lists.infradead.org; Tue, 23 Jun 2020 19:59:11 +0000 Received: by mail-wm1-x342.google.com with SMTP id f139so15679wmf.5 for ; Tue, 23 Jun 2020 12:59:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=IPdMfNBCb3ooyKxisNbJboD6zq07Gvy74xhRp0EuCMo=; b=CeTwP3xdcLmwwCQ6Fp2yvYkY9zraSYXGspSaLBeT7GB1HENWbjidC+8alq/+trmwCQ H6x+05l6tmgMZyB/W/Fw1lMoUu5FmqlIETo88G3NEKWdUCJmkkwh6SD8EjoW7+HwO8Wx cB09rJhmKpH5lNzTtahGMVkTCCsUffCh6R7KCPG71F31fKynMeSM92ArlZf/Y/4471uJ lcM2UyMnz0thKKrSPzXZjDPWr/IuilFgGiwFchVIazg/tzu6YKyJ403YYPX4SCAHsqCj zCTDAAXh+VvuS1qrdKUgPhqaEELsOyBhijUUAGoXmtfGivUKXTH91NMDSiTtm/lLwLb2 YACg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=IPdMfNBCb3ooyKxisNbJboD6zq07Gvy74xhRp0EuCMo=; b=Z3qHxowf7eeVAbi1Ak4VpJ1xt0HcnVA3Sd/9y3Pke/PD6XnOYw8D5QgPeLppNcveuV EPASLo7yj2uGE9IACG49fr4PJ/ZT1oXE43cMJSoTnTTmVoAs0M8klMkeU1RRoOmcapeR Bzc8b1Gld3/pVgyrwOCUBPbl8NS6JkgxNrUHekEzTHrweBGz4hQfSlz23L5aD9nXvRii /KxZZeAx0O5a3AUKcBiS32DS7I4Tqs/zG0rBLdIjTbq9XDpcl82G+DAYzwarl8NuCf7z o5IUB6chna2tfAA3WNLa+jMMhSVXZ6qc5gMFxJtc/Vb9CsZdulMbTxmPhIuzL1ZNjo95 I9Jw== X-Gm-Message-State: AOAM530X09j69Uv81xdQzF1+9iAU++WWes2WaZrwSBrlxyMiWptLSCg7 JXSYuSZIGZCoktz/t7VvacBX/g== X-Google-Smtp-Source: ABdhPJzzMvFH1YHMHYA8VnuOX5wd3xqPorM6dkBi3h6WAXZ4I87/hAdqvcVA9papKXzK0NCyfIp4KQ== X-Received: by 2002:a05:600c:2201:: with SMTP id z1mr25363647wml.70.1592942349777; Tue, 23 Jun 2020 12:59:09 -0700 (PDT) Received: from dell ([2.27.35.144]) by smtp.gmail.com with ESMTPSA id a81sm5485161wmd.25.2020.06.23.12.59.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Jun 2020 12:59:09 -0700 (PDT) Date: Tue, 23 Jun 2020 20:59:05 +0100 From: Lee Jones To: Frank Rowand Subject: Re: [PATCH v2 1/3] mfd: core: Make a best effort attempt to match devices with the correct of_nodes Message-ID: <20200623195905.GB954398@dell> References: <20200615092644.GA2608702@dell> <20200622085009.GP954398@dell> <20200622151054.GW954398@dell> <037c0fd2-df35-5981-7ef2-c6199841650d@gmail.com> <20200622191133.GY954398@dell> <20200623064723.GZ954398@dell> <83f2be78-1548-fa2b-199a-2391b2eceb47@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <83f2be78-1548-fa2b-199a-2391b2eceb47@gmail.com> X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, gregkh@linuxfoundation.org, broonie@kernel.org, michael@walle.cc, linux-kernel@vger.kernel.org, andy.shevchenko@gmail.com, robh+dt@kernel.org, linux-arm-kernel@lists.infradead.org, andriy.shevchenko@linux.intel.com, robin.murphy@arm.com, linus.walleij@linaro.org, linux@roeck-us.net Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org U3VnZ2VzdGlvbiAjMgoKPiA+Pj4+IDIpIE1vZGlmeSBwYXRjaCAxLzMuICBUaGUgc21hbGwgcGFy dCBvZiB0aGUgcGF0Y2ggdG8gbW9kaWZ5IGlzOgo+ID4+Pj4KPiA+Pj4+ICtzdGF0aWMgaW50IG1m ZF9tYXRjaF9vZl9ub2RlX3RvX2RldihzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAo+ID4+ Pj4gKwkJCQkgICAgc3RydWN0IGRldmljZV9ub2RlICpucCwKPiA+Pj4+ICsJCQkJICAgIGNvbnN0 IHN0cnVjdCBtZmRfY2VsbCAqY2VsbCkKPiA+Pj4+ICt7Cj4gPj4+PiArCXN0cnVjdCBtZmRfb2Zf bm9kZV9lbnRyeSAqb2ZfZW50cnk7Cj4gPj4+PiArCWNvbnN0IF9fYmUzMiAqcmVnOwo+ID4+Pj4g Kwl1NjQgb2Zfbm9kZV9hZGRyOwo+ID4+Pj4gKwo+ID4+Pj4gKwkvKiBTa2lwIGRldmljZXMgJ2Rp c2FibGVkJyBieSBEZXZpY2UgVHJlZSAqLwo+ID4+Pj4gKwlpZiAoIW9mX2RldmljZV9pc19hdmFp bGFibGUobnApKQo+ID4+Pj4gKwkJcmV0dXJuIC1FTk9ERVY7Cj4gPj4+PiArCj4gPj4+PiArCS8q IFNraXAgaWYgT0Ygbm9kZSBoYXMgcHJldmlvdXNseSBiZWVuIGFsbG9jYXRlZCB0byBhIGRldmlj ZSAqLwo+ID4+Pj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KG9mX2VudHJ5LCAmbWZkX29mX25vZGVf bGlzdCwgbGlzdCkKPiA+Pj4+Cj4gPj4+PiBDaGFuZ2U6Cj4gPj4+Pgo+ID4+Pj4gKwkJaWYgKG9m X2VudHJ5LT5ucCA9PSBucCkKPiA+Pj4+ICsJCQlyZXR1cm4gLUVBR0FJTjsKPiA+Pj4+Cj4gPj4+ PiBUbzoKPiA+Pj4+Cj4gPj4+PiArCQlpZiAob2ZfZW50cnktPm5wID09IG5wKSB7Cj4gPj4+PiAr CQkJaWYgKCFjZWxsLT51c2Vfb2ZfcmVnKQo+ID4+Pj4gKwkJCQlyZXR1cm4gLUVJTlZBTDsKPiA+ Pj4+ICsJCQllbHNlCj4gPj4+PiArCQkJCXJldHVybiAtRUFHQUlOOwo+ID4+Pj4KPiA+Pj4+IFRo ZXJlIG1heSBiZSBhIGJldHRlciBjaG9pY2UgdGhhbiBFSU5WQUwsIGJ1dCBJIGFtIGp1c3Qgc2hv d2luZyB0aGUgbWV0aG9kLgo+ID4+Pj4KPiA+Pj4+IFlvdSBtYXkgYWxzbyB3YW50IHRvIHJlZmFj dG9yIHRoaXMgc2VjdGlvbiBvZiB0aGUgcGF0Y2ggc2xpZ2h0bHkKPiA+Pj4+IGRpZmZlcmVudGx5 IHRvIGFjaGlldmUgdGhlIHNhbWUgcmVzdWx0LiAgSXQgd2FzIGp1c3QgZWFzaWVzdCB0bwo+ID4+ Pj4gc2hvdyB0aGUgc3VnZ2VzdGVkIGNoYW5nZSB0aGUgd2F5IEkgZGlkIGl0Lgo+ID4+Pj4KPiA+ Pj4+IFRoZSB0ZXN0IHRoYXQgcmV0dXJucyBFSU5WQUwgZGV0ZWN0cyB0aGUgaXNzdWUgdGhhdCB0 aGUgRkRUIGRvZXMKPiA+Pj4+IG5vdCBtYXRjaCB0aGUgYmluZGluZyAodGhlcmUgaXMgbW9yZSBv bmUgY2hpbGQgbm9kZSB3aXRoIHRoZQo+ID4+Pj4gInN0ZXJpY3Nzb24sYWI4NTAwLXB3bSIgY29t cGF0aWJsZS4KCk15IHJlcGx5IHRvIHN1Z2dlc3Rpb24gIzIKCj4gPj4+IFNvIGhlcmUsIGluc3Rl YWQgb2YganVzdCBmYWlsaW5nIGEgc2luZ2xlIGRldmljZSwgd2UgZmFpbCBldmVyeXRoaW5nPwo+ ID4+PiBTb3VuZHMgYSBsb3QgbGlrZSB0aHJvd2luZyB0aGUgYmFieSBvdXQgd2l0aCB0aGUgYmF0 aCB3YXRlci4gIEhvdyBpcwo+ID4+PiB0aGF0IGFuIGltcHJvdmVtZW50Pwo+ID4gCj4gPiBbMF0K PiAKPiBJcyAiWzBdIiB0aGUgcGF0Y2ggc2VyaWVzLCBlc3BlY2lhbGx5IHBhdGNoIDEvMz8KCk5v LCB0aGlzIGlzIG15IHJlcGx5IHRvIHlvdXIgc3VnZ2VzdGlvbiAjMi4KClRoZSBbMF0gaXMgcmVm ZXJlbmNlZCBmdXJ0aGVyIGRvd24uCgpbLi4uXQoKPiA+Pj4gICogRmFsc2UgcG9zaXRpdmVzIGNh biBvY2N1ciBhbmQgd2lsbCBmYWlsIGFzIGEgcmVzdWx0Cj4gPj4KPiA+PiAoKFdoYXQgaXMgYW4g ZXhhbXBsZSBvZiBhIGZhbHNlIHBvc2l0aXZlPykpICBOZXZlciBtaW5kLCBub3cgdGhhdAo+ID4+ IEkgc2VlIHRoYXQgdGhlIHByZXZpb3VzIGlzc3VlIGlzIGEgZmF0YWwgZmxhdywgdGhpcyBiZWNv bWVzCj4gPj4gYWNhZGVtaWMuCj4gPiAKPiA+IFRoYXQncyBva2F5LCBJIGRvbid0IG1pbmQgZGlz Y3Vzc2luZy4KPiA+IAo+ID4gSXJvbmljYWxseSwgdGhlICdhYjg1MDAtcHdtJyBpcyBhIGdvb2Qg ZXhhbXBsZSBvZiBhIGZhbHNlIHBvc2l0aXZlLAo+ID4gc2luY2UgaXQncyBmaW5lIGZvciB0aGUg RFQgbm9kZXMgdG8gYmUgaWRlbnRpY2FsLiAgU28gbG9uZyBhcyB0aGVyZQo+ID4gYXJlIG5vZGVz IHByZXNlbnQgZm9yIGVhY2ggaW5zdGFuY2UsIGl0IGRvZXNuJ3QgbWF0dGVyIHdoaWNoIG9uZSBp cwo+ID4gYWxsb2NhdGVkIHRvIHdoaWNoIGRldmljZSAuRm9yY2luZyBhICdyZWcnIHByb3BlcnR5 IG9udG8gdGhlbSBmb3Igbm8+IGdvb2QgcmVhc29uIGl0IG5vdCBhIHZhbGlkIHNvbHV0aW9uIGhl cmUuCj4gCj4gSSB0aG91Z2h0IHRoYXQgb25lIG9mIHRoZSBwb2ludHMgb2YgdGhpcyBwYXRjaCBz ZXJpZXMgd2FzIHRvIGFkZCBhCj4gInJlZyIgcHJvcGVydHkgdG8gYW55IG1mZCBjaGlsZCB0aGF0 IHdhcyBkZXNjcmliZWQgYnkgdGhlCj4gT0ZfTUZEX0NFTExfUkVHKCkgbWFjcm8uCgpUaGUgT0Zf TUZEX0NFTExfUkVHKCkgbWFjcm8gZGlkbid0IGV4aXN0IHVudGlsIHRoaXMgcGF0Y2gtc2V0LgoK VGhlcmUgYXJlIGN1cnJlbnRseSBubyB1c2Vycy4KCj4gQW5kIHRoYXQgd2FzIG1lYW50IHRvIGZp eCB0aGUgcHJvYmxlbSB3aGVyZSBtdWx0aXBsZSBpbmRpc3Rpbmd1aXNoYWJsZQo+IGNoaWxkcmVu IGV4aXN0ZWQuICBUaGUgb25seSBpbnN0YW5jZSBJIGZvdW5kIG9mIHRoYXQgKHVzaW5nIHRoZQo+ IHdlYWsgc2VhcmNoIG9uIE9GX01GRF9DRUxMKCkpIHdhcyBvZiBjb21wYXRpYmxlICJzdGVyaWNz c29uLGFiODUwMC1wd20iCj4gaW4gZHJpdmVycy9tZmQvYWI4NTAwLWNvcmUuYy4gIFlvdSBhZ3Jl ZWQgd2l0aCBteSBlbWFpbCB0aGF0Cj4gcmVwb3J0ZWQgdGhhdC4KCk5vLCBJIGFncmVlZCB3aXRo IHlvdSB0aGF0IHRoZXJlIGlzIGEgY3VycmVudCBwcm9ibGVtIHdpdGgKInN0ZXJpY3Nzb24sYWI4 NTAwLXB3bSIsIGFzIGlkZW50aWZpZWQgYnkgTWljaGFlbC4gIEkgZGlkbid0IGFjdHVhbGx5Cmtu b3cgYWJvdXQgdGhpcyBpc3N1ZSB1bnRpbCAqYWZ0ZXIqIGRyYWZ0aW5nIHRoaXMgcGF0Y2gtc2V0 LiAgVG8gYmUKY2xlYXIgdGhlICJzdGVyaWNzc29uLGFiODUwMC1wd20iIHNjZW5hcmlvIGlzIG5v dCB0aGUgcmVhc29uIGZvciB0aGlzCnNldCdzIGV4aXN0ZW5jZS4KCkFsc28sIHBsZWFzZSBmb3Jn ZXQgYWJvdXQgdGhlIE9GX01GRF8qIG1hY3JvcywgdGhleSBhcmUgdG90YWxseQphZ25vc3RpYyB0 byB0aGlzIGVmZm9ydC4gIFRoZSBvbmx5IHJlbGV2YW5jZSB0aGV5IGhhdmUgaGVyZSBpcyB0aGUK YWRkaXRpb24gb2YgMSBleHRyYSBtYWNybyB3aGljaCAqY291bGQqIGJlIHVzZWQgdG8gcHJvdmlk ZSB0aGUgJ3JlZycKcHJvcGVydHkgd2hlcmUgYXBwcm9wcmlhdGUuCgo+IFNvIEkgdGhvdWdodCB0 aGF0IGRyaXZlcnMvbWZkL2FiODUwMC1jb3JlLmMgd291bGQgYmUgbW9kaWZpZWQgdG8KPiByZXBs YWNlIHRoZSBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgY29tcGF0aWJsZSAic3Rlcmljc3NvbixhYjg1 MDAtcHdtIgo+IGluIE9GX01GRF9DRUxMKCkgd2l0aCBPRl9NRkRfQ0VMTF9SRUcoKS4KClRoYXQg aXMgbm90IG15IHZpc2lvbi4gIFRoZXJlIGlzIG5vIG5lZWQgZm9yICJzdGVyaWNzc29uLGFiODUw MC1wd20iCnRvIGhhdmUgJ3JlZycgcHJvcGVydGllcyBhcyBmYXIgYXMgSSBzZWUgaXQuCgo+IFRo aXMgaXMgYW5vdGhlciBwcm9ibGVtIHdpdGggdGhlIHBhdGNoIHNlcmllczogdGhlcmUgaXMgbm8g dXNlcgo+IG9mIE9GX01GRF9DRUxMX1JFRygpLiAgUGxlYXNlIGFkZCBvbmUgdG8gdGhlIHNlcmll cy4KClRoYXQncyBub3QgYSBwcm9ibGVtIHdpdGggdGhpcyBwYXRjaC1zZXQsIGl0J3MgYSBwcm9i bGVtIHdpdGggeW91cgp1bmRlcnN0YW5kaW5nIG9mIHRoaXMgcGF0Y2gtc2V0LiA6KQoKQXMgZmFy IGFzIEkga25vdywgdGhlcmUgYXJlbid0IGFueSBjdXJyZW50IHVzZXJzIHdobyB3b3VsZCBiZW5l Zml0CmZyb20gdGhpcyB3b3JrLiAgSW5zdGVhZCwgaXQgaXMgZGVzaWduZWQgdG8gcHJvdmlkZSBm dXR1cmUgc3VibWl0dGVycwp3aXRoIGFub3RoZXIgdG9vbCB0byBoZWxwIHRoZW0gbGluayB0aGVp ciBjaGlsZCBkZXZpY2VzIHRvIHRoZSBjb3JyZWN0Ck9GIG5vZGVzLiAgVGhhdCdzIG5vdCB0byBz YXkgdGhhdCBjdXJyZW50IHVzZXJzIGNhbid0IGFuZCB3b24ndApiZW5lZml0IGZyb20gdGhpcy4g IEp1c3QgdGhhdCB0aGV5IGFyZSBub3QgdGhlIHRhcmdldCBhdWRpZW5jZS4KCj4gPj4+IFRoZSBh Ym92ZSBhY3R1YWxseSBtYWtlcyB0aGUgc29sdXRpb24gd29yc2UsIG5vdCBiZXR0ZXIuCj4gPj4+ Cj4gPj4KPiA+PiBQYXRjaCAxLzMgc2lsZW50bHkgZmFpbHMgdG8gZGVhbCB3aXRoIGEgYnJva2Vu IGRldmljZXRyZWUuCj4gPj4gSXQgcmVzdWx0cyBvbiBvbmUgb2YgdGhlIHRocmVlIGFiODUwMC1w d20gY2hpbGQgbm9kZXMgaW4KPiA+PiB0aGUgaHlwb3RoZXRpY2FsIGRldmljZXRyZWUgc291cmNl IHRyZWUgbm90IGJlaW5nIGFkZGVkLgo+ID4+Cj4gPj4gVGhhdCBpcyBub3QgYSBnb29kIHJlc3Vs dCBlaXRoZXIuCj4gPiAKPiA+IE5vIGl0IGRvZXNuJ3QuICBJbiB0aGUgY2FzZSBvZiAnYWI4NTAw LXB3bScgdGhlIE9GIG5vZGUgaXMgbm90IHNldCBmb3IKPiA+IDIgb2YgdGhlIGRldmljZXMgYW5k IHdhcm5pbmdzIGFyZSBwcmVzZW50ZWQgaW4gdGhlIGtlcm5lbCBsb2cuCj4gCj4gT0ssIEkgd2Fz IHdyb25nIGFib3V0ICJzaWxlbnQiLiAgVGhlcmUgaXMgYSB3YXJuaW5nOgo+ICAgIHByX3dhcm4o IiVzOiBGYWlsZWQgdG8gbG9jYXRlIG9mX25vZGUgW2lkOiAlZF1cbiIsCj4gCj4gPiBUaGUKPiA+ IGRldmljZSB3aWxsIGNvbnRpbnVlIHRvIHByb2JlIGFuZCBmdW5jdGlvbiBhcyB1c3VhbC4KPiAK PiBJZiB0aGUgZGV2aWNlIHByb2JlcyBhbmQgZnVuY3Rpb25zIGFzIHVzdWFsIHdpdGhvdXQgdGhl IGNoaWxkIG9mX25vZGUsCj4gdGhlbiB3aHkgZG9lcyB0aGUgbm9kZSBoYXZlIGFueSBwcm9wZXJ0 aWVzIChmb3IgdGhlIGNhc2VzIG9mCj4gYXJjaC9hcm0vYm9vdC9kdHMvc3RlLWFiODUwMC5kdHNp IGFuZCBhcmNoL2FybS9ib290L2R0cy9zdGUtYWI4NTA1LmR0c2kKPiB0aGUgcHJvcGVydGllcyAi Y2xvY2tzIiBhbmQgImNsb2NrLW5hbWVzIikuCgpCZWNhdXNlIERUIGlzIG1lYW50IHRvIGRlc2Ny aWJlIHRoZSBoYXJkd2FyZSwgbm90IHRoZSBpbXBsZW1lbnRhdGlvbi4KCkRUIGRvZXMgbm90IGtu b3csIG9yIGNhcmUgdGhhdCBpbiBvdXIgY2FzZSBtb3N0IG9wZXJhdGlvbnMgdGhhdCBoYXBwZW4K b24gdGhlIHBsYXRmb3JtIGFyZSBwYXNzZWQgYmFjayB2aWEgYW4gQVBJIHRvIGEgY2VudHJhbCBj b250cm9sbGluZwpsb2NhdGlvbi4gIE9yIHRoYXQgaW4gcmVhbGl0eSwgdGhlIE9GIG5vZGUgaW4g dGhpcyBzaXR1YXRpb24gaXMKc3VwZXJmbHVvdXMuCgpDYW4gd2UgcGxlYXNlIHN0b3AgdGFsa2lu ZyBhYm91dCB0aGUgQUI4NTAwLiAgSXQgZG9lc24ndCBoYXZlIGFueXRoaW5nCnRvIGRvIHdpdGgg dGhpcyBzZXJpZXMgYmVzaWRlcyB0aGUgZmFjdCB0aGF0IGlmIGl0ICh0aGlzIHNldCkgaGFkCmV4 aXN0ZWQgKmJlZm9yZSogJ2FiODUwMC1wd20nIHdhcyBPRiBlbmFibGVkLCBpdCB3b3VsZG4ndCBu b3cgYmUKd29ua3kuCgo+IERpZ2dpbmcgdGhyb3VnaCB0aGF0IGxlYWRzIHRvIHlldCBhbm90aGVy IHJlbGF0ZWQgcXVlc3Rpb24sIG9yIGFjdHVhbGx5Cj4gc29ydCBvZiB0aGUgc2FtZSBxdWVzdGlv bi4gIFdoeSBkbyB0aGUgY2hpbGQgbm9kZXMgd2l0aCBjb21wYXRpYmxlCj4gInN0ZXJpY3Nzb24s YWI4NTAwLXB3bSIgaGF2ZSB0aGUgcHJvcGVydGllcyAiY2xvY2tzIiBhbmQgImNsb2NrLW5hbWVz Igo+IHNpbmNlIHRoZSBiaW5kaW5nIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9t ZmQvYWI4NTAwLnR4dAo+IGRvZXMgbm90IGxpc3QgdGhlbT8KCklmIHlvdSB3YW50IHRvIHRhbGsg YWJvdXQgdGhlIEFCODUwMCwgcGxlYXNlIHN0YXJ0IGEgbmV3IHRocmVhZC4KCj4gPj4gT0ssIHNv IG15IHNvbHV0aW9uICMzIGlzIGEgbm8gZ28uICBIb3cgYWJvdXQgbXkgc29sdXRpb24gIzIsCj4g Pj4gd2hpY2ggeW91IGRpZCBub3QgY29tbWVudCBvbj8KPiA+IAo+ID4gSSBkaWQgWzBdLiAgWW91 IG11c3QgaGF2ZSBtaXNzZWQgaXQuIDopCj4gCj4gQnV0IHllcyBvciBubyB0byBteSBzb2x1dGlv biAjMiAod2l0aCBzb21lIHNsaWdodCBjaGFuZ2VzIHRvCj4gbWFrZSBpdCBiZXR0ZXIgKG1vcmUg Z3JhY2lvdXMgaGFuZGxpbmcgb2YgdGhlIGRldGVjdGVkIGVycm9yKSBhcwo+IGRpc2N1c3NlZCBl bHNld2hlcmUgaW4gdGhlIGVtYWlsIHRocmVhZCk/CgpQbGVhc2Ugc2VlICJbMF0iIGFib3ZlIQoK QUZBSUNUIHlvdXIgc29sdXRpb24gIzIgaW52b2x2ZXMgYm9tYmluZyBvdXQgKmFsbCogZGV2aWNl cyBpZiB0aGVyZSBpcwphIGR1cGxpY2F0ZSBjb21wYXRpYmxlIHdpdGggbm8gJ3JlZycgcHJvcGVy dHkgdmFsdWUuICBUaGlzIGlzIGEpCm92ZXIta2lsbCBhbmQgYikgbm90IGFuIGVycm9yLCBhcyBJ IG1lbnRpb25lZDoKCj4gPiBJdCBhbHNvIHN1ZmZlcnMgd2l0aCBmYWxzZSBwb3NpdGl2ZXMuCgot LSAKTGVlIEpvbmVzIFvmnY7nkLzmlq9dClNlbmlvciBUZWNobmljYWwgTGVhZCAtIERldmVsb3Bl ciBTZXJ2aWNlcwpMaW5hcm8ub3JnIOKUgiBPcGVuIHNvdXJjZSBzb2Z0d2FyZSBmb3IgQXJtIFNv Q3MKRm9sbG93IExpbmFybzogRmFjZWJvb2sgfCBUd2l0dGVyIHwgQmxvZwoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWls aW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id ABB47C433E0 for ; Tue, 23 Jun 2020 19:59:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7E2232080C for ; Tue, 23 Jun 2020 19:59:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="CeTwP3xd" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387420AbgFWT7M (ORCPT ); Tue, 23 Jun 2020 15:59:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49000 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733302AbgFWT7L (ORCPT ); Tue, 23 Jun 2020 15:59:11 -0400 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 52EBFC061573 for ; Tue, 23 Jun 2020 12:59:11 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id j18so20589wmi.3 for ; Tue, 23 Jun 2020 12:59:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=IPdMfNBCb3ooyKxisNbJboD6zq07Gvy74xhRp0EuCMo=; b=CeTwP3xdcLmwwCQ6Fp2yvYkY9zraSYXGspSaLBeT7GB1HENWbjidC+8alq/+trmwCQ H6x+05l6tmgMZyB/W/Fw1lMoUu5FmqlIETo88G3NEKWdUCJmkkwh6SD8EjoW7+HwO8Wx cB09rJhmKpH5lNzTtahGMVkTCCsUffCh6R7KCPG71F31fKynMeSM92ArlZf/Y/4471uJ lcM2UyMnz0thKKrSPzXZjDPWr/IuilFgGiwFchVIazg/tzu6YKyJ403YYPX4SCAHsqCj zCTDAAXh+VvuS1qrdKUgPhqaEELsOyBhijUUAGoXmtfGivUKXTH91NMDSiTtm/lLwLb2 YACg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=IPdMfNBCb3ooyKxisNbJboD6zq07Gvy74xhRp0EuCMo=; b=Nk6qKp3x25S/mU8d7JeuPQtiPeqmku/V6J5tFrFcvwxJcAdgfQEnfqA/hxeW1Er6BB HVzTXwU/senv+tpyjJB4m+DvUhIYMicBGVyWr3xlxtgvSA0cVICLdh3Ddi+x23W5GraM 1a7B365Da2BgSfQa8dJH5776pKig/DHk5Kk/aYX0RXCB9FSNcDVyqwfEccV95W1XDydP 92V7oY8yESL9otYQcotWgyoOX9bfMC6NzMh8xWXg/14evadMVFPvCdu/ZU6nRc4Jc9mH kE1I+VxboFmsh3DAdQVmCKHGhlq+17KcJAkHmi/Ln511DQuTWNfDJ8xP6pgZfKVvzLzb Z3sA== X-Gm-Message-State: AOAM530q6AER8tEfoRDrhJ4fd0F9FQiDrE6Rm5NaWkf8OTWiUSr2s4qv 9me/3o3alEdl2mTNGIUhBT+Na0OHAwbDcw== X-Google-Smtp-Source: ABdhPJzzMvFH1YHMHYA8VnuOX5wd3xqPorM6dkBi3h6WAXZ4I87/hAdqvcVA9papKXzK0NCyfIp4KQ== X-Received: by 2002:a05:600c:2201:: with SMTP id z1mr25363647wml.70.1592942349777; Tue, 23 Jun 2020 12:59:09 -0700 (PDT) Received: from dell ([2.27.35.144]) by smtp.gmail.com with ESMTPSA id a81sm5485161wmd.25.2020.06.23.12.59.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Jun 2020 12:59:09 -0700 (PDT) Date: Tue, 23 Jun 2020 20:59:05 +0100 From: Lee Jones To: Frank Rowand Cc: andy.shevchenko@gmail.com, michael@walle.cc, robh+dt@kernel.org, broonie@kernel.org, devicetree@vger.kernel.org, linus.walleij@linaro.org, linux@roeck-us.net, andriy.shevchenko@linux.intel.com, robin.murphy@arm.com, gregkh@linuxfoundation.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 1/3] mfd: core: Make a best effort attempt to match devices with the correct of_nodes Message-ID: <20200623195905.GB954398@dell> References: <20200615092644.GA2608702@dell> <20200622085009.GP954398@dell> <20200622151054.GW954398@dell> <037c0fd2-df35-5981-7ef2-c6199841650d@gmail.com> <20200622191133.GY954398@dell> <20200623064723.GZ954398@dell> <83f2be78-1548-fa2b-199a-2391b2eceb47@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <83f2be78-1548-fa2b-199a-2391b2eceb47@gmail.com> Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Suggestion #2 > >>>> 2) Modify patch 1/3. The small part of the patch to modify is: > >>>> > >>>> +static int mfd_match_of_node_to_dev(struct platform_device *pdev, > >>>> + struct device_node *np, > >>>> + const struct mfd_cell *cell) > >>>> +{ > >>>> + struct mfd_of_node_entry *of_entry; > >>>> + const __be32 *reg; > >>>> + u64 of_node_addr; > >>>> + > >>>> + /* Skip devices 'disabled' by Device Tree */ > >>>> + if (!of_device_is_available(np)) > >>>> + return -ENODEV; > >>>> + > >>>> + /* Skip if OF node has previously been allocated to a device */ > >>>> + list_for_each_entry(of_entry, &mfd_of_node_list, list) > >>>> > >>>> Change: > >>>> > >>>> + if (of_entry->np == np) > >>>> + return -EAGAIN; > >>>> > >>>> To: > >>>> > >>>> + if (of_entry->np == np) { > >>>> + if (!cell->use_of_reg) > >>>> + return -EINVAL; > >>>> + else > >>>> + return -EAGAIN; > >>>> > >>>> There may be a better choice than EINVAL, but I am just showing the method. > >>>> > >>>> You may also want to refactor this section of the patch slightly > >>>> differently to achieve the same result. It was just easiest to > >>>> show the suggested change the way I did it. > >>>> > >>>> The test that returns EINVAL detects the issue that the FDT does > >>>> not match the binding (there is more one child node with the > >>>> "stericsson,ab8500-pwm" compatible. My reply to suggestion #2 > >>> So here, instead of just failing a single device, we fail everything? > >>> Sounds a lot like throwing the baby out with the bath water. How is > >>> that an improvement? > > > > [0] > > Is "[0]" the patch series, especially patch 1/3? No, this is my reply to your suggestion #2. The [0] is referenced further down. [...] > >>> * False positives can occur and will fail as a result > >> > >> ((What is an example of a false positive?)) Never mind, now that > >> I see that the previous issue is a fatal flaw, this becomes > >> academic. > > > > That's okay, I don't mind discussing. > > > > Ironically, the 'ab8500-pwm' is a good example of a false positive, > > since it's fine for the DT nodes to be identical. So long as there > > are nodes present for each instance, it doesn't matter which one is > > allocated to which device .Forcing a 'reg' property onto them for no> good reason it not a valid solution here. > > I thought that one of the points of this patch series was to add a > "reg" property to any mfd child that was described by the > OF_MFD_CELL_REG() macro. The OF_MFD_CELL_REG() macro didn't exist until this patch-set. There are currently no users. > And that was meant to fix the problem where multiple indistinguishable > children existed. The only instance I found of that (using the > weak search on OF_MFD_CELL()) was of compatible "stericsson,ab8500-pwm" > in drivers/mfd/ab8500-core.c. You agreed with my email that > reported that. No, I agreed with you that there is a current problem with "stericsson,ab8500-pwm", as identified by Michael. I didn't actually know about this issue until *after* drafting this patch-set. To be clear the "stericsson,ab8500-pwm" scenario is not the reason for this set's existence. Also, please forget about the OF_MFD_* macros, they are totally agnostic to this effort. The only relevance they have here is the addition of 1 extra macro which *could* be used to provide the 'reg' property where appropriate. > So I thought that drivers/mfd/ab8500-core.c would be modified to > replace the multiple instances of compatible "stericsson,ab8500-pwm" > in OF_MFD_CELL() with OF_MFD_CELL_REG(). That is not my vision. There is no need for "stericsson,ab8500-pwm" to have 'reg' properties as far as I see it. > This is another problem with the patch series: there is no user > of OF_MFD_CELL_REG(). Please add one to the series. That's not a problem with this patch-set, it's a problem with your understanding of this patch-set. :) As far as I know, there aren't any current users who would benefit from this work. Instead, it is designed to provide future submitters with another tool to help them link their child devices to the correct OF nodes. That's not to say that current users can't and won't benefit from this. Just that they are not the target audience. > >>> The above actually makes the solution worse, not better. > >>> > >> > >> Patch 1/3 silently fails to deal with a broken devicetree. > >> It results on one of the three ab8500-pwm child nodes in > >> the hypothetical devicetree source tree not being added. > >> > >> That is not a good result either. > > > > No it doesn't. In the case of 'ab8500-pwm' the OF node is not set for > > 2 of the devices and warnings are presented in the kernel log. > > OK, I was wrong about "silent". There is a warning: > pr_warn("%s: Failed to locate of_node [id: %d]\n", > > > The > > device will continue to probe and function as usual. > > If the device probes and functions as usual without the child of_node, > then why does the node have any properties (for the cases of > arch/arm/boot/dts/ste-ab8500.dtsi and arch/arm/boot/dts/ste-ab8505.dtsi > the properties "clocks" and "clock-names"). Because DT is meant to describe the hardware, not the implementation. DT does not know, or care that in our case most operations that happen on the platform are passed back via an API to a central controlling location. Or that in reality, the OF node in this situation is superfluous. Can we please stop talking about the AB8500. It doesn't have anything to do with this series besides the fact that if it (this set) had existed *before* 'ab8500-pwm' was OF enabled, it wouldn't now be wonky. > Digging through that leads to yet another related question, or actually > sort of the same question. Why do the child nodes with compatible > "stericsson,ab8500-pwm" have the properties "clocks" and "clock-names" > since the binding Documentation/devicetree/bindings/mfd/ab8500.txt > does not list them? If you want to talk about the AB8500, please start a new thread. > >> OK, so my solution #3 is a no go. How about my solution #2, > >> which you did not comment on? > > > > I did [0]. You must have missed it. :) > > But yes or no to my solution #2 (with some slight changes to > make it better (more gracious handling of the detected error) as > discussed elsewhere in the email thread)? Please see "[0]" above! AFAICT your solution #2 involves bombing out *all* devices if there is a duplicate compatible with no 'reg' property value. This is a) over-kill and b) not an error, as I mentioned: > > It also suffers with false positives. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog