[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <22bc845c-dffc-7967-a542-f0697feec603@gmail.com>
Date: Sat, 30 Jul 2022 09:36:31 +0200
From: Rafał Miłecki <zajec5@...il.com>
To: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Saravana Kannan <saravanak@...gle.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J. Wysocki" <rafael@...nel.org>
Cc: "devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
Ansuel Smith <ansuelsmth@...il.com>
Subject: Re: fw_devlink=on breaks probing devices when of_platform_populate()
is used
Hi guys,
On 16.07.2022 22:50, Rafał Miłecki wrote:
> I added of_platform_populate() calls in mtd subsystem in the commit
> bcdf0315a61a2 ("mtd: call of_platform_populate() for MTD partitions"):
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bcdf0315a61a29eb753a607d3a85a4032de72d94
>
> I recently backported that commit in OpenWrt to kernels 5.10 and 5.15.
> We started receiving reports that probing Ethernet devices stopped
> working in kernel 5.15. I bisected it down to the kernel 5.13 change:
>
> commit ea718c699055c8566eb64432388a04974c43b2ea (refs/bisect/bad)
> Author: Saravana Kannan <saravanak@...gle.com>
> Date: Tue Mar 2 13:11:32 2021 -0800
>
> Revert "Revert "driver core: Set fw_devlink=on by default""
>
> This reverts commit 3e4c982f1ce75faf5314477b8da296d2d00919df.
>
> Since all reported issues due to fw_devlink=on should be addressed by
> this series, revert the revert. fw_devlink=on Take II.
>
> Signed-off-by: Saravana Kannan <saravanak@...gle.com>
> Link: https://lore.kernel.org/r/20210302211133.2244281-4-saravanak@google.com
> Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
>
> For me with above commit kernel just never calls bcm4908_enet_probe().
> Reverting it from the top of 5.13.19 and 5.15.50 fixes it. I believe the
> same issue happens with other drivers.
>
> Critical detail is that in DT Ethernet block node references NVMEM cell
> of MTD partition (see below).
>
> Could you help me dealing with this issue, please? Can you see something
> obvious breaking fw_devlink=on + of_platform_populate() case? Can I
> provide some extra information to help fixing it?
Any ideas about this problem / solution?
> Relevant DT part:
>
> partitions {
> compatible = "fixed-partitions";
> #address-cells = <1>;
> #size-cells = <1>;
>
> partition@0 {
> compatible = "nvmem-cells";
> reg = <0x0 0x100000>;
> label = "bootloader";
>
> #address-cells = <1>;
> #size-cells = <1>;
> ranges = <0 0x0 0x100000>;
>
> base_mac_addr: mac@...a0 {
> reg = <0x106a0 0x6>;
> };
> };
>
> partition@...000 {
> reg = <0x100000 0x5700000>;
> label = "firmware";
> };
> };
>
> ethernet@...0 {
> compatible = "brcm,bcm4908-enet";
> reg = <0x2000 0x1000>;
>
> interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
> interrupt-names = "rx", "tx";
>
> nvmem-cells = <&base_mac_addr>;
> nvmem-cell-names = "mac-address";
> };
>
> OpenWrt bug report:
> https://github.com/openwrt/openwrt/issues/10232
Powered by blists - more mailing lists