Re: stable-rc 5.4: arm build failed: arm-init.c:327:12: error: implicit declaration of function ‘get_dev_from_fwnode’

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 20, 2020 at 4:46 PM Naresh Kamboju
<naresh.kamboju@xxxxxxxxxx> wrote:
>
> arm build failed on stable-rc 5.4 branch.
>
> make -sk KBUILD_BUILD_USER=TuxBuild -C/linux -j32 ARCH=arm
> CROSS_COMPILE=arm-linux-gnueabihf- HOSTCC=gcc CC="sccache
> arm-linux-gnueabihf-gcc" O=build zImage
> #
> ../drivers/firmware/efi/arm-init.c: In function ‘efifb_add_links’:
> ../drivers/firmware/efi/arm-init.c:327:12: error: implicit declaration
> of function ‘get_dev_from_fwnode’
> [-Werror=implicit-function-declaration]
>   327 |  sup_dev = get_dev_from_fwnode(&sup_np->fwnode);
>       |            ^~~~~~~~~~~~~~~~~~~
> ../drivers/firmware/efi/arm-init.c:327:10: warning: assignment to
> ‘struct device *’ from ‘int’ makes pointer from integer without a cast
> [-Wint-conversion]
>   327 |  sup_dev = get_dev_from_fwnode(&sup_np->fwnode);
>       |          ^
> ../drivers/firmware/efi/arm-init.c: At top level:
> ../drivers/firmware/efi/arm-init.c:352:3: error: ‘const struct
> fwnode_operations’ has no member named ‘add_links’
>   352 |  .add_links = efifb_add_links,
>       |   ^~~~~~~~~
> ../drivers/firmware/efi/arm-init.c:352:15: error: initialization of
> ‘struct fwnode_handle * (*)(struct fwnode_handle *)’ from incompatible
> pointer type ‘int (*)(const struct fwnode_handle *, struct device *)’
> [-Werror=incompatible-pointer-types]
>   352 |  .add_links = efifb_add_links,
>       |               ^~~~~~~~~~~~~~~
> ../drivers/firmware/efi/arm-init.c:352:15: note: (near initialization
> for ‘efifb_fwnode_ops.get’)
>
>
> seems like this is coming from the below patch
> --
> efi/arm: Defer probe of PCIe backed efifb on DT systems
> [ Upstream commit 64c8a0cd0a535891d5905c3a1651150f0f141439 ]
>
> The new of_devlink support breaks PCIe probing on ARM platforms booting
> via UEFI if the firmware exposes a EFI framebuffer that is backed by a
> PCI device. The reason is that the probing order gets reversed,
> resulting in a resource conflict on the framebuffer memory window when
> the PCIe probes last, causing it to give up entirely.
>
> Given that we rely on PCI quirks to deal with EFI framebuffers that get
> moved around in memory, we cannot simply drop the memory reservation, so
> instead, let's use the device link infrastructure to register this
> dependency, and force the probing to occur in the expected order.
>
> Co-developed-by: Saravana Kannan <saravanak@xxxxxxxxxx>
> Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
> Signed-off-by: Saravana Kannan <saravanak@xxxxxxxxxx>
> Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
> Link: https://lore.kernel.org/r/20200113172245.27925-9-ardb@xxxxxxxxxx
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

It seems that the stable kernels need a backport of commit 372a67c0c5ef
("driver core: Add fwnode_to_dev() to look up device from fwnode") as well.

     Arnd



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux