[-next PATCH 4/4] treewide: Use DEVICE_ATTR_WO
Convert DEVICE_ATTR uses to DEVICE_ATTR_WO where possible. Done with perl script: $ git grep -w --name-only DEVICE_ATTR | \ xargs perl -i -e 'local $/; while (<>) { s/\bDEVICE_ATTR\s*\(\s*(\w+)\s*,\s*\(?(?:\s*S_IWUSR\s*|\s*0200\s*)\)?\s*,\s*NULL\s*,\s*\s_store\s*\)/DEVICE_ATTR_WO(\1)/g; print;}' Signed-off-by: Joe Perches --- arch/s390/kernel/smp.c | 2 +- arch/x86/kernel/cpu/microcode/core.c | 2 +- drivers/input/touchscreen/elants_i2c.c | 2 +- drivers/net/ethernet/ibm/ibmvnic.c | 2 +- drivers/net/wimax/i2400m/sysfs.c | 3 +-- drivers/scsi/lpfc/lpfc_attr.c | 3 +-- drivers/thermal/thermal_sysfs.c| 2 +- 7 files changed, 7 insertions(+), 9 deletions(-) diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index b8c1a85bcf2d..a919b2f0141d 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c @@ -1151,7 +1151,7 @@ static ssize_t __ref rescan_store(struct device *dev, rc = smp_rescan_cpus(); return rc ? rc : count; } -static DEVICE_ATTR(rescan, 0200, NULL, rescan_store); +static DEVICE_ATTR_WO(rescan); #endif /* CONFIG_HOTPLUG_CPU */ static int __init s390_smp_init(void) diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c index c4fa4a85d4cb..09c74b0560dd 100644 --- a/arch/x86/kernel/cpu/microcode/core.c +++ b/arch/x86/kernel/cpu/microcode/core.c @@ -560,7 +560,7 @@ static ssize_t pf_show(struct device *dev, return sprintf(buf, "0x%x\n", uci->cpu_sig.pf); } -static DEVICE_ATTR(reload, 0200, NULL, reload_store); +static DEVICE_ATTR_WO(reload); static DEVICE_ATTR(version, 0400, version_show, NULL); static DEVICE_ATTR(processor_flags, 0400, pf_show, NULL); diff --git a/drivers/input/touchscreen/elants_i2c.c b/drivers/input/touchscreen/elants_i2c.c index a458e5ec9e41..819213e88f32 100644 --- a/drivers/input/touchscreen/elants_i2c.c +++ b/drivers/input/touchscreen/elants_i2c.c @@ -1000,7 +1000,7 @@ static ssize_t show_iap_mode(struct device *dev, "Normal" : "Recovery"); } -static DEVICE_ATTR(calibrate, S_IWUSR, NULL, calibrate_store); +static DEVICE_ATTR_WO(calibrate); static DEVICE_ATTR(iap_mode, S_IRUGO, show_iap_mode, NULL); static DEVICE_ATTR(update_fw, S_IWUSR, NULL, write_update_fw); diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index 1dc4aef37d3a..42b96e1a1b13 100644 --- a/drivers/net/ethernet/ibm/ibmvnic.c +++ b/drivers/net/ethernet/ibm/ibmvnic.c @@ -4411,7 +4411,7 @@ static ssize_t failover_store(struct device *dev, struct device_attribute *attr, return count; } -static DEVICE_ATTR(failover, 0200, NULL, failover_store); +static DEVICE_ATTR_WO(failover); static unsigned long ibmvnic_get_desired_dma(struct vio_dev *vdev) { diff --git a/drivers/net/wimax/i2400m/sysfs.c b/drivers/net/wimax/i2400m/sysfs.c index 1237109f251a..8c67df11105c 100644 --- a/drivers/net/wimax/i2400m/sysfs.c +++ b/drivers/net/wimax/i2400m/sysfs.c @@ -65,8 +65,7 @@ ssize_t i2400m_idle_timeout_store(struct device *dev, } static -DEVICE_ATTR(i2400m_idle_timeout, S_IWUSR, - NULL, i2400m_idle_timeout_store); +DEVICE_ATTR_WO(i2400m_idle_timeout); static struct attribute *i2400m_dev_attrs[] = { diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c index 517ff203cfde..6ddaf51a23f6 100644 --- a/drivers/scsi/lpfc/lpfc_attr.c +++ b/drivers/scsi/lpfc/lpfc_attr.c @@ -2418,8 +2418,7 @@ lpfc_soft_wwn_enable_store(struct device *dev, struct device_attribute *attr, return count; } -static DEVICE_ATTR(lpfc_soft_wwn_enable, S_IWUSR, NULL, - lpfc_soft_wwn_enable_store); +static DEVICE_ATTR_WO(lpfc_soft_wwn_enable); /** * lpfc_soft_wwpn_show - Return the cfg soft ww port name of the adapter diff --git a/drivers/thermal/thermal_sysfs.c b/drivers/thermal/thermal_sysfs.c index 2bc964392924..ba81c9080f6e 100644 --- a/drivers/thermal/thermal_sysfs.c +++ b/drivers/thermal/thermal_sysfs.c @@ -317,7 +317,7 @@ emul_temp_store(struct device *dev, struct device_attribute *attr, return ret ? ret : count; } -static DEVICE_ATTR(emul_temp, S_IWUSR, NULL, emul_temp_store); +static DEVICE_ATTR_WO(emul_temp); #endif static ssize_t -- 2.15.0
Re: [-next PATCH 4/4] treewide: Use DEVICE_ATTR_WO
On Tue, Dec 19, 2017 at 10:15:09AM -0800, Joe Perches wrote: > Convert DEVICE_ATTR uses to DEVICE_ATTR_WO where possible. > > Done with perl script: > > $ git grep -w --name-only DEVICE_ATTR | \ > xargs perl -i -e 'local $/; while (<>) { > s/\bDEVICE_ATTR\s*\(\s*(\w+)\s*,\s*\(?(?:\s*S_IWUSR\s*|\s*0200\s*)\)?\s*,\s*NULL\s*,\s*\s_store\s*\)/DEVICE_ATTR_WO(\1)/g; > print;}' > > Signed-off-by: Joe Perches > --- > arch/s390/kernel/smp.c | 2 +- > arch/x86/kernel/cpu/microcode/core.c | 2 +- > drivers/input/touchscreen/elants_i2c.c | 2 +- > drivers/net/ethernet/ibm/ibmvnic.c | 2 +- > drivers/net/wimax/i2400m/sysfs.c | 3 +-- > drivers/scsi/lpfc/lpfc_attr.c | 3 +-- > drivers/thermal/thermal_sysfs.c| 2 +- > 7 files changed, 7 insertions(+), 9 deletions(-) > > diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c > index b8c1a85bcf2d..a919b2f0141d 100644 > --- a/arch/s390/kernel/smp.c > +++ b/arch/s390/kernel/smp.c > @@ -1151,7 +1151,7 @@ static ssize_t __ref rescan_store(struct device *dev, > rc = smp_rescan_cpus(); > return rc ? rc : count; > } > -static DEVICE_ATTR(rescan, 0200, NULL, rescan_store); > +static DEVICE_ATTR_WO(rescan); > #endif /* CONFIG_HOTPLUG_CPU */ > > static int __init s390_smp_init(void) > diff --git a/arch/x86/kernel/cpu/microcode/core.c > b/arch/x86/kernel/cpu/microcode/core.c > index c4fa4a85d4cb..09c74b0560dd 100644 > --- a/arch/x86/kernel/cpu/microcode/core.c > +++ b/arch/x86/kernel/cpu/microcode/core.c > @@ -560,7 +560,7 @@ static ssize_t pf_show(struct device *dev, > return sprintf(buf, "0x%x\n", uci->cpu_sig.pf); > } > > -static DEVICE_ATTR(reload, 0200, NULL, reload_store); > +static DEVICE_ATTR_WO(reload); > static DEVICE_ATTR(version, 0400, version_show, NULL); > static DEVICE_ATTR(processor_flags, 0400, pf_show, NULL); > # cat /sys/devices/system/cpu/microcode/reload cat: /sys/devices/system/cpu/microcode/reload: Permission denied The reason for the code churn being? -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.
Re: [-next PATCH 4/4] treewide: Use DEVICE_ATTR_WO
On Tue, 2017-12-19 at 19:44 +0100, Borislav Petkov wrote: > On Tue, Dec 19, 2017 at 10:15:09AM -0800, Joe Perches wrote: > > Convert DEVICE_ATTR uses to DEVICE_ATTR_WO where possible. > > > > Done with perl script: > > > > $ git grep -w --name-only DEVICE_ATTR | \ > > xargs perl -i -e 'local $/; while (<>) { > > s/\bDEVICE_ATTR\s*\(\s*(\w+)\s*,\s*\(?(?:\s*S_IWUSR\s*|\s*0200\s*)\)?\s*,\s*NULL\s*,\s*\s_store\s*\)/DEVICE_ATTR_WO(\1)/g; > > print;}' [] > > diff --git a/arch/x86/kernel/cpu/microcode/core.c > > b/arch/x86/kernel/cpu/microcode/core.c [] > > @@ -560,7 +560,7 @@ static ssize_t pf_show(struct device *dev, > > return sprintf(buf, "0x%x\n", uci->cpu_sig.pf); > > } > > > > -static DEVICE_ATTR(reload, 0200, NULL, reload_store); > > +static DEVICE_ATTR_WO(reload); > > static DEVICE_ATTR(version, 0400, version_show, NULL); > > static DEVICE_ATTR(processor_flags, 0400, pf_show, NULL); > > > > # cat /sys/devices/system/cpu/microcode/reload > cat: /sys/devices/system/cpu/microcode/reload: Permission denied Not different behavior. It was and remains write only. > The reason for the code churn being? Consistency for easier grep by use-type.
Re: [-next PATCH 4/4] treewide: Use DEVICE_ATTR_WO
On Tue, Dec 19, 2017 at 10:51:14AM -0800, Joe Perches wrote: > > The reason for the code churn being? > > Consistency for easier grep by use-type. Please explain that in the commit message so that we know why it was changed. -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.
Re: [-next PATCH 4/4] treewide: Use DEVICE_ATTR_WO
On Tue, 2017-12-19 at 10:15 -0800, Joe Perches wrote: > Convert DEVICE_ATTR uses to DEVICE_ATTR_WO where possible. > > Done with perl script: > > $ git grep -w --name-only DEVICE_ATTR | \ > xargs perl -i -e 'local $/; while (<>) { > s/\bDEVICE_ATTR\s*\(\s*(\w+)\s*,\s*\(?(?:\s*S_IWUSR\s*|\s*0200\s*)\)? > \s*,\s*NULL\s*,\s*\s_store\s*\)/DEVICE_ATTR_WO(\1)/g; print;}' > > Signed-off-by: Joe Perches > --- > arch/s390/kernel/smp.c | 2 +- > arch/x86/kernel/cpu/microcode/core.c | 2 +- > drivers/input/touchscreen/elants_i2c.c | 2 +- > drivers/net/ethernet/ibm/ibmvnic.c | 2 +- > drivers/net/wimax/i2400m/sysfs.c | 3 +-- > drivers/scsi/lpfc/lpfc_attr.c | 3 +-- > drivers/thermal/thermal_sysfs.c| 2 +- For the thermal part, Acked-by: Zhang Rui thanks, rui > 7 files changed, 7 insertions(+), 9 deletions(-) > > diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c > index b8c1a85bcf2d..a919b2f0141d 100644 > --- a/arch/s390/kernel/smp.c > +++ b/arch/s390/kernel/smp.c > @@ -1151,7 +1151,7 @@ static ssize_t __ref rescan_store(struct device > *dev, > rc = smp_rescan_cpus(); > return rc ? rc : count; > } > -static DEVICE_ATTR(rescan, 0200, NULL, rescan_store); > +static DEVICE_ATTR_WO(rescan); > #endif /* CONFIG_HOTPLUG_CPU */ > > static int __init s390_smp_init(void) > diff --git a/arch/x86/kernel/cpu/microcode/core.c > b/arch/x86/kernel/cpu/microcode/core.c > index c4fa4a85d4cb..09c74b0560dd 100644 > --- a/arch/x86/kernel/cpu/microcode/core.c > +++ b/arch/x86/kernel/cpu/microcode/core.c > @@ -560,7 +560,7 @@ static ssize_t pf_show(struct device *dev, > return sprintf(buf, "0x%x\n", uci->cpu_sig.pf); > } > > -static DEVICE_ATTR(reload, 0200, NULL, reload_store); > +static DEVICE_ATTR_WO(reload); > static DEVICE_ATTR(version, 0400, version_show, NULL); > static DEVICE_ATTR(processor_flags, 0400, pf_show, NULL); > > diff --git a/drivers/input/touchscreen/elants_i2c.c > b/drivers/input/touchscreen/elants_i2c.c > index a458e5ec9e41..819213e88f32 100644 > --- a/drivers/input/touchscreen/elants_i2c.c > +++ b/drivers/input/touchscreen/elants_i2c.c > @@ -1000,7 +1000,7 @@ static ssize_t show_iap_mode(struct device > *dev, > "Normal" : "Recovery"); > } > > -static DEVICE_ATTR(calibrate, S_IWUSR, NULL, calibrate_store); > +static DEVICE_ATTR_WO(calibrate); > static DEVICE_ATTR(iap_mode, S_IRUGO, show_iap_mode, NULL); > static DEVICE_ATTR(update_fw, S_IWUSR, NULL, write_update_fw); > > diff --git a/drivers/net/ethernet/ibm/ibmvnic.c > b/drivers/net/ethernet/ibm/ibmvnic.c > index 1dc4aef37d3a..42b96e1a1b13 100644 > --- a/drivers/net/ethernet/ibm/ibmvnic.c > +++ b/drivers/net/ethernet/ibm/ibmvnic.c > @@ -4411,7 +4411,7 @@ static ssize_t failover_store(struct device > *dev, struct device_attribute *attr, > return count; > } > > -static DEVICE_ATTR(failover, 0200, NULL, failover_store); > +static DEVICE_ATTR_WO(failover); > > static unsigned long ibmvnic_get_desired_dma(struct vio_dev *vdev) > { > diff --git a/drivers/net/wimax/i2400m/sysfs.c > b/drivers/net/wimax/i2400m/sysfs.c > index 1237109f251a..8c67df11105c 100644 > --- a/drivers/net/wimax/i2400m/sysfs.c > +++ b/drivers/net/wimax/i2400m/sysfs.c > @@ -65,8 +65,7 @@ ssize_t i2400m_idle_timeout_store(struct device > *dev, > } > > static > -DEVICE_ATTR(i2400m_idle_timeout, S_IWUSR, > - NULL, i2400m_idle_timeout_store); > +DEVICE_ATTR_WO(i2400m_idle_timeout); > > static > struct attribute *i2400m_dev_attrs[] = { > diff --git a/drivers/scsi/lpfc/lpfc_attr.c > b/drivers/scsi/lpfc/lpfc_attr.c > index 517ff203cfde..6ddaf51a23f6 100644 > --- a/drivers/scsi/lpfc/lpfc_attr.c > +++ b/drivers/scsi/lpfc/lpfc_attr.c > @@ -2418,8 +2418,7 @@ lpfc_soft_wwn_enable_store(struct device *dev, > struct device_attribute *attr, > > return count; > } > -static DEVICE_ATTR(lpfc_soft_wwn_enable, S_IWUSR, NULL, > - lpfc_soft_wwn_enable_store); > +static DEVICE_ATTR_WO(lpfc_soft_wwn_enable); > > /** > * lpfc_soft_wwpn_show - Return the cfg soft ww port name of the > adapter > diff --git a/drivers/thermal/thermal_sysfs.c > b/drivers/thermal/thermal_sysfs.c > index 2bc964392924..ba81c9080f6e 100644 > --- a/drivers/thermal/thermal_sysfs.c > +++ b/drivers/thermal/thermal_sysfs.c > @@ -317,7 +317,7 @@ emul_temp_store(struct device *dev, struct > device_attribute *attr, > > return ret ? ret : count; > } > -static DEVICE_ATTR(emul_temp, S_IWUSR, NULL, emul_temp_store); > +static DEVICE_ATTR_WO(emul_temp); > #endif > > static ssize_t