• Joe Perches's avatar
    RDMA: Convert sysfs device * show functions to use sysfs_emit() · 1c7fd726
    Joe Perches authored
    Done with cocci script:
    
    @@
    identifier d_show;
    identifier dev, attr, buf;
    @@
    
    ssize_t d_show(struct device *dev, struct device_attribute *attr, char *buf)
    {
    	<...
    	return
    -	sprintf(buf,
    +	sysfs_emit(buf,
    	...);
    	...>
    }
    
    @@
    identifier d_show;
    identifier dev, attr, buf;
    @@
    
    ssize_t d_show(struct device *dev, struct device_attribute *attr, char *buf)
    {
    	<...
    	return
    -	snprintf(buf, PAGE_SIZE,
    +	sysfs_emit(buf,
    	...);
    	...>
    }
    
    @@
    identifier d_show;
    identifier dev, attr, buf;
    @@
    
    ssize_t d_show(struct device *dev, struct device_attribute *attr, char *buf)
    {
    	<...
    	return
    -	scnprintf(buf, PAGE_SIZE,
    +	sysfs_emit(buf,
    	...);
    	...>
    }
    
    @@
    identifier d_show;
    identifier dev, attr, buf;
    expression chr;
    @@
    
    ssize_t d_show(struct device *dev, struct device_attribute *attr, char *buf)
    {
    	<...
    	return
    -	strcpy(buf, chr);
    +	sysfs_emit(buf, chr);
    	...>
    }
    
    @@
    identifier d_show;
    identifier dev, attr, buf;
    identifier len;
    @@
    
    ssize_t d_show(struct device *dev, struct device_attribute *attr, char *buf)
    {
    	<...
    	len =
    -	sprintf(buf,
    +	sysfs_emit(buf,
    	...);
    	...>
    	return len;
    }
    
    @@
    identifier d_show;
    identifier dev, attr, buf;
    identifier len;
    @@
    
    ssize_t d_show(struct device *dev, struct device_attribute *attr, char *buf)
    {
    	<...
    	len =
    -	snprintf(buf, PAGE_SIZE,
    +	sysfs_emit(buf,
    	...);
    	...>
    	return len;
    }
    
    @@
    identifier d_show;
    identifier dev, attr, buf;
    identifier len;
    @@
    
    ssize_t d_show(struct device *dev, struct device_attribute *attr, char *buf)
    {
    	<...
    	len =
    -	scnprintf(buf, PAGE_SIZE,
    +	sysfs_emit(buf,
    	...);
    	...>
    	return len;
    }
    
    @@
    identifier d_show;
    identifier dev, attr, buf;
    identifier len;
    @@
    
    ssize_t d_show(struct device *dev, struct device_attribute *attr, char *buf)
    {
    	<...
    -	len += scnprintf(buf + len, PAGE_SIZE - len,
    +	len += sysfs_emit_at(buf, len,
    	...);
    	...>
    	return len;
    }
    
    @@
    identifier d_show;
    identifier dev, attr, buf;
    expression chr;
    @@
    
    ssize_t d_show(struct device *dev, struct device_attribute *attr, char *buf)
    {
    	...
    -	strcpy(buf, chr);
    -	return strlen(buf);
    +	return sysfs_emit(buf, chr);
    }
    
    Link: https://lore.kernel.org/r/7f406fa8e3aa2552c022bec680f621e38d1fe414.1602122879.git.joe@perches.comSigned-off-by: default avatarJoe Perches <joe@perches.com>
    Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
    1c7fd726
sysfs.c 36.9 KB