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:24:07PM +0200, Greg Kroah-Hartman wrote:
> 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.

Yeah, that's why it wasn't backported to 5.4 in the first place, it went
into 5.5.6 when it got merged into 5.6-rc.

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