From mboxrd@z Thu Jan 1 00:00:00 1970 From: robh@kernel.org (Rob Herring) Date: Thu, 28 Jun 2018 14:43:38 -0600 Subject: [PATCH v3 0/6] Make deferring probe forever optional Message-ID: <20180628204344.13973-1-robh@kernel.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org This series came out of a discussion on the ARM boot-architecture list[1] about DT forwards and backwards compatibility issues. There are issues with newer DTs breaking on older, stable kernels. Some of these are difficult to solve, but cases of optional devices not having kernel support should be solvable. I tested this on a RPi3 B with the pinctrl driver forced off. With this change, the MMC/SD and UART drivers can function without the pinctrl driver. I left the dts change out this time. v2 of this series can be found here[2]. Rob [1] https://lists.linaro.org/pipermail/boot-architecture/2018-April/000466.html [2] https://lore.kernel.org/patchwork/project/lkml/list/?series=347413 Rob Herring (6): driver core: allow stopping deferred probe after init dt-bindings: pinctrl: add a 'pinctrl-use-default' property pinctrl: Support stopping deferred probe after initcalls iommu: Stop deferring probe at end of initcalls iommu: Remove IOMMU_OF_DECLARE PM / Domains: Stop deferring probe at the end of initcall .../admin-guide/kernel-parameters.txt | 9 +++ .../bindings/pinctrl/pinctrl-bindings.txt | 6 ++ drivers/base/dd.c | 57 +++++++++++++++++++ drivers/base/power/domain.c | 2 +- drivers/iommu/arm-smmu-v3.c | 2 - drivers/iommu/arm-smmu.c | 7 --- drivers/iommu/exynos-iommu.c | 2 - drivers/iommu/ipmmu-vmsa.c | 3 - drivers/iommu/msm_iommu.c | 2 - drivers/iommu/of_iommu.c | 21 +------ drivers/iommu/qcom_iommu.c | 2 - drivers/iommu/rockchip-iommu.c | 2 - drivers/pinctrl/devicetree.c | 15 +++-- include/asm-generic/vmlinux.lds.h | 2 - include/linux/device.h | 2 + include/linux/of_iommu.h | 4 -- 16 files changed, 88 insertions(+), 50 deletions(-) -- 2.17.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: [PATCH v3 0/6] Make deferring probe forever optional Date: Thu, 28 Jun 2018 14:43:38 -0600 Message-ID: <20180628204344.13973-1-robh@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: boot-architecture-bounces-cunTk1MwBs8s++Sfvej+rw@public.gmane.org Sender: "boot-architecture" To: Greg Kroah-Hartman , Linus Walleij , Alexander Graf , Bjorn Andersson , "Rafael J. Wysocki" , Kevin Hilman , Ulf Hansson , Joerg Roedel , Robin Murphy , Mark Brown , Frank Rowand Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, boot-architecture-cunTk1MwBs8s++Sfvej+rw@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: devicetree@vger.kernel.org VGhpcyBzZXJpZXMgY2FtZSBvdXQgb2YgYSBkaXNjdXNzaW9uIG9uIHRoZSBBUk0gYm9vdC1hcmNo aXRlY3R1cmUKbGlzdFsxXSBhYm91dCBEVCBmb3J3YXJkcyBhbmQgYmFja3dhcmRzIGNvbXBhdGli aWxpdHkgaXNzdWVzLiBUaGVyZSBhcmUKaXNzdWVzIHdpdGggbmV3ZXIgRFRzIGJyZWFraW5nIG9u IG9sZGVyLCBzdGFibGUga2VybmVscy4gU29tZSBvZiB0aGVzZQphcmUgZGlmZmljdWx0IHRvIHNv bHZlLCBidXQgY2FzZXMgb2Ygb3B0aW9uYWwgZGV2aWNlcyBub3QgaGF2aW5nCmtlcm5lbCBzdXBw b3J0IHNob3VsZCBiZSBzb2x2YWJsZS4KCkkgdGVzdGVkIHRoaXMgb24gYSBSUGkzIEIgd2l0aCB0 aGUgcGluY3RybCBkcml2ZXIgZm9yY2VkIG9mZi4gV2l0aCB0aGlzCmNoYW5nZSwgdGhlIE1NQy9T RCBhbmQgVUFSVCBkcml2ZXJzIGNhbiBmdW5jdGlvbiB3aXRob3V0IHRoZSBwaW5jdHJsCmRyaXZl ci4gSSBsZWZ0IHRoZSBkdHMgY2hhbmdlIG91dCB0aGlzIHRpbWUuCgp2MiBvZiB0aGlzIHNlcmll cyBjYW4gYmUgZm91bmQgaGVyZVsyXS4KClJvYgoKWzFdIGh0dHBzOi8vbGlzdHMubGluYXJvLm9y Zy9waXBlcm1haWwvYm9vdC1hcmNoaXRlY3R1cmUvMjAxOC1BcHJpbC8wMDA0NjYuaHRtbApbMl0g aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcGF0Y2h3b3JrL3Byb2plY3QvbGttbC9saXN0Lz9zZXJp ZXM9MzQ3NDEzCgpSb2IgSGVycmluZyAoNik6CiAgZHJpdmVyIGNvcmU6IGFsbG93IHN0b3BwaW5n IGRlZmVycmVkIHByb2JlIGFmdGVyIGluaXQKICBkdC1iaW5kaW5nczogcGluY3RybDogYWRkIGEg J3BpbmN0cmwtdXNlLWRlZmF1bHQnIHByb3BlcnR5CiAgcGluY3RybDogU3VwcG9ydCBzdG9wcGlu ZyBkZWZlcnJlZCBwcm9iZSBhZnRlciBpbml0Y2FsbHMKICBpb21tdTogU3RvcCBkZWZlcnJpbmcg cHJvYmUgYXQgZW5kIG9mIGluaXRjYWxscwogIGlvbW11OiBSZW1vdmUgSU9NTVVfT0ZfREVDTEFS RQogIFBNIC8gRG9tYWluczogU3RvcCBkZWZlcnJpbmcgcHJvYmUgYXQgdGhlIGVuZCBvZiBpbml0 Y2FsbAoKIC4uLi9hZG1pbi1ndWlkZS9rZXJuZWwtcGFyYW1ldGVycy50eHQgICAgICAgICB8ICA5 ICsrKwogLi4uL2JpbmRpbmdzL3BpbmN0cmwvcGluY3RybC1iaW5kaW5ncy50eHQgICAgIHwgIDYg KysKIGRyaXZlcnMvYmFzZS9kZC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDU3ICsr KysrKysrKysrKysrKysrKysKIGRyaXZlcnMvYmFzZS9wb3dlci9kb21haW4uYyAgICAgICAgICAg ICAgICAgICB8ICAyICstCiBkcml2ZXJzL2lvbW11L2FybS1zbW11LXYzLmMgICAgICAgICAgICAg ICAgICAgfCAgMiAtCiBkcml2ZXJzL2lvbW11L2FybS1zbW11LmMgICAgICAgICAgICAgICAgICAg ICAgfCAgNyAtLS0KIGRyaXZlcnMvaW9tbXUvZXh5bm9zLWlvbW11LmMgICAgICAgICAgICAgICAg ICB8ICAyIC0KIGRyaXZlcnMvaW9tbXUvaXBtbXUtdm1zYS5jICAgICAgICAgICAgICAgICAgICB8 ICAzIC0KIGRyaXZlcnMvaW9tbXUvbXNtX2lvbW11LmMgICAgICAgICAgICAgICAgICAgICB8ICAy IC0KIGRyaXZlcnMvaW9tbXUvb2ZfaW9tbXUuYyAgICAgICAgICAgICAgICAgICAgICB8IDIxICst LS0tLS0KIGRyaXZlcnMvaW9tbXUvcWNvbV9pb21tdS5jICAgICAgICAgICAgICAgICAgICB8ICAy IC0KIGRyaXZlcnMvaW9tbXUvcm9ja2NoaXAtaW9tbXUuYyAgICAgICAgICAgICAgICB8ICAyIC0K IGRyaXZlcnMvcGluY3RybC9kZXZpY2V0cmVlLmMgICAgICAgICAgICAgICAgICB8IDE1ICsrKy0t CiBpbmNsdWRlL2FzbS1nZW5lcmljL3ZtbGludXgubGRzLmggICAgICAgICAgICAgfCAgMiAtCiBp bmNsdWRlL2xpbnV4L2RldmljZS5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArCiBpbmNs dWRlL2xpbnV4L29mX2lvbW11LmggICAgICAgICAgICAgICAgICAgICAgfCAgNCAtLQogMTYgZmls ZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKSwgNTAgZGVsZXRpb25zKC0pCgotLQoyLjE3LjEK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYm9vdC1hcmNo aXRlY3R1cmUgbWFpbGluZyBsaXN0CmJvb3QtYXJjaGl0ZWN0dXJlQGxpc3RzLmxpbmFyby5vcmcK aHR0cHM6Ly9saXN0cy5saW5hcm8ub3JnL21haWxtYW4vbGlzdGluZm8vYm9vdC1hcmNoaXRlY3R1 cmUK 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=-3.0 required=3.0 tests=MAILING_LIST_MULTI,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham 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 1FDD5C43141 for ; Thu, 28 Jun 2018 20:43:53 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D275F24C9E for ; Thu, 28 Jun 2018 20:43:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D275F24C9E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754753AbeF1Unt (ORCPT ); Thu, 28 Jun 2018 16:43:49 -0400 Received: from mail-yb0-f193.google.com ([209.85.213.193]:37984 "EHLO mail-yb0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753637AbeF1Uns (ORCPT ); Thu, 28 Jun 2018 16:43:48 -0400 Received: by mail-yb0-f193.google.com with SMTP id f12-v6so2533925ybp.5; Thu, 28 Jun 2018 13:43:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=MBw/TUiTzAGrYRjToKJCmT0iIojVoEoD7cDXN8AgjeM=; b=G4O9jLbsOakH7IbCPfH0eo0xBFz19svkalP+GbyypB4tYoijzwNSR7Jndc9YS2xn1l glPOuJEd/t00LVJj3dtycwNdDz0mcoxh3NTpyfy2m357ruBYsIryOPVe8USlnVXR6jO3 nwllldTT36SLaiX1NkvzcOkf0gxuheroGEJMF2o34Urya1I0vyJ8r9eSqByNPH1r7sc/ 9Fm+T1u7K/9CMOKpK/c8g6gg0mvuJbECMAv7BqGwaEQFPZ60T1T+EpNL6NOT3HBDtDq4 L9bXSwChNzHd8yZkZrIkeatJs9WSA5Pn4hN2bU1B4eiRHDZpAB4LfJNAgYUDMeNtI/BY BDRQ== X-Gm-Message-State: APt69E2FqFQbP6GX2GaZkFzGOoi80eh/SJWt+CVzB1IpX+HC8YQYnPJQ cbo7WxVHtOox4AKl2rfl6A== X-Google-Smtp-Source: ADUXVKJmKl8Gg9rNXsxCoRB/JGRirF3V9rcZTLumzmEvuauj4CGRKQ/AvTT9JgUlbS+7/nFAMdFE1A== X-Received: by 2002:a5b:451:: with SMTP id s17-v6mr5987573ybp.310.1530218627636; Thu, 28 Jun 2018 13:43:47 -0700 (PDT) Received: from localhost.localdomain (24-223-123-72.static.usa-companies.net. [24.223.123.72]) by smtp.googlemail.com with ESMTPSA id o7-v6sm427913ywi.32.2018.06.28.13.43.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Jun 2018 13:43:46 -0700 (PDT) From: Rob Herring To: Greg Kroah-Hartman , Linus Walleij , Alexander Graf , Bjorn Andersson , "Rafael J. Wysocki" , Kevin Hilman , Ulf Hansson , Joerg Roedel , Robin Murphy , Mark Brown , Frank Rowand Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, boot-architecture@lists.linaro.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 0/6] Make deferring probe forever optional Date: Thu, 28 Jun 2018 14:43:38 -0600 Message-Id: <20180628204344.13973-1-robh@kernel.org> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series came out of a discussion on the ARM boot-architecture list[1] about DT forwards and backwards compatibility issues. There are issues with newer DTs breaking on older, stable kernels. Some of these are difficult to solve, but cases of optional devices not having kernel support should be solvable. I tested this on a RPi3 B with the pinctrl driver forced off. With this change, the MMC/SD and UART drivers can function without the pinctrl driver. I left the dts change out this time. v2 of this series can be found here[2]. Rob [1] https://lists.linaro.org/pipermail/boot-architecture/2018-April/000466.html [2] https://lore.kernel.org/patchwork/project/lkml/list/?series=347413 Rob Herring (6): driver core: allow stopping deferred probe after init dt-bindings: pinctrl: add a 'pinctrl-use-default' property pinctrl: Support stopping deferred probe after initcalls iommu: Stop deferring probe at end of initcalls iommu: Remove IOMMU_OF_DECLARE PM / Domains: Stop deferring probe at the end of initcall .../admin-guide/kernel-parameters.txt | 9 +++ .../bindings/pinctrl/pinctrl-bindings.txt | 6 ++ drivers/base/dd.c | 57 +++++++++++++++++++ drivers/base/power/domain.c | 2 +- drivers/iommu/arm-smmu-v3.c | 2 - drivers/iommu/arm-smmu.c | 7 --- drivers/iommu/exynos-iommu.c | 2 - drivers/iommu/ipmmu-vmsa.c | 3 - drivers/iommu/msm_iommu.c | 2 - drivers/iommu/of_iommu.c | 21 +------ drivers/iommu/qcom_iommu.c | 2 - drivers/iommu/rockchip-iommu.c | 2 - drivers/pinctrl/devicetree.c | 15 +++-- include/asm-generic/vmlinux.lds.h | 2 - include/linux/device.h | 2 + include/linux/of_iommu.h | 4 -- 16 files changed, 88 insertions(+), 50 deletions(-) -- 2.17.1