The SH Mobile LCDC driver exposes overlay configuration via sysfs. These attributes depend on FB_DEVICE and cause build failures when FB_DEVICE=n.
Wrap all overlay sysfs attribute definitions and group registrations within CONFIG_FB_DEVICE. When FB_DEVICE is disabled, the driver still loads but without sysfs entries. Signed-off-by: Chintan Patel <[email protected]> --- drivers/video/fbdev/sh_mobile_lcdcfb.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/video/fbdev/sh_mobile_lcdcfb.c b/drivers/video/fbdev/sh_mobile_lcdcfb.c index dd950e4ab5ce..a46da10789c3 100644 --- a/drivers/video/fbdev/sh_mobile_lcdcfb.c +++ b/drivers/video/fbdev/sh_mobile_lcdcfb.c @@ -1182,6 +1182,7 @@ static int __sh_mobile_lcdc_check_var(struct fb_var_screeninfo *var, * Frame buffer operations - Overlays */ +#ifdef CONFIG_FB_DEVICE static ssize_t overlay_alpha_show(struct device *dev, struct device_attribute *attr, char *buf) { @@ -1351,6 +1352,7 @@ static struct attribute *overlay_sysfs_attrs[] = { NULL, }; ATTRIBUTE_GROUPS(overlay_sysfs); +#endif static const struct fb_fix_screeninfo sh_mobile_lcdc_overlay_fix = { .id = "SH Mobile LCDC", @@ -2637,7 +2639,9 @@ static int sh_mobile_lcdc_probe(struct platform_device *pdev) static struct platform_driver sh_mobile_lcdc_driver = { .driver = { .name = "sh_mobile_lcdc_fb", +#ifdef CONFIG_FB_DEVICE .dev_groups = overlay_sysfs_groups, +#endif .pm = &sh_mobile_lcdc_dev_pm_ops, }, .probe = sh_mobile_lcdc_probe, -- 2.43.0
