• Li Zhijian's avatar
    coccinelle: device_attr_show: Adapt to the latest Documentation/filesystems/sysfs.rst · 68ea60a7
    Li Zhijian authored
    Adapt description, warning message and MODE=patch according to the latest
    Documentation/filesystems/sysfs.rst:
    > show() should only use sysfs_emit() or sysfs_emit_at() when formatting
    > the value to be returned to user space.
    
    After this patch:
    When MODE=report,
     $ make coccicheck COCCI=scripts/coccinelle/api/device_attr_show.cocci M=drivers/hid/hid-picolcd_core.c MODE=report
     <...snip...>
     drivers/hid/hid-picolcd_core.c:304:8-16: WARNING: please use sysfs_emit or sysfs_emit_at
     drivers/hid/hid-picolcd_core.c:259:9-17: WARNING: please use sysfs_emit or sysfs_emit_at
    
    When MODE=patch,
     $ make coccicheck COCCI=scripts/coccinelle/api/device_attr_show.cocci M=drivers/hid/hid-picolcd_core.c MODE=patch
     <...snip...>
     diff -u -p a/drivers/hid/hid-picolcd_core.c b/drivers/hid/hid-picolcd_core.c
     --- a/drivers/hid/hid-picolcd_core.c
     +++ b/drivers/hid/hid-picolcd_core.c
     @@ -255,10 +255,12 @@ static ssize_t picolcd_operation_mode_sh
      {
             struct picolcd_data *data = dev_get_drvdata(dev);
    
     -       if (data->status & PICOLCD_BOOTLOADER)
     -               return snprintf(buf, PAGE_SIZE, "[bootloader] lcd\n");
     -       else
     -               return snprintf(buf, PAGE_SIZE, "bootloader [lcd]\n");
     +       if (data->status & PICOLCD_BOOTLOADER) {
     +               return sysfs_emit(buf, "[bootloader] lcd\n");
     +       }
     +       else {
     +               return sysfs_emit(buf, "bootloader [lcd]\n");
     +       }
      }
    
      static ssize_t picolcd_operation_mode_store(struct device *dev,
     @@ -301,7 +303,7 @@ static ssize_t picolcd_operation_mode_de
      {
             struct picolcd_data *data = dev_get_drvdata(dev);
    
     -       return snprintf(buf, PAGE_SIZE, "hello world\n");
     +       return sysfs_emit(buf, "hello world\n");
      }
    
      static ssize_t picolcd_operation_mode_delay_store(struct device *dev,
    
    CC: Julia Lawall <Julia.Lawall@inria.fr>
    CC: Nicolas Palix <nicolas.palix@imag.fr>
    CC: cocci@inria.fr
    Signed-off-by: default avatarLi Zhijian <lizhijian@fujitsu.com>
    68ea60a7
device_attr_show.cocci 1.14 KB