Hi Bjorn, > From: Bjorn Helgaas, Sent: Thursday, March 28, 2024 3:15 AM > > On Wed, Mar 27, 2024 at 05:32:57AM +0000, Yoshihiro Shimoda wrote: > > > From: Bjorn Helgaas, Sent: Wednesday, March 27, 2024 5:49 AM > > > > > static int rcar_gen4_pcie_get_resources(struct rcar_gen4_pcie *rcar) > > > > { > > > > + rcar->phy_base = devm_platform_ioremap_resource_byname(rcar->pdev, "phy"); > > > > + if (IS_ERR(rcar->phy_base)) > > > > + return PTR_ERR(rcar->base); > > > > > > I don't get it. This imposes a new requirement (presence of "phy" > > > resource) on the existing SoCs. That doesn't sound right. > > > > According to the dt-binding doc, the existing SoCs are also required > > for the "phy". That's why I didn't add any condition to simplify > > the code. > > Is there anything that enforces that? Is it possible that DTs exist > in the field without it? We don't want to break any existing setup. Using make dtbs_check can detect an error if the "phy" doesn't exist like below: /home/shimoda/development/linux/linux/arch/arm64/boot/dts/renesas/r8a779f0-spider.dtb: pcie@e65d0000: reg-names:5: 'phy' was expected from schema $id: http://devicetree.org/schemas/pci/rcar-gen4-pci-host.yaml# So, I believe that this can enforce that in review process at least. Now arch/arm64/boot/dts/renesas/r8a779f0.dtsi has the pcie compatible, and all pcie nodes in the dtsi have "phy". So, this patch will not break any existing setup. Best regards, Yoshihiro Shimoda