All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Vinicius Peixoto <vpeixoto@lkcamp.dev>
Cc: Fabricio Gasperin <fgasperin@lkcamp.dev>,
	Sudip Mukherjee <sudipm.mukherjee@gmail.com>,
	Teddy Wang <teddy.wang@siliconmotion.com>,
	linux-fbdev@vger.kernel.org, linux-staging@lists.linux.dev,
	linux-kernel@vger.kernel.org, ~lkcamp/patches@lists.sr.ht
Subject: Re: [PATCH] staging: sm750: Fix missing config in Kconfig
Date: Thu, 10 Oct 2024 11:41:59 +0200	[thread overview]
Message-ID: <2024101036-footboard-stinger-9c03@gregkh> (raw)
In-Reply-To: <b8c3c51e-375f-4139-8336-76b6df56e8ea@lkcamp.dev>

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@lkcamp.dev>
> > > ---
> > >   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

  reply	other threads:[~2024-10-10  9:42 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-21 18:06 [PATCH] staging: sm750fb: Rename function sm750_hw_cursor_setData2 Fabricio Gasperin
2024-09-21 18:06 ` [PATCH] staging: sm750: Fix missing config in Kconfig Fabricio Gasperin
2024-10-09  9:56   ` Greg Kroah-Hartman
2024-10-09 13:44     ` Vinicius Peixoto
2024-10-10  9:41       ` Greg Kroah-Hartman [this message]
2024-09-25  8:10 ` [PATCH] staging: sm750fb: Rename function sm750_hw_cursor_setData2 Dan Carpenter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2024101036-footboard-stinger-9c03@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=fgasperin@lkcamp.dev \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=sudipm.mukherjee@gmail.com \
    --cc=teddy.wang@siliconmotion.com \
    --cc=vpeixoto@lkcamp.dev \
    --cc=~lkcamp/patches@lists.sr.ht \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.