Re: [PATCH] staging: sm750: Fix missing config in Kconfig

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

 



On Wed, Oct 09, 2024 at 10:44:38AM -0300, Vinicius Peixoto wrote:
> Hi Greg,
> 
> On 10/9/24 06:56, Greg Kroah-Hartman wrote:
> > On Sat, Sep 21, 2024 at 03:06:09PM -0300, Fabricio Gasperin wrote:
> > > Fixes the following compilation error:
> > > 
> > > ERROR: modpost: "fb_io_read" [drivers/staging/sm750fb/sm750fb.ko] undefined!
> > > ERROR: modpost: "fb_io_write" [drivers/staging/sm750fb/sm750fb.ko] undefined!
> > > ERROR: modpost: "fb_io_mmap" [drivers/staging/sm750fb/sm750fb.ko] undefined!
> > > 
> > > Signed-off-by: Fabricio Gasperin <fgasperin@xxxxxxxxxx>
> > > ---
> > >   drivers/staging/sm750fb/Kconfig | 1 +
> > >   1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/drivers/staging/sm750fb/Kconfig b/drivers/staging/sm750fb/Kconfig
> > > index 08bcccdd0f1c..eca1aa43d725 100644
> > > --- a/drivers/staging/sm750fb/Kconfig
> > > +++ b/drivers/staging/sm750fb/Kconfig
> > > @@ -3,6 +3,7 @@ config FB_SM750
> > >   	tristate "Silicon Motion SM750 framebuffer support"
> > >   	depends on FB && PCI && HAS_IOPORT
> > >   	select FB_MODE_HELPERS
> > > +	select FB_IOMEM_FOPS
> > >   	select FB_CFB_FILLRECT
> > >   	select FB_CFB_COPYAREA
> > >   	select FB_CFB_IMAGEBLIT
> > > -- 
> > > 2.46.1
> > > 
> > > 
> > 
> > What is causing this error? What commit created the problem, and why
> > has no one reported it yet?
> 
> This happens because drivers/staging/sm750fb/sm750.c, defines an fb_ops
> structure:
> 
> static const struct fb_ops lynxfb_ops = {
> 	.owner = THIS_MODULE,
> 	FB_DEFAULT_IOMEM_OPS,
> 	...
> };
> 
> FB_DEFAULT_IOMEM_OPS expands to the fb_io_* helpers declared in
> include/linux/fb.h and defined in drivers/video/fbdev/core/fb_io_fops.c;
> however, the latter is gated by FB_IOMEM_FOPS, so when compiling a kernel
> with CONFIG_STAGING=y + CONFIG_FB=m + CONFIG_FB_SM750=m, you get the
> following error:
> 
> ERROR: modpost: "fb_io_read" [drivers/staging/sm750fb/sm750fb.ko] undefined!
> ERROR: modpost: "fb_io_write" [drivers/staging/sm750fb/sm750fb.ko]
> undefined!
> ERROR: modpost: "fb_io_mmap" [drivers/staging/sm750fb/sm750fb.ko] undefined!
> make[2]: *** [scripts/Makefile.modpost:145: Module.symvers] Error 1
> 
> So in order to solve it we select FB_IOMEM_FOPS, much like the other FB_*
> drivers do in drivers/video/fbdev/Kconfig.
> 
> Not entirely sure why this wasn't caught before, but the commit that broke
> the build for sm750fb is 6b180f66c0dd ("fbdev: Provide I/O-memory helpers as
> module"), which made the fb_io_* helpers be built as a separate module
> instead of being bundled in fb.o (which is what sm750fb was relying on). I
> think Fabricio can add a "Fixes:" tag in v2.

Ok, thanks for the explaination.  All of this should go into the
changelog text, and yes, a Fixes: tag is also required.

thanks,

greg k-h




[Index of Archives]     [Linux Driver Development]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux