Message ID | 20160826153500.768744-1-arnd@arndb.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Aug 26, 2016 at 5:34 PM, Arnd Bergmann <arnd@arndb.de> wrote: > The amba-clcd-versatile.c code is always built-in and has to > be done that way because it gets called by platform code that is > also built-in. However, it now also gets called from the > core CLCD driver through the .init_panel callback function, > which leads to a build error when the framebuffer is configured > as a loadable module: > > ERROR: "versatile_clcd_init_panel" [drivers/video/fbdev/amba-clcd-mod.ko] undefined! > > The same thing happens for the nomadik driver, although that > could be linked into the core module if we want to: > > ERROR: "nomadik_clcd_init_panel" [drivers/video/fbdev/amba-clcd.ko] undefined! > ERROR: "nomadik_clcd_init_board" [drivers/video/fbdev/amba-clcd.ko] undefined! > > For consistency, I'm taking the same approach in both cases here > and just export the functions to make them usable by the driver. > > Alternatively, we could split out the CONFIG_OF-code from amba-clcd-versatile.c > into a new file and link those two together with the core driver as one > module. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > Fixes: 1d3f0cbe0d3a ("video: ARM CLCD: add special board and panel hooks for Nomadik") > Fixes: 25348160e9a4 ("video: ARM CLCD: add special panel hook for Versatiles") Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 26/08/16 18:34, Arnd Bergmann wrote: > The amba-clcd-versatile.c code is always built-in and has to > be done that way because it gets called by platform code that is > also built-in. However, it now also gets called from the > core CLCD driver through the .init_panel callback function, > which leads to a build error when the framebuffer is configured > as a loadable module: > > ERROR: "versatile_clcd_init_panel" [drivers/video/fbdev/amba-clcd-mod.ko] undefined! > > The same thing happens for the nomadik driver, although that > could be linked into the core module if we want to: > > ERROR: "nomadik_clcd_init_panel" [drivers/video/fbdev/amba-clcd.ko] undefined! > ERROR: "nomadik_clcd_init_board" [drivers/video/fbdev/amba-clcd.ko] undefined! > > For consistency, I'm taking the same approach in both cases here > and just export the functions to make them usable by the driver. > > Alternatively, we could split out the CONFIG_OF-code from amba-clcd-versatile.c > into a new file and link those two together with the core driver as one > module. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > Fixes: 1d3f0cbe0d3a ("video: ARM CLCD: add special board and panel hooks for Nomadik") > Fixes: 25348160e9a4 ("video: ARM CLCD: add special panel hook for Versatiles") > --- > drivers/video/fbdev/amba-clcd-nomadik.c | 2 ++ > drivers/video/fbdev/amba-clcd-versatile.c | 2 +- > 2 files changed, 3 insertions(+), 1 deletion(-) Thanks, queued for 4.9. Tomi
diff --git a/drivers/video/fbdev/amba-clcd-nomadik.c b/drivers/video/fbdev/amba-clcd-nomadik.c index 243167c8ee15..0c06fcaaa6e8 100644 --- a/drivers/video/fbdev/amba-clcd-nomadik.c +++ b/drivers/video/fbdev/amba-clcd-nomadik.c @@ -231,6 +231,7 @@ int nomadik_clcd_init_panel(struct clcd_fb *fb, /* Unknown panel, fall through */ return 0; } +EXPORT_SYMBOL_GPL(nomadik_clcd_init_panel); #define PMU_CTRL_OFFSET 0x0000 #define PMU_CTRL_LCDNDIF BIT(26) @@ -255,3 +256,4 @@ int nomadik_clcd_init_board(struct amba_device *adev, return 0; } +EXPORT_SYMBOL_GPL(nomadik_clcd_init_board); diff --git a/drivers/video/fbdev/amba-clcd-versatile.c b/drivers/video/fbdev/amba-clcd-versatile.c index 9a90817b1550..dc3c153cad0f 100644 --- a/drivers/video/fbdev/amba-clcd-versatile.c +++ b/drivers/video/fbdev/amba-clcd-versatile.c @@ -567,5 +567,5 @@ int versatile_clcd_init_panel(struct clcd_fb *fb, return 0; } - +EXPORT_SYMBOL_GPL(versatile_clcd_init_panel); #endif
The amba-clcd-versatile.c code is always built-in and has to be done that way because it gets called by platform code that is also built-in. However, it now also gets called from the core CLCD driver through the .init_panel callback function, which leads to a build error when the framebuffer is configured as a loadable module: ERROR: "versatile_clcd_init_panel" [drivers/video/fbdev/amba-clcd-mod.ko] undefined! The same thing happens for the nomadik driver, although that could be linked into the core module if we want to: ERROR: "nomadik_clcd_init_panel" [drivers/video/fbdev/amba-clcd.ko] undefined! ERROR: "nomadik_clcd_init_board" [drivers/video/fbdev/amba-clcd.ko] undefined! For consistency, I'm taking the same approach in both cases here and just export the functions to make them usable by the driver. Alternatively, we could split out the CONFIG_OF-code from amba-clcd-versatile.c into a new file and link those two together with the core driver as one module. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Fixes: 1d3f0cbe0d3a ("video: ARM CLCD: add special board and panel hooks for Nomadik") Fixes: 25348160e9a4 ("video: ARM CLCD: add special panel hook for Versatiles") --- drivers/video/fbdev/amba-clcd-nomadik.c | 2 ++ drivers/video/fbdev/amba-clcd-versatile.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-)