Thread (11 messages) 11 messages, 2 authors, 2025-12-28

Re: [PATCH v2 2/4] staging: fbtft: Make FB_DEVICE dependency optional

From: Chintan Patel <hidden>
Date: 2025-12-28 03:36:04
Also in: linux-fbdev, linux-omap, linux-staging, lkml

Hi Andy,

On 12/27/25 06:19, Andy Shevchenko wrote:
On Fri, Dec 19, 2025 at 7:43 AM Chintan Patel [off-list ref] wrote:
quoted
fbtft provides sysfs interfaces for debugging and gamma configuration,
but these are not required for the core driver.

Drop the hard dependency on CONFIG_FB_DEVICE and make sysfs support
optional by using dev_of_fbinfo() at runtime. When FB_DEVICE is disabled,
sysfs operations are skipped while the code remains buildable and
type-checked.
quoted
v2:
- Replace CONFIG_FB_DEVICE ifdefs with runtime checks
- Use dev_of_fbinfo() to guard sysfs creation and removal
The place for the change log is either a cover letter, or...
quoted
Suggested-by: Thomas Zimmermann <tzimmermann@suse.de>
Suggested-by: Helge Deller <deller@gmx.de>
Signed-off-by: Chintan Patel <redacted>
---
...a comment block here. It's not so important to be in the Git
history since we have a lore.kernel.org archive.
Thank you for suggestion! Will move to coverletter.
quoted
  drivers/staging/fbtft/Kconfig       |  5 ++++-
  drivers/staging/fbtft/fbtft-sysfs.c | 18 ++++++++++++++----
...
quoted
  void fbtft_sysfs_init(struct fbtft_par *par)
  {
-       device_create_file(par->info->dev, &debug_device_attr);
+       struct device *dev = dev_of_fbinfo(par->info);
+
+       if (!dev)
+               return;

The better way is to decouple the definition and the assignment in the
cases when it's followed by a conditional (validation check). In this
case any new code added in between doesn't affect readability and
maintenance efforts.

        struct device *dev;

        dev = dev_of_fbinfo(par->info);
        if (!dev)
                return;
quoted
+       device_create_file(dev, &debug_device_attr);
         if (par->gamma.curves && par->fbtftops.set_gamma)
-               device_create_file(par->info->dev, &gamma_device_attrs[0]);
+               device_create_file(dev, &gamma_device_attrs[0]);
  }
Ditto for the rest.
Will do v3 and re-send. Thanks for reviews!

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help