Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp279999pxm; Wed, 2 Mar 2022 15:17:44 -0800 (PST) X-Google-Smtp-Source: ABdhPJzkybIaVgwkp/yqucrGNmttdLzdlumZwsyfe0KL6rn0nSoapS9SUxdV6DP9Axkuaq9TG9qJ X-Received: by 2002:a05:6a00:1da3:b0:4e1:68a4:3f1f with SMTP id z35-20020a056a001da300b004e168a43f1fmr35423676pfw.64.1646263064593; Wed, 02 Mar 2022 15:17:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646263064; cv=none; d=google.com; s=arc-20160816; b=ds0i6E+p97VWsTOtOvHmeZm+TdUFiL2DV66yeJ1oCZScI+9FXHl01FVB1WQCTQSBXS fTT5MBkmhRBIHcSuEhXiQgP0RH0o6biHvAY3QmL6Vf1UWRUmfNK6jx4sq/yaA3dO9pG+ UE1p0h4FQfOOBx5cUiyWA7l7tHSptGYVRAlacC76RuwNlSLyIix7BdznFZwJCSwoXcWj VFO99ddrLDWAP2xy64w+RbZ9lFRtXIelI61HhFcBQT1KNSnAJRDrbCJKsx/EGddrqos/ 0prMicHB3sllSRUwCYWWqfUdE0mSLKP3MT6QdCtyfB6j5XwrDtZI4+eLPFGABP037ljK xHVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=awXHKYLutlWI1DCRzb/ig8zBY3AfY1mc3nmGyuIUbQY=; b=p3t+LGqlsWWgVP5+9DRw2vEHsNNeKs6IoRbdPKdfKDcufhIvA9bPu+WaT8azqUWYDk TH+c4B7Sw2kT6seqUZ8wgYLrmxnlL+Ts1KRZMRn3yiXi8O+tq7Jidxe9mapuwp+ELORc bBHyehK+hbf6BPH1zz08JV6vXXR/H4USGF7c/GCz5Y9Pjik7DEVD4kAej8+hC8hAtkx4 4Yi6xlCKG1635f84HMtG5EXUcPMG4X1m6zqeXOfp+zFaAr1Uu5gO4humQldlRMm9xuuP 3LE0hrE8WX5K5FCbadqmEj+tnaX6tjxaSAYO65VanFjHFEvHwems9Kq4mhjixG3B2yFZ fusQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b="KC5jb/0e"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id z1-20020a63e541000000b0037893663801si370983pgj.766.2022.03.02.15.17.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 15:17:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b="KC5jb/0e"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 7E1C6134DD7; Wed, 2 Mar 2022 14:54:35 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245071AbiCBVL6 (ORCPT + 99 others); Wed, 2 Mar 2022 16:11:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40880 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235388AbiCBVLy (ORCPT ); Wed, 2 Mar 2022 16:11:54 -0500 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [IPv6:2001:4b98:dc4:8::225]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D649BBE33; Wed, 2 Mar 2022 13:11:09 -0800 (PST) Received: (Authenticated sender: paul.kocialkowski@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 917C11C0007; Wed, 2 Mar 2022 21:11:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1646255467; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=awXHKYLutlWI1DCRzb/ig8zBY3AfY1mc3nmGyuIUbQY=; b=KC5jb/0eHDiE+UiESbAJKbofE4wMxj2wpGyLvefgPb4frgv9R644ZgOXbt7iLeqooqnazd +nUlxI4bCo5QWhCw7lWkjIHhNFbUWMw4IP/6Dp6mjLe6Fz/38poJtxPE13HgUys8w9hYyc mE5XebOAoPcIjmzGv7phwh9Xzc6gq9x0Rrl6hlBZIlxOIlXWnOTNOLZ6r8QZrhp1kKq/sM UCiau4lIXmoqQ8BEGimmZf+KZxMajFXvUakP9SxcUVjLQ7SmoVrimo6sEfl76q/t+r6dGk Ek4tSAs8dXnCEPcW5Mlo3qJ02BjFQvLVjIB5vWZQWvMtPHavTxSua1jZY9A61g== From: Paul Kocialkowski To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org Cc: Rob Herring , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Michael Turquette , Stephen Boyd , Frank Rowand , Maxime Ripard , Laurent Pinchart , Thomas Petazzoni , Paul Kocialkowski Subject: [PATCH RFC v3 1/8] of: Mark interconnects property supplier as optional Date: Wed, 2 Mar 2022 22:10:53 +0100 Message-Id: <20220302211100.65264-2-paul.kocialkowski@bootlin.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220302211100.65264-1-paul.kocialkowski@bootlin.com> References: <20220302211100.65264-1-paul.kocialkowski@bootlin.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In order to set their correct DMA address offset, some devices rely on the device-tree interconnects property which identifies an interconnect node that provides a dma-ranges property that can be used to set said offset. Since that logic is all handled by the generic openfirmware and driver code, the device-tree description could be enough to properly set the offset. However the interconnects property is currently not marked as optional, which implies that a driver for the corresponding node must be loaded as a requirement. When no such driver exists, this results in an endless EPROBE_DEFER which gets propagated to the calling driver. This ends up in the driver never loading. Marking the interconnects property as optional makes it possible to load the driver in that situation, since the EPROBE_DEFER return code will no longer be propagated to the driver. There might however be undesirable consequences with this change, which I do not fully grasp at this point. Signed-off-by: Paul Kocialkowski --- drivers/of/property.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/of/property.c b/drivers/of/property.c index 8e90071de6ed..ef7c56b510e8 100644 --- a/drivers/of/property.c +++ b/drivers/of/property.c @@ -1365,7 +1365,7 @@ static struct device_node *parse_interrupts(struct device_node *np, static const struct supplier_bindings of_supplier_bindings[] = { { .parse_prop = parse_clocks, }, - { .parse_prop = parse_interconnects, }, + { .parse_prop = parse_interconnects, .optional = true,}, { .parse_prop = parse_iommus, .optional = true, }, { .parse_prop = parse_iommu_maps, .optional = true, }, { .parse_prop = parse_mboxes, }, -- 2.35.1