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 05:04:57PM +0200, Arnd Bergmann wrote:
> 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.

Ick, really?

I think we should just drop the efi patch as if it relying on device
link, that is only in newer kernels.

I'll go do that now, thanks.

greg k-h



[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