Convert seq_<foo> output calls to return void
Subsystems (31)
cover Convert seq_<foo> output calls to return void
As Al Viro said:
we are getting well-meaning folks who try to check that return value,
again and again, getting it wrong every time. Typical idiocies:
* return some kind of error out of ->show() on overflows. Pointless
*and* wrong - only hard errors (== fail read(2) with that) should be reported that way; the caller does detect overflow and retires with bigger buffer just fine.
* keep checking it after every sodding call of seq_...(), screwing
the cleanups up more often than not. Pointless, unless you are doing some seriously expensive calculations to produce something you are going to print. seq_...() are no-ops in case when overflow has already happened.
seq_has_overflowed() is only for situations when you really want to skip a serious amount of work generating the data that would end up being discarded and recalculated again when the caller grabs a bigger buffer and calls you again. And more often than not it's an indication of ->show() trying to do the work of iterator - e.g. when you have single_open() with ->show() printing the entire hash table of some sort all in one record.
Most of the time checking return value of seq_...() is better replaced with not doing that. And "must check return value and Do Something(tm)" is too strong habit for enough people to cause recurring trouble.
Joe Perches (27):
staging: lustre: Convert "return seq_printf(...)" uses
staging: lustre: Convert seq_ hash functions to return void
staging: lustre: Convert uses of "int rc = seq_printf(...)"
staging: lustre: Convert remaining uses of "= seq_printf(...)"
x86: mtrr: if: Remove use of seq_printf return value
power: wakeup: Remove use of seq_printf return value
ipmi: Remove use of seq_printf return value
rtc: Remove use of seq_printf return value
ipc: Remove use of seq_printf return value
pxa27x_udc: Remove use of seq_printf return value
microblaze: mb: Remove use of seq_printf return value
nios2: cpuinfo: Remove use of seq_printf return value
ARM: plat-pxa: Remove use of seq_printf return value
openrisc: Remove use of seq_printf return value
cris: Remove use of seq_printf return value
mfd: ab8500-debugfs: Remove use of seq_printf return value
staging: i2o: Remove use of seq_printf return value
staging: rtl8192x: Remove use of seq_printf return value
s390: Remove use of seq_printf return value
i8k: Remove use of seq_printf return value
watchdog: bcm281xx: Remove use of seq_printf return value
proc: Remove use of seq_printf return value
cgroup: Remove use of seq_printf return value
tracing: Remove use of seq_printf return value
lru_cache: Remove use of seq_printf return value
parisc: Remove use of seq_printf return value
regulator: dbx500: Remove use of seq_puts/seq_printf return value
arch/arm/plat-pxa/dma.c | 111 ++++++------ arch/cris/arch-v10/kernel/setup.c | 58 +++--- arch/cris/arch-v32/kernel/setup.c | 62 +++---- arch/microblaze/kernel/cpu/mb.c | 149 ++++++++-------- arch/nios2/kernel/cpuinfo.c | 77 ++++---- arch/openrisc/kernel/setup.c | 50 +++--- arch/s390/pci/pci_debug.c | 6 +- arch/x86/kernel/cpu/mtrr/if.c | 12 +- drivers/base/power/wakeup.c | 16 +- drivers/char/i8k.c | 16 +- drivers/char/ipmi/ipmi_msghandler.c | 12 +- drivers/char/ipmi/ipmi_si_intf.c | 26 +-- drivers/char/ipmi/ipmi_ssif.c | 4 +- drivers/mfd/ab8500-debugfs.c | 196 +++++++++++++-------- drivers/parisc/ccio-dma.c | 54 +++--- drivers/parisc/sba_iommu.c | 86 +++++---- drivers/regulator/dbx500-prcmu.c | 32 +--- drivers/rtc/rtc-cmos.c | 36 ++-- drivers/rtc/rtc-ds1305.c | 6 +- drivers/rtc/rtc-mrst.c | 16 +- drivers/rtc/rtc-tegra.c | 4 +- drivers/s390/cio/blacklist.c | 12 +- drivers/staging/i2o/i2o_proc.c | 18 +- .../lustre/include/linux/libcfs/libcfs_hash.h | 4 +- drivers/staging/lustre/lustre/fid/lproc_fid.c | 23 ++- drivers/staging/lustre/lustre/libcfs/hash.c | 13 +- drivers/staging/lustre/lustre/llite/lproc_llite.c | 117 ++++++------ drivers/staging/lustre/lustre/lmv/lproc_lmv.c | 18 +- drivers/staging/lustre/lustre/lov/lproc_lov.c | 30 ++-- drivers/staging/lustre/lustre/mdc/lproc_mdc.c | 6 +- .../lustre/lustre/obdclass/linux/linux-module.c | 38 ++-- .../lustre/lustre/obdclass/lprocfs_status.c | 108 ++++++------ drivers/staging/lustre/lustre/obdclass/lu_object.c | 25 +-- drivers/staging/lustre/lustre/osc/lproc_osc.c | 67 +++---- .../staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c | 25 +-- drivers/staging/lustre/lustre/ptlrpc/sec_bulk.c | 82 +++++---- drivers/staging/rtl8192e/rtllib_module.c | 4 +- .../staging/rtl8192u/ieee80211/ieee80211_module.c | 4 +- drivers/usb/gadget/udc/pxa27x_udc.c | 132 +++++++------- drivers/watchdog/bcm_kona_wdt.c | 27 +-- fs/proc/array.c | 4 +- fs/proc/base.c | 82 +++++---- ipc/msg.c | 34 ++-- ipc/sem.c | 26 +-- ipc/shm.c | 42 ++--- ipc/util.c | 6 +- kernel/cgroup.c | 4 +- kernel/trace/trace_stack.c | 4 +- lib/lru_cache.c | 9 +- 49 files changed, 1050 insertions(+), 943 deletions(-)
Signature · 1 line
2.1.2
PATCH 8/27 rtc: Remove use of seq_printf return value
The seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- drivers/rtc/rtc-cmos.c | 36 +++++++++++++++++++----------------- drivers/rtc/rtc-ds1305.c | 6 +++--- drivers/rtc/rtc-mrst.c | 16 +++++++++------- drivers/rtc/rtc-tegra.c | 4 +++- 4 files changed, 34 insertions(+), 28 deletions(-)
drivers/rtc/rtc-cmos.c +19 -17
@@ -459,23 +459,25 @@ static int cmos_procfs(struct device *dev, struct seq_file *seq)/* NOTE: at least ICH6 reports battery status using a different * (non-RTC) bit; and SQWE is ignored on many current systems. */ -return seq_printf (seq, -"periodic_IRQ\t: %s\n" -"update_IRQ\t: %s\n" -"HPET_emulated\t: %s\n" -// "square_wave\t: %s\n" -"BCD\t\t: %s\n" -"DST_enable\t: %s\n" -"periodic_freq\t: %d\n" -"batt_status\t: %s\n" , - (rtc_control &RTC_PIE ) ?"yes" :"no" , - (rtc_control &RTC_UIE ) ?"yes" :"no" , -is_hpet_enabled () ?"yes" :"no" , -// (rtc_control & RTC_SQWE) ? "yes" : "no", - (rtc_control &RTC_DM_BINARY ) ?"no" :"yes" , - (rtc_control &RTC_DST_EN ) ?"yes" :"no" , - cmos->rtc->irq_freq, - (valid & RTC_VRT) ? "okay" : "dead"); +seq_printf (seq, +"periodic_IRQ\t: %s\n" +"update_IRQ\t: %s\n" +"HPET_emulated\t: %s\n" +// "square_wave\t: %s\n" +"BCD\t\t: %s\n" +"DST_enable\t: %s\n" +"periodic_freq\t: %d\n" +"batt_status\t: %s\n" , + (rtc_control &RTC_PIE ) ?"yes" :"no" , + (rtc_control &RTC_UIE ) ?"yes" :"no" , +is_hpet_enabled () ?"yes" :"no" , +// (rtc_control & RTC_SQWE) ? "yes" : "no", + (rtc_control &RTC_DM_BINARY ) ?"no" :"yes" , + (rtc_control &RTC_DST_EN ) ?"yes" :"no" , + cmos->rtc->irq_freq, + (valid &RTC_VRT ) ?"okay" :"dead" ); + + return 0; }#else
drivers/rtc/rtc-ds1305.c +3 -3
@@ -434,9 +434,9 @@ static int ds1305_proc(struct device *dev, struct seq_file *seq) } done: -return seq_printf (seq, -"trickle_charge\t: %s%s\n" , - diodes, resistors); +seq_printf (seq,"trickle_charge\t: %s%s\n" , diodes, resistors); + +return 0 ; }#else
drivers/rtc/rtc-mrst.c +9 -7
@@ -277,13 +277,15 @@ static int mrst_procfs(struct device *dev, struct seq_file *seq) valid =vrtc_cmos_read (RTC_VALID );spin_unlock_irq (&rtc_lock); -return seq_printf (seq, -"periodic_IRQ\t: %s\n" -"alarm\t\t: %s\n" -"BCD\t\t: no\n" -"periodic_freq\t: daily (not adjustable)\n" , - (rtc_control &RTC_PIE ) ?"on" :"off" , - (rtc_control & RTC_AIE) ? "on" : "off"); +seq_printf (seq, +"periodic_IRQ\t: %s\n" +"alarm\t\t: %s\n" +"BCD\t\t: no\n" +"periodic_freq\t: daily (not adjustable)\n" , + (rtc_control &RTC_PIE ) ?"on" :"off" , + (rtc_control &RTC_AIE ) ?"on" :"off" ); + + return 0; }#else
drivers/rtc/rtc-tegra.c +3 -1
@@ -261,7 +261,9 @@ static int tegra_rtc_proc(struct device *dev, struct seq_file *seq)if (!dev || !dev->driver)return 0 ; -return seq_printf (seq,"name\t\t: %s\n" ,dev_name (dev)); +seq_printf (seq,"name\t\t: %s\n" ,dev_name (dev)); + + return 0: }static irqreturn_t tegra_rtc_irq_handler (int irq,void *data)
Signature · 1 line
2.1.2
PATCH 10/27 pxa27x_udc: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
While there, simplify the error handler logic by returning immediately and remove the unnecessary labels.
--- drivers/usb/gadget/udc/pxa27x_udc.c | 132 ++++++++++++++++-------------------- 1 file changed, 60 insertions(+), 72 deletions(-)
drivers/usb/gadget/udc/pxa27x_udc.c +60 -72
@@ -93,50 +93,46 @@ static void handle_ep(struct pxa_ep *ep);static int state_dbg_show (struct seq_file *s,void *p) {struct pxa_udc *udc = s->private; -int pos =0 , ret;u32 tmp; - ret = -ENODEV ;if (!udc->driver) - goto out; +return -ENODEV ;/* basic device status */ - pos +=seq_printf (s,DRIVER_DESC "\n" -"%s version: %s\nGadget driver: %s\n" , - driver_name,DRIVER_VERSION , - udc->driver ? udc->driver->driver.name :"(none)" ); +seq_printf (s,DRIVER_DESC "\n" +"%s version: %s\n" +"Gadget driver: %s\n" , + driver_name,DRIVER_VERSION , + udc->driver ? udc->driver->driver.name :"(none)" ); tmp =udc_readl (udc,UDCCR ); - pos +=seq_printf (s, -"udccr=0x%0x(%s%s%s%s%s%s%s%s%s%s), " -"con=%d,inter=%d,altinter=%d\n" , tmp, - (tmp &UDCCR_OEN ) ?" oen" :"" , - (tmp &UDCCR_AALTHNP ) ?" aalthnp" :"" , - (tmp &UDCCR_AHNP ) ?" rem" :"" , - (tmp &UDCCR_BHNP ) ?" rstir" :"" , - (tmp &UDCCR_DWRE ) ?" dwre" :"" , - (tmp &UDCCR_SMAC ) ?" smac" :"" , - (tmp &UDCCR_EMCE ) ?" emce" :"" , - (tmp &UDCCR_UDR ) ?" udr" :"" , - (tmp &UDCCR_UDA ) ?" uda" :"" , - (tmp &UDCCR_UDE ) ?" ude" :"" , - (tmp &UDCCR_ACN ) >>UDCCR_ACN_S , - (tmp &UDCCR_AIN ) >>UDCCR_AIN_S , - (tmp &UDCCR_AAISN ) >>UDCCR_AAISN_S ); +seq_printf (s, +"udccr=0x%0x(%s%s%s%s%s%s%s%s%s%s), con=%d,inter=%d,altinter=%d\n" , + tmp, + (tmp &UDCCR_OEN ) ?" oen" :"" , + (tmp &UDCCR_AALTHNP ) ?" aalthnp" :"" , + (tmp &UDCCR_AHNP ) ?" rem" :"" , + (tmp &UDCCR_BHNP ) ?" rstir" :"" , + (tmp &UDCCR_DWRE ) ?" dwre" :"" , + (tmp &UDCCR_SMAC ) ?" smac" :"" , + (tmp &UDCCR_EMCE ) ?" emce" :"" , + (tmp &UDCCR_UDR ) ?" udr" :"" , + (tmp &UDCCR_UDA ) ?" uda" :"" , + (tmp &UDCCR_UDE ) ?" ude" :"" , + (tmp &UDCCR_ACN ) >>UDCCR_ACN_S , + (tmp &UDCCR_AIN ) >>UDCCR_AIN_S , + (tmp &UDCCR_AAISN ) >>UDCCR_AAISN_S );/* registers for device and ep0 */ - pos +=seq_printf (s,"udcicr0=0x%08x udcicr1=0x%08x\n" , -udc_readl (udc,UDCICR0 ),udc_readl (udc,UDCICR1 )); - pos +=seq_printf (s,"udcisr0=0x%08x udcisr1=0x%08x\n" , -udc_readl (udc,UDCISR0 ),udc_readl (udc,UDCISR1 )); - pos +=seq_printf (s,"udcfnr=%d\n" ,udc_readl (udc,UDCFNR )); - pos +=seq_printf (s,"irqs: reset=%lu, suspend=%lu, resume=%lu, " -"reconfig=%lu\n" , - udc->stats.irqs_reset, udc->stats.irqs_suspend, - udc->stats.irqs_resume, udc->stats.irqs_reconfig); - - ret =0 ; -out: -return ret; +seq_printf (s,"udcicr0=0x%08x udcicr1=0x%08x\n" , +udc_readl (udc,UDCICR0 ),udc_readl (udc,UDCICR1 )); +seq_printf (s,"udcisr0=0x%08x udcisr1=0x%08x\n" , +udc_readl (udc,UDCISR0 ),udc_readl (udc,UDCISR1 )); +seq_printf (s,"udcfnr=%d\n" ,udc_readl (udc,UDCFNR )); +seq_printf (s,"irqs: reset=%lu, suspend=%lu, resume=%lu, reconfig=%lu\n" , + udc->stats.irqs_reset, udc->stats.irqs_suspend, + udc->stats.irqs_resume, udc->stats.irqs_reconfig); + +return 0 ; }static int queues_dbg_show (struct seq_file *s,void *p)
@@ -144,75 +140,67 @@ static int queues_dbg_show(struct seq_file *s, void *p)struct pxa_udc *udc = s->private;struct pxa_ep *ep;struct pxa27x_request *req; -int pos =0 , i, maxpkt, ret; +int i, maxpkt; - ret = -ENODEV ;if (!udc->driver) - goto out; +return -ENODEV ;/* dump endpoint queues */ for (i =0 ; i <NR_PXA_ENDPOINTS ; i++) { ep = &udc->pxa_ep[i]; maxpkt = ep->fifo_size; - pos +=seq_printf (s,"%-12s max_pkt=%d %s\n" , -EPNAME (ep), maxpkt,"pio" ); +seq_printf (s,"%-12s max_pkt=%d %s\n" , +EPNAME (ep), maxpkt,"pio" );if (list_empty (&ep->queue)) { - pos +=seq_printf (s,"\t(nothing queued)\n" ); +seq_puts (s,"\t(nothing queued)\n" );continue ; }list_for_each_entry (req, &ep->queue, queue) { - pos +=seq_printf (s,"\treq %p len %d/%d buf %p\n" , - &req->req, req->req.actual, - req->req.length, req->req.buf); +seq_printf (s,"\treq %p len %d/%d buf %p\n" , + &req->req, req->req.actual, + req->req.length, req->req.buf); } } - ret =0 ; -out: -return ret; +return 0 ; }static int eps_dbg_show (struct seq_file *s,void *p) {struct pxa_udc *udc = s->private;struct pxa_ep *ep; -int pos =0 , i, ret; +int i;u32 tmp; - ret = -ENODEV ;if (!udc->driver) - goto out; +return -ENODEV ; ep = &udc->pxa_ep[0 ]; tmp =udc_ep_readl (ep,UDCCSR ); - pos +=seq_printf (s,"udccsr0=0x%03x(%s%s%s%s%s%s%s)\n" , tmp, - (tmp &UDCCSR0_SA ) ?" sa" :"" , - (tmp &UDCCSR0_RNE ) ?" rne" :"" , - (tmp &UDCCSR0_FST ) ?" fst" :"" , - (tmp &UDCCSR0_SST ) ?" sst" :"" , - (tmp &UDCCSR0_DME ) ?" dme" :"" , - (tmp &UDCCSR0_IPR ) ?" ipr" :"" , - (tmp &UDCCSR0_OPC ) ?" opc" :"" ); +seq_printf (s,"udccsr0=0x%03x(%s%s%s%s%s%s%s)\n" , + tmp, + (tmp &UDCCSR0_SA ) ?" sa" :"" , + (tmp &UDCCSR0_RNE ) ?" rne" :"" , + (tmp &UDCCSR0_FST ) ?" fst" :"" , + (tmp &UDCCSR0_SST ) ?" sst" :"" , + (tmp &UDCCSR0_DME ) ?" dme" :"" , + (tmp &UDCCSR0_IPR ) ?" ipr" :"" , + (tmp &UDCCSR0_OPC ) ?" opc" :"" );for (i =0 ; i <NR_PXA_ENDPOINTS ; i++) { ep = &udc->pxa_ep[i]; tmp = i?udc_ep_readl (ep,UDCCR ) :udc_readl (udc,UDCCR ); - pos +=seq_printf (s,"%-12s: " -"IN %lu(%lu reqs), OUT %lu(%lu reqs), " -"irqs=%lu, udccr=0x%08x, udccsr=0x%03x, " -"udcbcr=%d\n" , -EPNAME (ep), - ep->stats.in_bytes, ep->stats.in_ops, - ep->stats.out_bytes, ep->stats.out_ops, - ep->stats.irqs, - tmp,udc_ep_readl (ep,UDCCSR ), -udc_ep_readl (ep,UDCBCR )); +seq_printf (s,"%-12s: IN %lu(%lu reqs), OUT %lu(%lu reqs), irqs=%lu, udccr=0x%08x, udccsr=0x%03x, udcbcr=%d\n" , +EPNAME (ep), + ep->stats.in_bytes, ep->stats.in_ops, + ep->stats.out_bytes, ep->stats.out_ops, + ep->stats.irqs, + tmp,udc_ep_readl (ep,UDCCSR ), +udc_ep_readl (ep,UDCBCR )); } - ret =0 ; -out: -return ret; +return 0 ; }static int eps_dbg_open (struct inode *inode,struct file *file)
Signature · 1 line
2.1.2
PATCH 13/27 ARM: plat-pxa: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, (as it is here, it doesn't return # of chars emitted) will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- arch/arm/plat-pxa/dma.c | 111 +++++++++++++++++++++++------------------------- 1 file changed, 53 insertions(+), 58 deletions(-)
arch/arm/plat-pxa/dma.c +53 -58
@@ -51,19 +51,19 @@ static struct dentry *dbgfs_root, *dbgfs_state, **dbgfs_chan;static int dbg_show_requester_chan (struct seq_file *s,void *p) { -int pos =0 ;int chan = (int )s->private;int i;u32 drcmr; - pos +=seq_printf (s,"DMA channel %d requesters list :\n" , chan); +seq_printf (s,"DMA channel %d requesters list :\n" , chan);for (i =0 ; i <DMA_MAX_REQUESTERS ; i++) { drcmr =DRCMR (i);if ((drcmr &DRCMR_CHLNUM ) == chan) - pos +=seq_printf (s,"\tRequester %d (MAPVLD=%d)\n" , i, - !!(drcmr &DRCMR_MAPVLD )); +seq_printf (s,"\tRequester %d (MAPVLD=%d)\n" , + i, !!(drcmr &DRCMR_MAPVLD )); } -return pos; + +return 0 ; }static inline int dbg_burst_from_dcmd (u32 dcmd)
@@ -83,7 +83,6 @@ static int is_phys_valid(unsigned long addr)static int dbg_show_descriptors (struct seq_file *s,void *p) { -int pos =0 ;int chan = (int )s->private;int i, max_show =20 , burst, width;u32 dcmd;
@@ -94,44 +93,43 @@ static int dbg_show_descriptors(struct seq_file *s, void *p)spin_lock_irqsave (&dma_channels[chan].lock, flags); phys_desc =DDADR (chan); - pos +=seq_printf (s,"DMA channel %d descriptors :\n" , chan); - pos +=seq_printf (s,"[%03d] First descriptor unknown\n" ,0 ); +seq_printf (s,"DMA channel %d descriptors :\n" , chan); +seq_printf (s,"[%03d] First descriptor unknown\n" ,0 );for (i =1 ; i < max_show &&is_phys_valid (phys_desc); i++) { desc =phys_to_virt (phys_desc); dcmd = desc->dcmd; burst =dbg_burst_from_dcmd (dcmd); width = (1 << ((dcmd >>14 ) &0x3 )) >>1 ; - pos +=seq_printf (s,"[%03d] Desc at %08lx(virt %p)\n" , - i, phys_desc, desc); - pos +=seq_printf (s,"\tDDADR = %08x\n" , desc->ddadr); - pos +=seq_printf (s,"\tDSADR = %08x\n" , desc->dsadr); - pos +=seq_printf (s,"\tDTADR = %08x\n" , desc->dtadr); - pos +=seq_printf (s,"\tDCMD = %08x (%s%s%s%s%s%s%sburst=%d" -" width=%d len=%d)\n" , - dcmd, -DCMD_STR (INCSRCADDR ),DCMD_STR (INCTRGADDR ), -DCMD_STR (FLOWSRC ),DCMD_STR (FLOWTRG ), -DCMD_STR (STARTIRQEN ),DCMD_STR (ENDIRQEN ), -DCMD_STR (ENDIAN ), burst, width, - dcmd &DCMD_LENGTH ); +seq_printf (s,"[%03d] Desc at %08lx(virt %p)\n" , + i, phys_desc, desc); +seq_printf (s,"\tDDADR = %08x\n" , desc->ddadr); +seq_printf (s,"\tDSADR = %08x\n" , desc->dsadr); +seq_printf (s,"\tDTADR = %08x\n" , desc->dtadr); +seq_printf (s,"\tDCMD = %08x (%s%s%s%s%s%s%sburst=%d width=%d len=%d)\n" , + dcmd, +DCMD_STR (INCSRCADDR ),DCMD_STR (INCTRGADDR ), +DCMD_STR (FLOWSRC ),DCMD_STR (FLOWTRG ), +DCMD_STR (STARTIRQEN ),DCMD_STR (ENDIRQEN ), +DCMD_STR (ENDIAN ), burst, width, + dcmd &DCMD_LENGTH ); phys_desc = desc->ddadr; }if (i == max_show) - pos +=seq_printf (s,"[%03d] Desc at %08lx ... max display reached\n" , - i, phys_desc); +seq_printf (s,"[%03d] Desc at %08lx ... max display reached\n" , + i, phys_desc);else - pos +=seq_printf (s,"[%03d] Desc at %08lx is %s\n" , - i, phys_desc, phys_desc ==DDADR_STOP ? -"DDADR_STOP" :"invalid" ); +seq_printf (s,"[%03d] Desc at %08lx is %s\n" , + i, phys_desc, phys_desc ==DDADR_STOP ? +"DDADR_STOP" :"invalid" );spin_unlock_irqrestore (&dma_channels[chan].lock, flags); -return pos; + +return 0 ; }static int dbg_show_chan_state (struct seq_file *s,void *p) { -int pos =0 ;int chan = (int )s->private;u32 dcsr, dcmd;int burst, width;
@@ -142,42 +140,39 @@ static int dbg_show_chan_state(struct seq_file *s, void *p) burst =dbg_burst_from_dcmd (dcmd); width = (1 << ((dcmd >>14 ) &0x3 )) >>1 ; - pos +=seq_printf (s,"DMA channel %d\n" , chan); - pos +=seq_printf (s,"\tPriority : %s\n" , - str_prio[dma_channels[chan].prio]); - pos +=seq_printf (s,"\tUnaligned transfer bit: %s\n" , -DALGN & (1 << chan) ?"yes" :"no" ); - pos +=seq_printf (s,"\tDCSR = %08x (%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s)\n" , - dcsr,DCSR_STR (RUN ),DCSR_STR (NODESC ), -DCSR_STR (STOPIRQEN ),DCSR_STR (EORIRQEN ), -DCSR_STR (EORJMPEN ),DCSR_STR (EORSTOPEN ), -DCSR_STR (SETCMPST ),DCSR_STR (CLRCMPST ), -DCSR_STR (CMPST ),DCSR_STR (EORINTR ),DCSR_STR (REQPEND ), -DCSR_STR (STOPSTATE ),DCSR_STR (ENDINTR ), -DCSR_STR (STARTINTR ),DCSR_STR (BUSERR )); - - pos +=seq_printf (s,"\tDCMD = %08x (%s%s%s%s%s%s%sburst=%d width=%d" -" len=%d)\n" , - dcmd, -DCMD_STR (INCSRCADDR ),DCMD_STR (INCTRGADDR ), -DCMD_STR (FLOWSRC ),DCMD_STR (FLOWTRG ), -DCMD_STR (STARTIRQEN ),DCMD_STR (ENDIRQEN ), -DCMD_STR (ENDIAN ), burst, width, dcmd &DCMD_LENGTH ); - pos +=seq_printf (s,"\tDSADR = %08x\n" ,DSADR (chan)); - pos +=seq_printf (s,"\tDTADR = %08x\n" ,DTADR (chan)); - pos +=seq_printf (s,"\tDDADR = %08x\n" ,DDADR (chan)); -return pos; +seq_printf (s,"DMA channel %d\n" , chan); +seq_printf (s,"\tPriority : %s\n" , str_prio[dma_channels[chan].prio]); +seq_printf (s,"\tUnaligned transfer bit: %s\n" , +DALGN & (1 << chan) ?"yes" :"no" ); +seq_printf (s,"\tDCSR = %08x (%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s)\n" , + dcsr,DCSR_STR (RUN ),DCSR_STR (NODESC ), +DCSR_STR (STOPIRQEN ),DCSR_STR (EORIRQEN ), +DCSR_STR (EORJMPEN ),DCSR_STR (EORSTOPEN ), +DCSR_STR (SETCMPST ),DCSR_STR (CLRCMPST ), +DCSR_STR (CMPST ),DCSR_STR (EORINTR ),DCSR_STR (REQPEND ), +DCSR_STR (STOPSTATE ),DCSR_STR (ENDINTR ), +DCSR_STR (STARTINTR ),DCSR_STR (BUSERR )); + +seq_printf (s,"\tDCMD = %08x (%s%s%s%s%s%s%sburst=%d width=%d len=%d)\n" , + dcmd, +DCMD_STR (INCSRCADDR ),DCMD_STR (INCTRGADDR ), +DCMD_STR (FLOWSRC ),DCMD_STR (FLOWTRG ), +DCMD_STR (STARTIRQEN ),DCMD_STR (ENDIRQEN ), +DCMD_STR (ENDIAN ), burst, width, dcmd &DCMD_LENGTH ); +seq_printf (s,"\tDSADR = %08x\n" ,DSADR (chan)); +seq_printf (s,"\tDTADR = %08x\n" ,DTADR (chan)); +seq_printf (s,"\tDDADR = %08x\n" ,DDADR (chan)); + +return 0 ; }static int dbg_show_state (struct seq_file *s,void *p) { -int pos =0 ; -/* basic device status */ - pos +=seq_printf (s,"DMA engine status\n" ); - pos +=seq_printf (s,"\tChannel number: %d\n" , num_dma_channels); +seq_puts (s,"DMA engine status\n" ); +seq_printf (s,"\tChannel number: %d\n" , num_dma_channels); -return pos; +return 0 ; }#define DBGFS_FUNC_DECL (name) \
Signature · 1 line
2.1.2
PATCH 16/27 mfd: ab8500-debugfs: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- drivers/mfd/ab8500-debugfs.c | 196 ++++++++++++++++++++++++++----------------- 1 file changed, 121 insertions(+), 75 deletions(-)
drivers/mfd/ab8500-debugfs.c +121 -75
@@ -1283,7 +1283,7 @@ static irqreturn_t ab8500_debug_handler(int irq, void *data)/* Prints to seq_file or log_buf */ static int ab8500_registers_print (struct device *dev,u32 bank, -struct seq_file *s) +struct seq_file *s) {unsigned int i;
@@ -1304,20 +1304,19 @@ static int ab8500_registers_print(struct device *dev, u32 bank, }if (s) { - err =seq_printf (s, -" [0x%02X/0x%02X]: 0x%02X\n" , - bank, reg, value); -if (err <0 ) { -/* Error is not returned here since -* the output is wanted in any case */ +seq_printf (s," [0x%02X/0x%02X]: 0x%02X\n" , + bank, reg, value); +/* Error is not returned here since +* the output is wanted in any case */ +if (seq_has_overflowed (s))return 0 ; - } }else {dev_info (dev," [0x%02X/0x%02X]: 0x%02X\n" , bank, reg, value); } } } +return 0 ; }
@@ -1330,8 +1329,7 @@ static int ab8500_print_bank_registers(struct seq_file *s, void *p)seq_printf (s," bank 0x%02X:\n" , bank); -ab8500_registers_print (dev, bank, s); -return 0 ; +return ab8500_registers_print (dev, bank, s); }static int ab8500_registers_open (struct inode *inode,struct file *file)
@@ -1355,9 +1353,12 @@ static int ab8500_print_all_banks(struct seq_file *s, void *p)seq_puts (s,AB8500_NAME_STRING " register values:\n" );for (i =0 ; i <AB8500_NUM_BANKS ; i++) { -seq_printf (s," bank 0x%02X:\n" , i); +int err; -ab8500_registers_print (dev, i, s); +seq_printf (s," bank 0x%02X:\n" , i); + err =ab8500_registers_print (dev, i, s); +if (err) +return err; }return 0 ; }
@@ -1458,7 +1459,8 @@ static const struct file_operations ab8500_all_banks_fops = {static int ab8500_bank_print (struct seq_file *s,void *p) { -return seq_printf (s,"0x%02X\n" , debug_bank); +seq_printf (s,"0x%02X\n" , debug_bank); +return 0 ; }static int ab8500_bank_open (struct inode *inode,struct file *file)
@@ -1490,7 +1492,8 @@ static ssize_t ab8500_bank_write(struct file *file,static int ab8500_address_print (struct seq_file *s,void *p) { -return seq_printf (s,"0x%02X\n" , debug_address); +seq_printf (s,"0x%02X\n" , debug_address); +return 0 ; }static int ab8500_address_open (struct inode *inode,struct file *file)
@@ -1598,7 +1601,8 @@ static int ab8500_interrupts_print(struct seq_file *s, void *p)for (line =0 ; line < num_interrupt_lines; line++) {struct irq_desc *desc =irq_to_desc (line + irq_first); -seq_printf (s,"%3i: %6i %4i" , line, +seq_printf (s,"%3i: %6i %4i" , + line, num_interrupts[line], num_wake_interrupts[line]);
@@ -1705,8 +1709,7 @@ static int ab8500_print_modem_registers(struct seq_file *s, void *p)dev_err (dev,"ab->read fail %d\n" , err);return err; } - err =seq_printf (s," [0x%02X/0x%02X]: 0x%02X\n" , - bank, reg, value); +seq_printf (s," [0x%02X/0x%02X]: 0x%02X\n" , bank, reg, value); } err =abx500_set_register_interruptible (dev,AB8500_REGU_CTRL1 ,AB8500_SUPPLY_CONTROL_REG , orig_value);
@@ -1743,8 +1746,9 @@ static int ab8500_gpadc_bat_ctrl_print(struct seq_file *s, void *p) bat_ctrl_convert =ab8500_gpadc_ad_to_voltage (gpadc,BAT_CTRL , bat_ctrl_raw); -return seq_printf (s,"%d,0x%X\n" , - bat_ctrl_convert, bat_ctrl_raw); +seq_printf (s,"%d,0x%X\n" , bat_ctrl_convert, bat_ctrl_raw); + +return 0 ; }static int ab8500_gpadc_bat_ctrl_open (struct inode *inode,struct file *file)
@@ -1773,8 +1777,9 @@ static int ab8500_gpadc_btemp_ball_print(struct seq_file *s, void *p) btemp_ball_convert =ab8500_gpadc_ad_to_voltage (gpadc,BTEMP_BALL , btemp_ball_raw); -return seq_printf (s, -"%d,0x%X\n" , btemp_ball_convert, btemp_ball_raw); +seq_printf (s,"%d,0x%X\n" , btemp_ball_convert, btemp_ball_raw); + +return 0 ; } static int ab8500_gpadc_btemp_ball_open(struct inode *inode,
@@ -1804,8 +1809,9 @@ static int ab8500_gpadc_main_charger_v_print(struct seq_file *s, void *p) main_charger_v_convert =ab8500_gpadc_ad_to_voltage (gpadc,MAIN_CHARGER_V , main_charger_v_raw); -return seq_printf (s,"%d,0x%X\n" , - main_charger_v_convert, main_charger_v_raw); +seq_printf (s,"%d,0x%X\n" , main_charger_v_convert, main_charger_v_raw); + +return 0 ; } static int ab8500_gpadc_main_charger_v_open(struct inode *inode,
@@ -1835,8 +1841,9 @@ static int ab8500_gpadc_acc_detect1_print(struct seq_file *s, void *p) acc_detect1_convert =ab8500_gpadc_ad_to_voltage (gpadc,ACC_DETECT1 , acc_detect1_raw); -return seq_printf (s,"%d,0x%X\n" , - acc_detect1_convert, acc_detect1_raw); +seq_printf (s,"%d,0x%X\n" , acc_detect1_convert, acc_detect1_raw); + +return 0 ; } static int ab8500_gpadc_acc_detect1_open(struct inode *inode,
@@ -1866,8 +1873,9 @@ static int ab8500_gpadc_acc_detect2_print(struct seq_file *s, void *p) acc_detect2_convert =ab8500_gpadc_ad_to_voltage (gpadc,ACC_DETECT2 , acc_detect2_raw); -return seq_printf (s,"%d,0x%X\n" , - acc_detect2_convert, acc_detect2_raw); +seq_printf (s,"%d,0x%X\n" , acc_detect2_convert, acc_detect2_raw); + +return 0 ; } static int ab8500_gpadc_acc_detect2_open(struct inode *inode,
@@ -1897,8 +1905,9 @@ static int ab8500_gpadc_aux1_print(struct seq_file *s, void *p) aux1_convert =ab8500_gpadc_ad_to_voltage (gpadc,ADC_AUX1 , aux1_raw); -return seq_printf (s,"%d,0x%X\n" , - aux1_convert, aux1_raw); +seq_printf (s,"%d,0x%X\n" , aux1_convert, aux1_raw); + +return 0 ; }static int ab8500_gpadc_aux1_open (struct inode *inode,struct file *file)
@@ -1926,8 +1935,9 @@ static int ab8500_gpadc_aux2_print(struct seq_file *s, void *p) aux2_convert =ab8500_gpadc_ad_to_voltage (gpadc,ADC_AUX2 , aux2_raw); -return seq_printf (s,"%d,0x%X\n" , - aux2_convert, aux2_raw); +seq_printf (s,"%d,0x%X\n" , aux2_convert, aux2_raw); + +return 0 ; }static int ab8500_gpadc_aux2_open (struct inode *inode,struct file *file)
@@ -1955,8 +1965,9 @@ static int ab8500_gpadc_main_bat_v_print(struct seq_file *s, void *p) main_bat_v_convert =ab8500_gpadc_ad_to_voltage (gpadc,MAIN_BAT_V , main_bat_v_raw); -return seq_printf (s,"%d,0x%X\n" , - main_bat_v_convert, main_bat_v_raw); +seq_printf (s,"%d,0x%X\n" , main_bat_v_convert, main_bat_v_raw); + +return 0 ; } static int ab8500_gpadc_main_bat_v_open(struct inode *inode,
@@ -1986,8 +1997,9 @@ static int ab8500_gpadc_vbus_v_print(struct seq_file *s, void *p) vbus_v_convert =ab8500_gpadc_ad_to_voltage (gpadc,VBUS_V , vbus_v_raw); -return seq_printf (s,"%d,0x%X\n" , - vbus_v_convert, vbus_v_raw); +seq_printf (s,"%d,0x%X\n" , vbus_v_convert, vbus_v_raw); + +return 0 ; }static int ab8500_gpadc_vbus_v_open (struct inode *inode,struct file *file)
@@ -2015,8 +2027,9 @@ static int ab8500_gpadc_main_charger_c_print(struct seq_file *s, void *p) main_charger_c_convert =ab8500_gpadc_ad_to_voltage (gpadc,MAIN_CHARGER_C , main_charger_c_raw); -return seq_printf (s,"%d,0x%X\n" , - main_charger_c_convert, main_charger_c_raw); +seq_printf (s,"%d,0x%X\n" , main_charger_c_convert, main_charger_c_raw); + +return 0 ; } static int ab8500_gpadc_main_charger_c_open(struct inode *inode,
@@ -2046,8 +2059,9 @@ static int ab8500_gpadc_usb_charger_c_print(struct seq_file *s, void *p) usb_charger_c_convert =ab8500_gpadc_ad_to_voltage (gpadc,USB_CHARGER_C , usb_charger_c_raw); -return seq_printf (s,"%d,0x%X\n" , - usb_charger_c_convert, usb_charger_c_raw); +seq_printf (s,"%d,0x%X\n" , usb_charger_c_convert, usb_charger_c_raw); + +return 0 ; } static int ab8500_gpadc_usb_charger_c_open(struct inode *inode,
@@ -2077,8 +2091,9 @@ static int ab8500_gpadc_bk_bat_v_print(struct seq_file *s, void *p) bk_bat_v_convert =ab8500_gpadc_ad_to_voltage (gpadc,BK_BAT_V , bk_bat_v_raw); -return seq_printf (s,"%d,0x%X\n" , - bk_bat_v_convert, bk_bat_v_raw); +seq_printf (s,"%d,0x%X\n" , bk_bat_v_convert, bk_bat_v_raw); + +return 0 ; }static int ab8500_gpadc_bk_bat_v_open (struct inode *inode,struct file *file)
@@ -2107,8 +2122,9 @@ static int ab8500_gpadc_die_temp_print(struct seq_file *s, void *p) die_temp_convert =ab8500_gpadc_ad_to_voltage (gpadc,DIE_TEMP , die_temp_raw); -return seq_printf (s,"%d,0x%X\n" , - die_temp_convert, die_temp_raw); +seq_printf (s,"%d,0x%X\n" , die_temp_convert, die_temp_raw); + +return 0 ; }static int ab8500_gpadc_die_temp_open (struct inode *inode,struct file *file)
@@ -2137,8 +2153,9 @@ static int ab8500_gpadc_usb_id_print(struct seq_file *s, void *p) usb_id_convert =ab8500_gpadc_ad_to_voltage (gpadc,USB_ID , usb_id_raw); -return seq_printf (s,"%d,0x%X\n" , - usb_id_convert, usb_id_raw); +seq_printf (s,"%d,0x%X\n" , usb_id_convert, usb_id_raw); + +return 0 ; }static int ab8500_gpadc_usb_id_open (struct inode *inode,struct file *file)
@@ -2166,8 +2183,9 @@ static int ab8540_gpadc_xtal_temp_print(struct seq_file *s, void *p) xtal_temp_convert =ab8500_gpadc_ad_to_voltage (gpadc,XTAL_TEMP , xtal_temp_raw); -return seq_printf (s,"%d,0x%X\n" , - xtal_temp_convert, xtal_temp_raw); +seq_printf (s,"%d,0x%X\n" , xtal_temp_convert, xtal_temp_raw); + +return 0 ; }static int ab8540_gpadc_xtal_temp_open (struct inode *inode,struct file *file)
@@ -2197,8 +2215,9 @@ static int ab8540_gpadc_vbat_true_meas_print(struct seq_file *s, void *p)ab8500_gpadc_ad_to_voltage (gpadc,VBAT_TRUE_MEAS , vbat_true_meas_raw); -return seq_printf (s,"%d,0x%X\n" , - vbat_true_meas_convert, vbat_true_meas_raw); +seq_printf (s,"%d,0x%X\n" , vbat_true_meas_convert, vbat_true_meas_raw); + +return 0 ; } static int ab8540_gpadc_vbat_true_meas_open(struct inode *inode,
@@ -2233,9 +2252,13 @@ static int ab8540_gpadc_bat_ctrl_and_ibat_print(struct seq_file *s, void *p) ibat_convert =ab8500_gpadc_ad_to_voltage (gpadc,IBAT_VIRTUAL_CHANNEL , ibat_raw); -return seq_printf (s,"%d,0x%X\n" "%d,0x%X\n" , - bat_ctrl_convert, bat_ctrl_raw, - ibat_convert, ibat_raw); +seq_printf (s, +"%d,0x%X\n" +"%d,0x%X\n" , + bat_ctrl_convert, bat_ctrl_raw, + ibat_convert, ibat_raw); + +return 0 ; } static int ab8540_gpadc_bat_ctrl_and_ibat_open(struct inode *inode,
@@ -2269,9 +2292,13 @@ static int ab8540_gpadc_vbat_meas_and_ibat_print(struct seq_file *s, void *p) ibat_convert =ab8500_gpadc_ad_to_voltage (gpadc,IBAT_VIRTUAL_CHANNEL , ibat_raw); -return seq_printf (s,"%d,0x%X\n" "%d,0x%X\n" , - vbat_meas_convert, vbat_meas_raw, - ibat_convert, ibat_raw); +seq_printf (s, +"%d,0x%X\n" +"%d,0x%X\n" , + vbat_meas_convert, vbat_meas_raw, + ibat_convert, ibat_raw); + +return 0 ; } static int ab8540_gpadc_vbat_meas_and_ibat_open(struct inode *inode,
@@ -2307,9 +2334,13 @@ static int ab8540_gpadc_vbat_true_meas_and_ibat_print(struct seq_file *s, ibat_convert =ab8500_gpadc_ad_to_voltage (gpadc,IBAT_VIRTUAL_CHANNEL , ibat_raw); -return seq_printf (s,"%d,0x%X\n" "%d,0x%X\n" , - vbat_true_meas_convert, vbat_true_meas_raw, - ibat_convert, ibat_raw); +seq_printf (s, +"%d,0x%X\n" +"%d,0x%X\n" , + vbat_true_meas_convert, vbat_true_meas_raw, + ibat_convert, ibat_raw); + +return 0 ; } static int ab8540_gpadc_vbat_true_meas_and_ibat_open(struct inode *inode,
@@ -2344,9 +2375,13 @@ static int ab8540_gpadc_bat_temp_and_ibat_print(struct seq_file *s, void *p) ibat_convert =ab8500_gpadc_ad_to_voltage (gpadc,IBAT_VIRTUAL_CHANNEL , ibat_raw); -return seq_printf (s,"%d,0x%X\n" "%d,0x%X\n" , - bat_temp_convert, bat_temp_raw, - ibat_convert, ibat_raw); +seq_printf (s, +"%d,0x%X\n" +"%d,0x%X\n" , + bat_temp_convert, bat_temp_raw, + ibat_convert, ibat_raw); + +return 0 ; } static int ab8540_gpadc_bat_temp_and_ibat_open(struct inode *inode,
@@ -2373,16 +2408,19 @@ static int ab8540_gpadc_otp_cal_print(struct seq_file *s, void *p) gpadc =ab8500_gpadc_get ("ab8500-gpadc.0" );ab8540_gpadc_get_otp (gpadc, &vmain_l, &vmain_h, &btemp_l, &btemp_h, &vbat_l, &vbat_h, &ibat_l, &ibat_h); -return seq_printf (s,"VMAIN_L:0x%X\n" -"VMAIN_H:0x%X\n" -"BTEMP_L:0x%X\n" -"BTEMP_H:0x%X\n" -"VBAT_L:0x%X\n" -"VBAT_H:0x%X\n" -"IBAT_L:0x%X\n" -"IBAT_H:0x%X\n" , - vmain_l, vmain_h, btemp_l, btemp_h, - vbat_l, vbat_h, ibat_l, ibat_h); +seq_printf (s, +"VMAIN_L:0x%X\n" +"VMAIN_H:0x%X\n" +"BTEMP_L:0x%X\n" +"BTEMP_H:0x%X\n" +"VBAT_L:0x%X\n" +"VBAT_H:0x%X\n" +"IBAT_L:0x%X\n" +"IBAT_H:0x%X\n" , + vmain_l, vmain_h, btemp_l, btemp_h, + vbat_l, vbat_h, ibat_l, ibat_h); + +return 0 ; }static int ab8540_gpadc_otp_cal_open (struct inode *inode,struct file *file)
@@ -2400,7 +2438,9 @@ static const struct file_operations ab8540_gpadc_otp_calib_fops = {static int ab8500_gpadc_avg_sample_print (struct seq_file *s,void *p) { -return seq_printf (s,"%d\n" , avg_sample); +seq_printf (s,"%d\n" , avg_sample); + +return 0 ; }static int ab8500_gpadc_avg_sample_open (struct inode *inode,struct file *file)
@@ -2445,7 +2485,9 @@ static const struct file_operations ab8500_gpadc_avg_sample_fops = {static int ab8500_gpadc_trig_edge_print (struct seq_file *s,void *p) { -return seq_printf (s,"%d\n" , trig_edge); +seq_printf (s,"%d\n" , trig_edge); + +return 0 ; }static int ab8500_gpadc_trig_edge_open (struct inode *inode,struct file *file)
@@ -2490,7 +2532,9 @@ static const struct file_operations ab8500_gpadc_trig_edge_fops = {static int ab8500_gpadc_trig_timer_print (struct seq_file *s,void *p) { -return seq_printf (s,"%d\n" , trig_timer); +seq_printf (s,"%d\n" , trig_timer); + +return 0 ; }static int ab8500_gpadc_trig_timer_open (struct inode *inode,struct file *file)
@@ -2533,7 +2577,9 @@ static const struct file_operations ab8500_gpadc_trig_timer_fops = {static int ab8500_gpadc_conv_type_print (struct seq_file *s,void *p) { -return seq_printf (s,"%d\n" , conv_type); +seq_printf (s,"%d\n" , conv_type); + +return 0 ; }static int ab8500_gpadc_conv_type_open (struct inode *inode,struct file *file)
Signature · 1 line
2.1.2
PATCH 19/27 s390: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- arch/s390/pci/pci_debug.c | 6 ++++-- drivers/s390/cio/blacklist.c | 12 +++++++----- 2 files changed, 11 insertions(+), 7 deletions(-)
arch/s390/pci/pci_debug.c +4 -2
@@ -45,8 +45,10 @@ static int pci_perf_show(struct seq_file *m, void *v)if (!zdev)return 0 ; -if (!zdev->fmb) -return seq_printf (m,"FMB statistics disabled\n" ); +if (!zdev->fmb) { +seq_puts (m,"FMB statistics disabled\n" ); +return 0 ; + }/* header */ seq_printf (m,"FMB @ %p\n" , zdev->fmb);
drivers/s390/cio/blacklist.c +7 -5
@@ -330,18 +330,20 @@ cio_ignore_proc_seq_show(struct seq_file *s, void *it)if (!iter->in_range) {/* First device in range. */ if ((iter->devno == __MAX_SUBCHANNEL) || - !is_blacklisted (iter->ssid, iter->devno +1 )) + !is_blacklisted (iter->ssid, iter->devno +1 )) {/* Singular device. */ -return seq_printf (s,"0.%x.%04x\n" , - iter->ssid, iter->devno); +seq_printf (s,"0.%x.%04x\n" , iter->ssid, iter->devno); +return 0 ; + } iter->in_range =1 ; -return seq_printf (s,"0.%x.%04x-" , iter->ssid, iter->devno); +seq_printf (s,"0.%x.%04x-" , iter->ssid, iter->devno); +return 0 ; }if ((iter->devno == __MAX_SUBCHANNEL) || !is_blacklisted (iter->ssid, iter->devno +1 )) {/* Last device in range. */ iter->in_range =0 ; -return seq_printf (s,"0.%x.%04x\n" , iter->ssid, iter->devno); +seq_printf (s,"0.%x.%04x\n" , iter->ssid, iter->devno); }return 0 ; }
Signature · 1 line
2.1.2
PATCH 23/27 cgroup: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- kernel/cgroup.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
kernel/cgroup.c +3 -1
@@ -4199,7 +4199,9 @@ static void *cgroup_pidlist_next(struct seq_file *s, void *v, loff_t *pos)static int cgroup_pidlist_show (struct seq_file *s,void *v) { -return seq_printf (s,"%d\n" , *(int *)v); +seq_printf (s,"%d\n" , *(int *)v); + +return 0 ; } static u64 cgroup_read_notify_on_release(struct cgroup_subsys_state *css,
Signature · 1 line
2.1.2
PATCH 26/27 parisc: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- drivers/parisc/ccio-dma.c | 54 ++++++++++++++--------------- drivers/parisc/sba_iommu.c | 86 ++++++++++++++++++++++------------------------ 2 files changed, 68 insertions(+), 72 deletions(-)
drivers/parisc/ccio-dma.c +26 -28
@@ -1021,7 +1021,6 @@ static struct hppa_dma_ops ccio_ops = {#ifdef CONFIG_PROC_FS static int ccio_proc_info (struct seq_file *m,void *p) { -int len =0 ;struct ioc *ioc = ioc_list;while (ioc !=NULL ) {
@@ -1031,22 +1030,22 @@ static int ccio_proc_info(struct seq_file *m, void *p)int j;#endif - len +=seq_printf (m,"%s\n" , ioc->name); +seq_printf (m,"%s\n" , ioc->name); - len +=seq_printf (m,"Cujo 2.0 bug : %s\n" , - (ioc->cujo20_bug ?"yes" :"no" )); +seq_printf (m,"Cujo 2.0 bug : %s\n" , + (ioc->cujo20_bug ?"yes" :"no" )); - len +=seq_printf (m,"IO PDIR size : %d bytes (%d entries)\n" , - total_pages *8 , total_pages); +seq_printf (m,"IO PDIR size : %d bytes (%d entries)\n" , + total_pages *8 , total_pages);#ifdef CCIO_COLLECT_STATS - len +=seq_printf (m,"IO PDIR entries : %ld free %ld used (%d%%)\n" , - total_pages - ioc->used_pages, ioc->used_pages, - (int )(ioc->used_pages *100 / total_pages)); +seq_printf (m,"IO PDIR entries : %ld free %ld used (%d%%)\n" , + total_pages - ioc->used_pages, ioc->used_pages, + (int )(ioc->used_pages *100 / total_pages));#endif - len +=seq_printf (m,"Resource bitmap : %d bytes (%d pages)\n" , - ioc->res_size, total_pages); +seq_printf (m,"Resource bitmap : %d bytes (%d pages)\n" , + ioc->res_size, total_pages);#ifdef CCIO_COLLECT_STATS min = max = ioc->avg_search[0 ];
@@ -1058,26 +1057,26 @@ static int ccio_proc_info(struct seq_file *m, void *p) min = ioc->avg_search[j]; } avg /=CCIO_SEARCH_SAMPLE ; - len +=seq_printf (m," Bitmap search : %ld/%ld/%ld (min/avg/max CPU Cycles)\n" , - min, avg, max); +seq_printf (m," Bitmap search : %ld/%ld/%ld (min/avg/max CPU Cycles)\n" , + min, avg, max); - len +=seq_printf (m,"pci_map_single(): %8ld calls %8ld pages (avg %d/1000)\n" , - ioc->msingle_calls, ioc->msingle_pages, - (int )((ioc->msingle_pages *1000 )/ioc->msingle_calls)); +seq_printf (m,"pci_map_single(): %8ld calls %8ld pages (avg %d/1000)\n" , + ioc->msingle_calls, ioc->msingle_pages, + (int )((ioc->msingle_pages *1000 )/ioc->msingle_calls));/* KLUGE - unmap_sg calls unmap_single for each mapped page */ min = ioc->usingle_calls - ioc->usg_calls; max = ioc->usingle_pages - ioc->usg_pages; - len +=seq_printf (m,"pci_unmap_single: %8ld calls %8ld pages (avg %d/1000)\n" , - min, max, (int )((max *1000 )/min)); +seq_printf (m,"pci_unmap_single: %8ld calls %8ld pages (avg %d/1000)\n" , + min, max, (int )((max *1000 )/min)); - len +=seq_printf (m,"pci_map_sg() : %8ld calls %8ld pages (avg %d/1000)\n" , - ioc->msg_calls, ioc->msg_pages, - (int )((ioc->msg_pages *1000 )/ioc->msg_calls)); +seq_printf (m,"pci_map_sg() : %8ld calls %8ld pages (avg %d/1000)\n" , + ioc->msg_calls, ioc->msg_pages, + (int )((ioc->msg_pages *1000 )/ioc->msg_calls)); - len +=seq_printf (m,"pci_unmap_sg() : %8ld calls %8ld pages (avg %d/1000)\n\n\n" , - ioc->usg_calls, ioc->usg_pages, - (int )((ioc->usg_pages *1000 )/ioc->usg_calls)); +seq_printf (m,"pci_unmap_sg() : %8ld calls %8ld pages (avg %d/1000)\n\n\n" , + ioc->usg_calls, ioc->usg_pages, + (int )((ioc->usg_pages *1000 )/ioc->usg_calls));#endif /* CCIO_COLLECT_STATS */ ioc = ioc->next;
@@ -1101,7 +1100,6 @@ static const struct file_operations ccio_proc_info_fops = {static int ccio_proc_bitmap_info (struct seq_file *m,void *p) { -int len =0 ;struct ioc *ioc = ioc_list;while (ioc !=NULL ) {
@@ -1110,11 +1108,11 @@ static int ccio_proc_bitmap_info(struct seq_file *m, void *p)for (j =0 ; j < (ioc->res_size /sizeof (u32)); j++) {if ((j &7 ) ==0 ) - len +=seq_puts (m,"\n " ); - len +=seq_printf (m,"%08x" , *res_ptr); +seq_puts (m,"\n " ); +seq_printf (m,"%08x" , *res_ptr); res_ptr++; } - len +=seq_puts (m,"\n\n" ); +seq_puts (m,"\n\n" ); ioc = ioc->next;break ;/* XXX - remove me */ }
drivers/parisc/sba_iommu.c +42 -44
119 lines not on this page · raw message
Signature · 1 line
2.1.2
PATCH 1/27 staging: lustre: Convert "return seq_printf(...)" uses
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Convert these "return seq_printf(...)" uses to:
seq_printf(seq, ...); return 0;
Done via cocci script:
@@
struct seq_file *seq;
@@
- return
\(seq_printf\|seq_puts\|seq_putc\)(seq, ...);
+ return 0;
With some additional reformatting and typing post conversion.
Miscellanea:
o convert an rc++ use to a bool
o use seq_puts with fixed strings where appropriate
--- drivers/staging/lustre/lustre/libcfs/hash.c | 11 +-- drivers/staging/lustre/lustre/llite/lproc_llite.c | 88 ++++++++++++---------- drivers/staging/lustre/lustre/lmv/lproc_lmv.c | 18 +++-- drivers/staging/lustre/lustre/lov/lproc_lov.c | 30 +++++--- .../lustre/lustre/obdclass/linux/linux-module.c | 38 ++++++---- .../lustre/lustre/obdclass/lprocfs_status.c | 26 ++++--- drivers/staging/lustre/lustre/obdclass/lu_object.c | 25 +++--- drivers/staging/lustre/lustre/osc/lproc_osc.c | 22 +++--- .../staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c | 20 +++-- 9 files changed, 163 insertions(+), 115 deletions(-)
drivers/staging/lustre/lustre/libcfs/hash.c +6 -5
@@ -2010,11 +2010,12 @@ EXPORT_SYMBOL(cfs_hash_rehash_key);int cfs_hash_debug_header (struct seq_file *m) { -return seq_printf (m,"%-*s%6s%6s%6s%6s%6s%6s%6s%7s%8s%8s%8s%s\n" , -CFS_HASH_BIGNAME_LEN , -"name" ,"cur" ,"min" ,"max" ,"theta" ,"t-min" ,"t-max" , -"flags" ,"rehash" ,"count" ,"maxdep" ,"maxdepb" , -" distribution" ); +seq_printf (m,"%-*s%6s%6s%6s%6s%6s%6s%6s%7s%8s%8s%8s%s\n" , +CFS_HASH_BIGNAME_LEN , +"name" ,"cur" ,"min" ,"max" ,"theta" ,"t-min" ,"t-max" , +"flags" ,"rehash" ,"count" ,"maxdep" ,"maxdepb" , +" distribution" ); +return 0 ; }EXPORT_SYMBOL (cfs_hash_debug_header);
drivers/staging/lustre/lustre/llite/lproc_llite.c +49 -39
173 lines not on this page · raw message
drivers/staging/lustre/lustre/lmv/lproc_lmv.c +12 -6
@@ -48,7 +48,8 @@ static int lmv_numobd_seq_show(struct seq_file *m, void *v)LASSERT (dev !=NULL ); desc = &dev->u.lmv.desc; -return seq_printf (m,"%u\n" , desc->ld_tgt_count); +seq_printf (m,"%u\n" , desc->ld_tgt_count); +return 0 ; }LPROC_SEQ_FOPS_RO (lmv_numobd);
@@ -82,7 +83,8 @@ static int lmv_placement_seq_show(struct seq_file *m, void *v)LASSERT (dev !=NULL ); lmv = &dev->u.lmv; -return seq_printf (m,"%s\n" ,placement_policy2name (lmv->lmv_placement)); +seq_printf (m,"%s\n" ,placement_policy2name (lmv->lmv_placement)); +return 0 ; }#define MAX_POLICY_STRING_SIZE 64
@@ -130,7 +132,8 @@ static int lmv_activeobd_seq_show(struct seq_file *m, void *v)LASSERT (dev !=NULL ); desc = &dev->u.lmv.desc; -return seq_printf (m,"%u\n" , desc->ld_active_tgt_count); +seq_printf (m,"%u\n" , desc->ld_active_tgt_count); +return 0 ; }LPROC_SEQ_FOPS_RO (lmv_activeobd);
@@ -141,7 +144,8 @@ static int lmv_desc_uuid_seq_show(struct seq_file *m, void *v)LASSERT (dev !=NULL ); lmv = &dev->u.lmv; -return seq_printf (m,"%s\n" , lmv->desc.ld_uuid.uuid); +seq_printf (m,"%s\n" , lmv->desc.ld_uuid.uuid); +return 0 ; }LPROC_SEQ_FOPS_RO (lmv_desc_uuid);
@@ -171,8 +175,10 @@ static int lmv_tgt_seq_show(struct seq_file *p, void *v)if (tgt ==NULL )return 0 ; -return seq_printf (p,"%d: %s %sACTIVE\n" , tgt->ltd_idx, - tgt->ltd_uuid.uuid, tgt->ltd_active ?"" :"IN" ); +seq_printf (p,"%d: %s %sACTIVE\n" , + tgt->ltd_idx, tgt->ltd_uuid.uuid, + tgt->ltd_active ?"" :"IN" ); +return 0 ; }static struct seq_operations lmv_tgt_sops = {
drivers/staging/lustre/lustre/lov/lproc_lov.c +19 -11
@@ -48,7 +48,8 @@ static int lov_stripesize_seq_show(struct seq_file *m, void *v)LASSERT (dev !=NULL ); desc = &dev->u.lov.desc; -return seq_printf (m,"%llu\n" , desc->ld_default_stripe_size); +seq_printf (m,"%llu\n" , desc->ld_default_stripe_size); +return 0 ; } static ssize_t lov_stripesize_seq_write(struct file *file,
@@ -79,7 +80,8 @@ static int lov_stripeoffset_seq_show(struct seq_file *m, void *v)LASSERT (dev !=NULL ); desc = &dev->u.lov.desc; -return seq_printf (m,"%llu\n" , desc->ld_default_stripe_offset); +seq_printf (m,"%llu\n" , desc->ld_default_stripe_offset); +return 0 ; } static ssize_t lov_stripeoffset_seq_write(struct file *file,
@@ -109,7 +111,8 @@ static int lov_stripetype_seq_show(struct seq_file *m, void *v)LASSERT (dev !=NULL ); desc = &dev->u.lov.desc; -return seq_printf (m,"%u\n" , desc->ld_pattern); +seq_printf (m,"%u\n" , desc->ld_pattern); +return 0 ; } static ssize_t lov_stripetype_seq_write(struct file *file,
@@ -139,8 +142,8 @@ static int lov_stripecount_seq_show(struct seq_file *m, void *v)LASSERT (dev !=NULL ); desc = &dev->u.lov.desc; -return seq_printf (m,"%d\n" , - (__s16)(desc->ld_default_stripe_count +1 ) -1 ); +seq_printf (m,"%d\n" , (__s16)(desc->ld_default_stripe_count +1 ) -1 ); +return 0 ; } static ssize_t lov_stripecount_seq_write(struct file *file,
@@ -170,7 +173,8 @@ static int lov_numobd_seq_show(struct seq_file *m, void *v)LASSERT (dev !=NULL ); desc = &dev->u.lov.desc; -return seq_printf (m,"%u\n" , desc->ld_tgt_count); +seq_printf (m,"%u\n" , desc->ld_tgt_count); +return 0 ; }LPROC_SEQ_FOPS_RO (lov_numobd);
@@ -181,7 +185,8 @@ static int lov_activeobd_seq_show(struct seq_file *m, void *v)LASSERT (dev !=NULL ); desc = &dev->u.lov.desc; -return seq_printf (m,"%u\n" , desc->ld_active_tgt_count); +seq_printf (m,"%u\n" , desc->ld_active_tgt_count); +return 0 ; }LPROC_SEQ_FOPS_RO (lov_activeobd);
@@ -192,7 +197,8 @@ static int lov_desc_uuid_seq_show(struct seq_file *m, void *v)LASSERT (dev !=NULL ); lov = &dev->u.lov; -return seq_printf (m,"%s\n" , lov->desc.ld_uuid.uuid); +seq_printf (m,"%s\n" , lov->desc.ld_uuid.uuid); +return 0 ; }LPROC_SEQ_FOPS_RO (lov_desc_uuid);
@@ -228,9 +234,11 @@ static void *lov_tgt_seq_next(struct seq_file *p, void *v, loff_t *pos)static int lov_tgt_seq_show (struct seq_file *p,void *v) {struct lov_tgt_desc *tgt = v; -return seq_printf (p,"%d: %s %sACTIVE\n" , tgt->ltd_index, -obd_uuid2str (&tgt->ltd_uuid), - tgt->ltd_active ?"" :"IN" ); + +seq_printf (p,"%d: %s %sACTIVE\n" , + tgt->ltd_index,obd_uuid2str (&tgt->ltd_uuid), + tgt->ltd_active ?"" :"IN" ); +return 0 ; }struct seq_operations lov_tgt_sops = {
drivers/staging/lustre/lustre/obdclass/linux/linux-module.c +22 -16
@@ -219,21 +219,23 @@ struct miscdevice obd_psdev = {#if defined (CONFIG_PROC_FS )int obd_proc_version_seq_show (struct seq_file *m,void *v) { -return seq_printf (m,"lustre: %s\nkernel: %s\nbuild: %s\n" , -LUSTRE_VERSION_STRING ,"patchless_client" , -BUILD_VERSION ); +seq_printf (m,"lustre: %s\nkernel: %s\nbuild: %s\n" , +LUSTRE_VERSION_STRING ,"patchless_client" ,BUILD_VERSION ); +return 0 ; }LPROC_SEQ_FOPS_RO (obd_proc_version);int obd_proc_pinger_seq_show (struct seq_file *m,void *v) { -return seq_printf (m,"%s\n" ,"on" ); +seq_printf (m,"%s\n" ,"on" ); +return 0 ; }LPROC_SEQ_FOPS_RO (obd_proc_pinger);static int obd_proc_health_seq_show (struct seq_file *m,void *v) { -int rc =0 , i; +bool healthy = true; +int i;if (libcfs_catastrophe)seq_printf (m,"LBUG\n" );
@@ -255,25 +257,27 @@ static int obd_proc_health_seq_show(struct seq_file *m, void *v)if (obd_health_check (NULL , obd)) {seq_printf (m,"device %s reported unhealthy\n" , - obd->obd_name); - rc++; + obd->obd_name); + healthy = false; }class_decref (obd, __func__, current);read_lock (&obd_dev_lock); }read_unlock (&obd_dev_lock); -if (rc ==0 ) -return seq_printf (m,"healthy\n" ); +if (healthy) +seq_puts (m,"healthy\n" ); +else +seq_puts (m,"NOT HEALTHY\n" ); -seq_printf (m,"NOT HEALTHY\n" );return 0 ; }LPROC_SEQ_FOPS_RO (obd_proc_health);static int obd_proc_jobid_var_seq_show (struct seq_file *m,void *v) { -return seq_printf (m,"%s\n" , obd_jobid_var); +seq_printf (m,"%s\n" , obd_jobid_var); +return 0 ; } static ssize_t obd_proc_jobid_var_seq_write(struct file *file,
@@ -299,7 +303,8 @@ LPROC_SEQ_FOPS(obd_proc_jobid_var);static int obd_proc_jobid_name_seq_show (struct seq_file *m,void *v) { -return seq_printf (m,"%s\n" , obd_jobid_var); +seq_printf (m,"%s\n" , obd_jobid_var); +return 0 ; } static ssize_t obd_proc_jobid_name_seq_write(struct file *file,
@@ -378,10 +383,11 @@ static int obd_device_list_seq_show(struct seq_file *p, void *v)else status ="--" ; -return seq_printf (p,"%3d %s %s %s %s %d\n" , - (int )index, status, obd->obd_type->typ_name, - obd->obd_name, obd->obd_uuid.uuid, -atomic_read (&obd->obd_refcount)); +seq_printf (p,"%3d %s %s %s %s %d\n" , + (int )index, status, obd->obd_type->typ_name, + obd->obd_name, obd->obd_uuid.uuid, +atomic_read (&obd->obd_refcount)); +return 0 ; }struct seq_operations obd_device_list_sops = {
drivers/staging/lustre/lustre/obdclass/lprocfs_status.c +17 -9
@@ -377,7 +377,8 @@ EXPORT_SYMBOL(lprocfs_register);/* Generic callbacks */ int lprocfs_rd_uint (struct seq_file *m,void *data) { -return seq_printf (m,"%u\n" , *(unsigned int *)data); +seq_printf (m,"%u\n" , *(unsigned int *)data); +return 0 ; }EXPORT_SYMBOL (lprocfs_rd_uint);
@@ -403,7 +404,8 @@ EXPORT_SYMBOL(lprocfs_wr_uint);int lprocfs_rd_u64 (struct seq_file *m,void *data) { -return seq_printf (m,"%llu\n" , *(__u64 *)data); +seq_printf (m,"%llu\n" , *(__u64 *)data); +return 0 ; }EXPORT_SYMBOL (lprocfs_rd_u64);
@@ -411,7 +413,8 @@ int lprocfs_rd_atomic(struct seq_file *m, void *data) {atomic_t *atom = data;LASSERT (atom !=NULL ); -return seq_printf (m,"%d\n" ,atomic_read (atom)); +seq_printf (m,"%d\n" ,atomic_read (atom)); +return 0 ; }EXPORT_SYMBOL (lprocfs_rd_atomic);
@@ -439,7 +442,8 @@ int lprocfs_rd_uuid(struct seq_file *m, void *data)struct obd_device *obd = data;LASSERT (obd !=NULL ); -return seq_printf (m,"%s\n" , obd->obd_uuid.uuid); +seq_printf (m,"%s\n" , obd->obd_uuid.uuid); +return 0 ; }EXPORT_SYMBOL (lprocfs_rd_uuid);
@@ -448,7 +452,8 @@ int lprocfs_rd_name(struct seq_file *m, void *data)struct obd_device *dev = data;LASSERT (dev !=NULL ); -return seq_printf (m,"%s\n" , dev->obd_name); +seq_printf (m,"%s\n" , dev->obd_name); +return 0 ; }EXPORT_SYMBOL (lprocfs_rd_name);
@@ -924,7 +929,8 @@ int lprocfs_rd_num_exports(struct seq_file *m, void *data)struct obd_device *obd = data;LASSERT (obd !=NULL ); -return seq_printf (m,"%u\n" , obd->obd_num_exports); +seq_printf (m,"%u\n" , obd->obd_num_exports); +return 0 ; }EXPORT_SYMBOL (lprocfs_rd_num_exports);
@@ -933,7 +939,8 @@ int lprocfs_rd_numrefs(struct seq_file *m, void *data)struct obd_type *class = (struct obd_type *) data;LASSERT (class !=NULL ); -return seq_printf (m,"%d\n" , class->typ_refcnt); +seq_printf (m,"%d\n" , class->typ_refcnt); +return 0 ; }EXPORT_SYMBOL (lprocfs_rd_numrefs);
@@ -1606,8 +1613,9 @@ LPROC_SEQ_FOPS_RO(lproc_exp_hash);int lprocfs_nid_stats_clear_read (struct seq_file *m,void *data) { -return seq_printf (m,"%s\n" , -"Write into this file to clear all nid stats and stale nid entries" ); +seq_printf (m,"%s\n" , +"Write into this file to clear all nid stats and stale nid entries" ); +return 0 ; }EXPORT_SYMBOL (lprocfs_nid_stats_clear_read);
drivers/staging/lustre/lustre/obdclass/lu_object.c +13 -12
@@ -2014,18 +2014,19 @@ int lu_site_stats_print(const struct lu_site *s, struct seq_file *m)memset (&stats,0 ,sizeof (stats));lu_site_stats_get (s->ls_obj_hash, &stats,1 ); -return seq_printf (m,"%d/%d %d/%d %d %d %d %d %d %d %d\n" , - stats.lss_busy, - stats.lss_total, - stats.lss_populated, -CFS_HASH_NHLIST (s->ls_obj_hash), - stats.lss_max_search, -ls_stats_read (s->ls_stats,LU_SS_CREATED ), -ls_stats_read (s->ls_stats,LU_SS_CACHE_HIT ), -ls_stats_read (s->ls_stats,LU_SS_CACHE_MISS ), -ls_stats_read (s->ls_stats,LU_SS_CACHE_RACE ), -ls_stats_read (s->ls_stats,LU_SS_CACHE_DEATH_RACE ), -ls_stats_read (s->ls_stats,LU_SS_LRU_PURGED )); +seq_printf (m,"%d/%d %d/%d %d %d %d %d %d %d %d\n" , + stats.lss_busy, + stats.lss_total, + stats.lss_populated, +CFS_HASH_NHLIST (s->ls_obj_hash), + stats.lss_max_search, +ls_stats_read (s->ls_stats,LU_SS_CREATED ), +ls_stats_read (s->ls_stats,LU_SS_CACHE_HIT ), +ls_stats_read (s->ls_stats,LU_SS_CACHE_MISS ), +ls_stats_read (s->ls_stats,LU_SS_CACHE_RACE ), +ls_stats_read (s->ls_stats,LU_SS_CACHE_DEATH_RACE ), +ls_stats_read (s->ls_stats,LU_SS_LRU_PURGED )); +return 0 ; }EXPORT_SYMBOL (lu_site_stats_print);
drivers/staging/lustre/lustre/osc/lproc_osc.c +13 -9
@@ -289,8 +289,8 @@ static int osc_grant_shrink_interval_seq_show(struct seq_file *m, void *v)if (obd ==NULL )return 0 ; -return seq_printf (m,"%d\n" , - obd->u.cli.cl_grant_shrink_interval); +seq_printf (m,"%d\n" , obd->u.cli.cl_grant_shrink_interval); +return 0 ; } static ssize_t osc_grant_shrink_interval_seq_write(struct file *file,
@@ -323,8 +323,8 @@ static int osc_checksum_seq_show(struct seq_file *m, void *v)if (obd ==NULL )return 0 ; -return seq_printf (m,"%d\n" , - obd->u.cli.cl_checksum ?1 :0 ); +seq_printf (m,"%d\n" , obd->u.cli.cl_checksum ?1 :0 ); +return 0 ; } static ssize_t osc_checksum_seq_write(struct file *file,
@@ -405,7 +405,8 @@ static int osc_resend_count_seq_show(struct seq_file *m, void *v) {struct obd_device *obd = m->private; -return seq_printf (m,"%u\n" ,atomic_read (&obd->u.cli.cl_resends)); +seq_printf (m,"%u\n" ,atomic_read (&obd->u.cli.cl_resends)); +return 0 ; } static ssize_t osc_resend_count_seq_write(struct file *file,
@@ -433,7 +434,8 @@ static int osc_contention_seconds_seq_show(struct seq_file *m, void *v)struct obd_device *obd = m->private;struct osc_device *od =obd2osc_dev (obd); -return seq_printf (m,"%u\n" , od->od_contention_time); +seq_printf (m,"%u\n" , od->od_contention_time); +return 0 ; } static ssize_t osc_contention_seconds_seq_write(struct file *file,
@@ -453,7 +455,8 @@ static int osc_lockless_truncate_seq_show(struct seq_file *m, void *v)struct obd_device *obd = m->private;struct osc_device *od =obd2osc_dev (obd); -return seq_printf (m,"%u\n" , od->od_lockless_truncate); +seq_printf (m,"%u\n" , od->od_lockless_truncate); +return 0 ; } static ssize_t osc_lockless_truncate_seq_write(struct file *file,
@@ -471,8 +474,9 @@ LPROC_SEQ_FOPS(osc_lockless_truncate);static int osc_destroys_in_flight_seq_show (struct seq_file *m,void *v) {struct obd_device *obd = m->private; -return seq_printf (m,"%u\n" , -atomic_read (&obd->u.cli.cl_destroy_in_flight)); + +seq_printf (m,"%u\n" ,atomic_read (&obd->u.cli.cl_destroy_in_flight)); +return 0 ; }LPROC_SEQ_FOPS_RO (osc_destroys_in_flight);
drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c +12 -8
@@ -267,7 +267,8 @@ ptlrpc_lprocfs_req_history_len_seq_show(struct seq_file *m, void *v)ptlrpc_service_for_each_part (svcpt, i, svc) total += svcpt->scp_hist_nrqbds; -return seq_printf (m,"%d\n" , total); +seq_printf (m,"%d\n" , total); +return 0 ; }LPROC_SEQ_FOPS_RO (ptlrpc_lprocfs_req_history_len);
@@ -282,7 +283,8 @@ ptlrpc_lprocfs_req_history_max_seq_show(struct seq_file *m, void *n)ptlrpc_service_for_each_part (svcpt, i, svc) total += svc->srv_hist_nrqbds_cpt_max; -return seq_printf (m,"%d\n" , total); +seq_printf (m,"%d\n" , total); +return 0 ; } static ssize_t
@@ -327,8 +329,8 @@ ptlrpc_lprocfs_threads_min_seq_show(struct seq_file *m, void *n) {struct ptlrpc_service *svc = m->private; -return seq_printf (m,"%d\n" , - svc->srv_nthrs_cpt_init * svc->srv_ncpts); +seq_printf (m,"%d\n" , svc->srv_nthrs_cpt_init * svc->srv_ncpts); +return 0 ; } static ssize_t
@@ -371,7 +373,8 @@ ptlrpc_lprocfs_threads_started_seq_show(struct seq_file *m, void *n)ptlrpc_service_for_each_part (svcpt, i, svc) total += svcpt->scp_nthrs_running; -return seq_printf (m,"%d\n" , total); +seq_printf (m,"%d\n" , total); +return 0 ; }LPROC_SEQ_FOPS_RO (ptlrpc_lprocfs_threads_started);
@@ -380,8 +383,8 @@ ptlrpc_lprocfs_threads_max_seq_show(struct seq_file *m, void *n) {struct ptlrpc_service *svc = m->private; -return seq_printf (m,"%d\n" , - svc->srv_nthrs_cpt_limit * svc->srv_ncpts); +seq_printf (m,"%d\n" , svc->srv_nthrs_cpt_limit * svc->srv_ncpts); +return 0 ; } static ssize_t
@@ -1026,7 +1029,8 @@ LPROC_SEQ_FOPS_RO(ptlrpc_lprocfs_timeouts);static int ptlrpc_lprocfs_hp_ratio_seq_show (struct seq_file *m,void *v) {struct ptlrpc_service *svc = m->private; -return seq_printf (m,"%d" , svc->srv_hpreq_ratio); +seq_printf (m,"%d" , svc->srv_hpreq_ratio); +return 0 ; } static ssize_t ptlrpc_lprocfs_hp_ratio_seq_write(struct file *file,
Signature · 1 line
2.1.2
PATCH 3/27 staging: lustre: Convert uses of "int rc = seq_printf(...)"
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Convert these uses to:
seq_printf(seq, ...); return 0;
Done via cocci script:
@@
struct seq_file *seq;
int i;
@@
- i = seq_printf(seq,
+ seq_printf(seq,
...); ...
- return i;
+ return 0;
@@
struct seq_file *seq;
int i;
@@
- i = 0;
- i += seq_printf(seq,
+ seq_printf(seq,
...); ...
- return i;
+ return 0;
With some additional reformatting and typing post conversion to remove the now unnecessary "int i;" declaration.
--- drivers/staging/lustre/lustre/fid/lproc_fid.c | 23 +++--- drivers/staging/lustre/lustre/llite/lproc_llite.c | 5 +- drivers/staging/lustre/lustre/mdc/lproc_mdc.c | 6 +- drivers/staging/lustre/lustre/osc/lproc_osc.c | 45 ++++++------ .../staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c | 5 +- drivers/staging/lustre/lustre/ptlrpc/sec_bulk.c | 82 +++++++++++----------- 6 files changed, 79 insertions(+), 87 deletions(-)
drivers/staging/lustre/lustre/fid/lproc_fid.c +10 -13
@@ -120,15 +120,14 @@ static int lprocfs_fid_space_seq_show(struct seq_file *m, void *unused) { struct lu_client_seq *seq = (struct lu_client_seq *)m->private; -int rc;LASSERT (seq !=NULL );mutex_lock (&seq->lcs_mutex); - rc =seq_printf (m,"[%#llx - %#llx]:%x:%s\n" ,PRANGE (&seq->lcs_space)); +seq_printf (m,"[%#llx - %#llx]:%x:%s\n" ,PRANGE (&seq->lcs_space));mutex_unlock (&seq->lcs_mutex); -return rc; +return 0 ; } static ssize_t lprocfs_fid_width_seq_write(struct file *file,
@@ -170,30 +169,28 @@ static int lprocfs_fid_width_seq_show(struct seq_file *m, void *unused) { struct lu_client_seq *seq = (struct lu_client_seq *)m->private; -int rc;LASSERT (seq !=NULL );mutex_lock (&seq->lcs_mutex); - rc =seq_printf (m,"%llu\n" , seq->lcs_width); +seq_printf (m,"%llu\n" , seq->lcs_width);mutex_unlock (&seq->lcs_mutex); -return rc; +return 0 ; }static int lprocfs_fid_fid_seq_show (struct seq_file *m,void *unused) {struct lu_client_seq *seq = (struct lu_client_seq *)m->private; -int rc;LASSERT (seq !=NULL );mutex_lock (&seq->lcs_mutex); - rc =seq_printf (m,DFID "\n" ,PFID (&seq->lcs_fid)); +seq_printf (m,DFID "\n" ,PFID (&seq->lcs_fid));mutex_unlock (&seq->lcs_mutex); -return rc; +return 0 ; } static int
@@ -201,17 +198,17 @@ lprocfs_fid_server_seq_show(struct seq_file *m, void *unused) {struct lu_client_seq *seq = (struct lu_client_seq *)m->private;struct client_obd *cli; -int rc;LASSERT (seq !=NULL );if (seq->lcs_exp !=NULL ) { cli = &seq->lcs_exp->exp_obd->u.cli; - rc =seq_printf (m,"%s\n" , cli->cl_target_uuid.uuid); +seq_printf (m,"%s\n" , cli->cl_target_uuid.uuid); }else { - rc =seq_printf (m,"%s\n" , seq->lcs_srv->lss_name); +seq_printf (m,"%s\n" , seq->lcs_srv->lss_name); } -return rc; + +return 0 ; }LPROC_SEQ_FOPS (lprocfs_fid_space);
drivers/staging/lustre/lustre/llite/lproc_llite.c +2 -3
@@ -799,11 +799,10 @@ static int ll_xattr_cache_seq_show(struct seq_file *m, void *v) {struct super_block *sb = m->private;struct ll_sb_info *sbi =ll_s2sbi (sb); -int rc; - rc =seq_printf (m,"%u\n" , sbi->ll_xattr_cache_enabled); +seq_printf (m,"%u\n" , sbi->ll_xattr_cache_enabled); -return rc; +return 0 ; } static ssize_t ll_xattr_cache_seq_write(struct file *file,
drivers/staging/lustre/lustre/mdc/lproc_mdc.c +3 -3
@@ -43,12 +43,12 @@ static int mdc_max_rpcs_in_flight_seq_show(struct seq_file *m, void *v) {struct obd_device *dev = m->private;struct client_obd *cli = &dev->u.cli; -int rc;client_obd_list_lock (&cli->cl_loi_list_lock); - rc =seq_printf (m,"%u\n" , cli->cl_max_rpcs_in_flight); +seq_printf (m,"%u\n" , cli->cl_max_rpcs_in_flight);client_obd_list_unlock (&cli->cl_loi_list_lock); -return rc; + +return 0 ; } static ssize_t mdc_max_rpcs_in_flight_seq_write(struct file *file,
drivers/staging/lustre/lustre/osc/lproc_osc.c +22 -23
98 lines not on this page · raw message
drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c +2 -3
@@ -1328,13 +1328,12 @@ int lprocfs_rd_pinger_recov(struct seq_file *m, void *n) {struct obd_device *obd = m->private;struct obd_import *imp = obd->u.cli.cl_import; -int rc;LPROCFS_CLIMP_CHECK (obd); - rc =seq_printf (m,"%d\n" , !imp->imp_no_pinger_recover); +seq_printf (m,"%d\n" , !imp->imp_no_pinger_recover);LPROCFS_CLIMP_EXIT (obd); -return rc; +return 0 ; }EXPORT_SYMBOL (lprocfs_rd_pinger_recov);
drivers/staging/lustre/lustre/ptlrpc/sec_bulk.c +40 -42
92 lines not on this page · raw message
Signature · 1 line
2.1.2
PATCH 6/27 power: wakeup: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- drivers/base/power/wakeup.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-)
drivers/base/power/wakeup.c +7 -9
@@ -842,7 +842,6 @@ static int print_wakeup_source_stats(struct seq_file *m,unsigned long active_count;ktime_t active_time;ktime_t prevent_sleep_time; -int ret;spin_lock_irqsave (&ws->lock, flags);
@@ -865,17 +864,16 @@ static int print_wakeup_source_stats(struct seq_file *m, active_time =ktime_set (0 ,0 ); } - ret =seq_printf (m,"%-12s\t%lu\t\t%lu\t\t%lu\t\t%lu\t\t" -"%lld\t\t%lld\t\t%lld\t\t%lld\t\t%lld\n" , - ws->name, active_count, ws->event_count, - ws->wakeup_count, ws->expire_count, -ktime_to_ms (active_time),ktime_to_ms (total_time), -ktime_to_ms (max_time),ktime_to_ms (ws->last_time), -ktime_to_ms (prevent_sleep_time)); +seq_printf (m,"%-12s\t%lu\t\t%lu\t\t%lu\t\t%lu\t\t%lld\t\t%lld\t\t%lld\t\t%lld\t\t%lld\n" , + ws->name, active_count, ws->event_count, + ws->wakeup_count, ws->expire_count, +ktime_to_ms (active_time),ktime_to_ms (total_time), +ktime_to_ms (max_time),ktime_to_ms (ws->last_time), +ktime_to_ms (prevent_sleep_time));spin_unlock_irqrestore (&ws->lock, flags); -return ret; +return 0 ; }/**
Signature · 1 line
2.1.2
PATCH 5/27 x86: mtrr: if: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- arch/x86/kernel/cpu/mtrr/if.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-)
arch/x86/kernel/cpu/mtrr/if.c +5 -7
@@ -404,11 +404,10 @@ static const struct file_operations mtrr_fops = {static int mtrr_seq_show (struct seq_file *seq,void *offset) {char factor; -int i, max, len; +int i, max;mtrr_type type;unsigned long base, size; - len =0 ; max = num_var_ranges;for (i =0 ; i < max; i++) { mtrr_if->get (i, &base, &size, &type);
@@ -425,11 +424,10 @@ static int mtrr_seq_show(struct seq_file *seq, void *offset) size >>=20 -PAGE_SHIFT ; }/* Base can be > 32bit */ - len +=seq_printf (seq,"reg%02i: base=0x%06lx000 " -"(%5luMB), size=%5lu%cB, count=%d: %s\n" , - i, base, base >> (20 -PAGE_SHIFT ), size, - factor, mtrr_usage_table[i], -mtrr_attrib_to_str (type)); +seq_printf (seq,"reg%02i: base=0x%06lx000 (%5luMB), size=%5lu%cB, count=%d: %s\n" , + i, base, base >> (20 -PAGE_SHIFT ), + size, factor, + mtrr_usage_table[i],mtrr_attrib_to_str (type)); }return 0 ; }
Signature · 1 line
2.1.2
PATCH 7/27 ipmi: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- drivers/char/ipmi/ipmi_msghandler.c | 12 ++++++++---- drivers/char/ipmi/ipmi_si_intf.c | 26 +++++++++++++++----------- drivers/char/ipmi/ipmi_ssif.c | 4 +++- 3 files changed, 26 insertions(+), 16 deletions(-)
drivers/char/ipmi/ipmi_msghandler.c +8 -4
@@ -1997,7 +1997,9 @@ static int smi_ipmb_proc_show(struct seq_file *m, void *v)seq_printf (m,"%x" , intf->channels[0 ].address);for (i =1 ; i <IPMI_MAX_CHANNELS ; i++)seq_printf (m," %x" , intf->channels[i].address); -return seq_putc (m,'\n' ); +seq_putc (m,'\n' ); + +return 0 ; }static int smi_ipmb_proc_open (struct inode *inode,struct file *file)
@@ -2016,9 +2018,11 @@ static int smi_version_proc_show(struct seq_file *m, void *v) {ipmi_smi_t intf = m->private; -return seq_printf (m,"%u.%u\n" , -ipmi_version_major (&intf->bmc->id), -ipmi_version_minor (&intf->bmc->id)); +seq_printf (m,"%u.%u\n" , +ipmi_version_major (&intf->bmc->id), +ipmi_version_minor (&intf->bmc->id)); + +return 0 ; }static int smi_version_proc_open (struct inode *inode,struct file *file)
drivers/char/ipmi/ipmi_si_intf.c +15 -11
@@ -2979,7 +2979,9 @@ static int smi_type_proc_show(struct seq_file *m, void *v) {struct smi_info *smi = m->private; -return seq_printf (m,"%s\n" , si_to_str[smi->si_type]); +seq_printf (m,"%s\n" , si_to_str[smi->si_type]); + +return 0 ; }static int smi_type_proc_open (struct inode *inode,struct file *file)
@@ -3041,16 +3043,18 @@ static int smi_params_proc_show(struct seq_file *m, void *v) {struct smi_info *smi = m->private; -return seq_printf (m, -"%s,%s,0x%lx,rsp=%d,rsi=%d,rsh=%d,irq=%d,ipmb=%d\n" , - si_to_str[smi->si_type], - addr_space_to_str[smi->io.addr_type], - smi->io.addr_data, - smi->io.regspacing, - smi->io.regsize, - smi->io.regshift, - smi->irq, - smi->slave_addr); +seq_printf (m, +"%s,%s,0x%lx,rsp=%d,rsi=%d,rsh=%d,irq=%d,ipmb=%d\n" , + si_to_str[smi->si_type], + addr_space_to_str[smi->io.addr_type], + smi->io.addr_data, + smi->io.regspacing, + smi->io.regsize, + smi->io.regshift, + smi->irq, + smi->slave_addr); + +return 0 ; }static int smi_params_proc_open (struct inode *inode,struct file *file)
drivers/char/ipmi/ipmi_ssif.c +3 -1
@@ -1196,7 +1196,9 @@ static int ssif_detect(struct i2c_client *client, struct i2c_board_info *info)static int smi_type_proc_show (struct seq_file *m,void *v) { -return seq_puts (m,"ssif\n" ); +seq_puts (m,"ssif\n" ); + +return 0 ; }static int smi_type_proc_open (struct inode *inode,struct file *file)
Signature · 1 line
2.1.2
PATCH 9/27 ipc: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- ipc/msg.c | 34 ++++++++++++++++++---------------- ipc/sem.c | 26 ++++++++++++++------------ ipc/shm.c | 42 ++++++++++++++++++++++-------------------- ipc/util.c | 6 ++++-- 4 files changed, 58 insertions(+), 50 deletions(-)
ipc/msg.c +18 -16
@@ -1015,22 +1015,24 @@ static int sysvipc_msg_proc_show(struct seq_file *s, void *it)struct user_namespace *user_ns =seq_user_ns (s);struct msg_queue *msq = it; -return seq_printf (s, -"%10d %10d %4o %10lu %10lu %5u %5u %5u %5u %5u %5u %10lu %10lu %10lu\n" , - msq->q_perm.key, - msq->q_perm.id, - msq->q_perm.mode, - msq->q_cbytes, - msq->q_qnum, - msq->q_lspid, - msq->q_lrpid, -from_kuid_munged (user_ns, msq->q_perm.uid), -from_kgid_munged (user_ns, msq->q_perm.gid), -from_kuid_munged (user_ns, msq->q_perm.cuid), -from_kgid_munged (user_ns, msq->q_perm.cgid), - msq->q_stime, - msq->q_rtime, - msq->q_ctime); +seq_printf (s, +"%10d %10d %4o %10lu %10lu %5u %5u %5u %5u %5u %5u %10lu %10lu %10lu\n" , + msq->q_perm.key, + msq->q_perm.id, + msq->q_perm.mode, + msq->q_cbytes, + msq->q_qnum, + msq->q_lspid, + msq->q_lrpid, +from_kuid_munged (user_ns, msq->q_perm.uid), +from_kgid_munged (user_ns, msq->q_perm.gid), +from_kuid_munged (user_ns, msq->q_perm.cuid), +from_kgid_munged (user_ns, msq->q_perm.cgid), + msq->q_stime, + msq->q_rtime, + msq->q_ctime); + + return 0; }#endif
ipc/sem.c +14 -12
@@ -2170,17 +2170,19 @@ static int sysvipc_sem_proc_show(struct seq_file *s, void *it) sem_otime =get_semotime (sma); -return seq_printf (s, -"%10d %10d %4o %10u %5u %5u %5u %5u %10lu %10lu\n" , - sma->sem_perm.key, - sma->sem_perm.id, - sma->sem_perm.mode, - sma->sem_nsems, -from_kuid_munged (user_ns, sma->sem_perm.uid), -from_kgid_munged (user_ns, sma->sem_perm.gid), -from_kuid_munged (user_ns, sma->sem_perm.cuid), -from_kgid_munged (user_ns, sma->sem_perm.cgid), - sem_otime, - sma->sem_ctime); +seq_printf (s, +"%10d %10d %4o %10u %5u %5u %5u %5u %10lu %10lu\n" , + sma->sem_perm.key, + sma->sem_perm.id, + sma->sem_perm.mode, + sma->sem_nsems, +from_kuid_munged (user_ns, sma->sem_perm.uid), +from_kgid_munged (user_ns, sma->sem_perm.gid), +from_kuid_munged (user_ns, sma->sem_perm.cuid), +from_kgid_munged (user_ns, sma->sem_perm.cgid), + sem_otime, + sma->sem_ctime); + + return 0; }#endif
ipc/shm.c +22 -20
47 lines not on this page · raw message
ipc/util.c +4 -2
@@ -837,8 +837,10 @@ static int sysvipc_proc_show(struct seq_file *s, void *it)struct ipc_proc_iter *iter = s->private;struct ipc_proc_iface *iface = iter->iface; -if (it ==SEQ_START_TOKEN ) -return seq_puts (s, iface->header); +if (it ==SEQ_START_TOKEN ) { +seq_puts (s, iface->header); +return 0 ; + }return iface->show (s, it); }
Signature · 1 line
2.1.2
PATCH 12/27 nios2: cpuinfo: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- arch/nios2/kernel/cpuinfo.c | 77 ++++++++++++++++++++++----------------------- 1 file changed, 38 insertions(+), 39 deletions(-)
arch/nios2/kernel/cpuinfo.c +38 -39
@@ -126,47 +126,46 @@ void __init setup_cpuinfo(void)*/ static int show_cpuinfo (struct seq_file *m,void *v) { -int count =0 ;const u32 clockfreq = cpuinfo.cpu_clock_freq; - count =seq_printf (m, -"CPU:\t\tNios II/%s\n" -"MMU:\t\t%s\n" -"FPU:\t\tnone\n" -"Clocking:\t%u.%02u MHz\n" -"BogoMips:\t%lu.%02lu\n" -"Calibration:\t%lu loops\n" , - cpuinfo.cpu_impl, - cpuinfo.mmu ?"present" :"none" , - clockfreq /1000000 , (clockfreq /100000 ) %10 , - (loops_per_jiffy *HZ ) /500000 , - ((loops_per_jiffy *HZ ) /5000 ) %100 , - (loops_per_jiffy *HZ )); - - count +=seq_printf (m, -"HW:\n" -" MUL:\t\t%s\n" -" MULX:\t\t%s\n" -" DIV:\t\t%s\n" , - cpuinfo.has_mul ?"yes" :"no" , - cpuinfo.has_mulx ?"yes" :"no" , - cpuinfo.has_div ?"yes" :"no" ); - - count +=seq_printf (m, -"Icache:\t\t%ukB, line length: %u\n" , - cpuinfo.icache_size >>10 , - cpuinfo.icache_line_size); - - count +=seq_printf (m, -"Dcache:\t\t%ukB, line length: %u\n" , - cpuinfo.dcache_size >>10 , - cpuinfo.dcache_line_size); - - count +=seq_printf (m, -"TLB:\t\t%u ways, %u entries, %u PID bits\n" , - cpuinfo.tlb_num_ways, - cpuinfo.tlb_num_entries, - cpuinfo.tlb_pid_num_bits); +seq_printf (m, +"CPU:\t\tNios II/%s\n" +"MMU:\t\t%s\n" +"FPU:\t\tnone\n" +"Clocking:\t%u.%02u MHz\n" +"BogoMips:\t%lu.%02lu\n" +"Calibration:\t%lu loops\n" , + cpuinfo.cpu_impl, + cpuinfo.mmu ?"present" :"none" , + clockfreq /1000000 , (clockfreq /100000 ) %10 , + (loops_per_jiffy *HZ ) /500000 , + ((loops_per_jiffy *HZ ) /5000 ) %100 , + (loops_per_jiffy *HZ )); + +seq_printf (m, +"HW:\n" +" MUL:\t\t%s\n" +" MULX:\t\t%s\n" +" DIV:\t\t%s\n" , + cpuinfo.has_mul ?"yes" :"no" , + cpuinfo.has_mulx ?"yes" :"no" , + cpuinfo.has_div ?"yes" :"no" ); + +seq_printf (m, +"Icache:\t\t%ukB, line length: %u\n" , + cpuinfo.icache_size >>10 , + cpuinfo.icache_line_size); + +seq_printf (m, +"Dcache:\t\t%ukB, line length: %u\n" , + cpuinfo.dcache_size >>10 , + cpuinfo.dcache_line_size); + +seq_printf (m, +"TLB:\t\t%u ways, %u entries, %u PID bits\n" , + cpuinfo.tlb_num_ways, + cpuinfo.tlb_num_entries, + cpuinfo.tlb_pid_num_bits);return 0 ; }
Signature · 1 line
2.1.2
PATCH 11/27 microblaze: mb: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- arch/microblaze/kernel/cpu/mb.c | 149 ++++++++++++++++++++-------------------- 1 file changed, 73 insertions(+), 76 deletions(-)
arch/microblaze/kernel/cpu/mb.c +73 -76
@@ -27,7 +27,6 @@static int show_cpuinfo (struct seq_file *m,void *v) { -int count =0 ;char *fpga_family ="Unknown" ;char *cpu_ver ="Unknown" ;int i;
@@ -48,91 +47,89 @@ static int show_cpuinfo(struct seq_file *m, void *v) } } - count =seq_printf (m, -"CPU-Family: MicroBlaze\n" -"FPGA-Arch: %s\n" -"CPU-Ver: %s, %s endian\n" -"CPU-MHz: %d.%02d\n" -"BogoMips: %lu.%02lu\n" , - fpga_family, - cpu_ver, - cpuinfo.endian ?"little" :"big" , - cpuinfo.cpu_clock_freq / -1000000 , - cpuinfo.cpu_clock_freq % -1000000 , - loops_per_jiffy / (500000 /HZ ), - (loops_per_jiffy / (5000 /HZ )) %100 ); - - count +=seq_printf (m, -"HW:\n Shift:\t\t%s\n" -" MSR:\t\t%s\n" -" PCMP:\t\t%s\n" -" DIV:\t\t%s\n" , - (cpuinfo.use_instr &PVR0_USE_BARREL_MASK ) ?"yes" :"no" , - (cpuinfo.use_instr &PVR2_USE_MSR_INSTR ) ?"yes" :"no" , - (cpuinfo.use_instr &PVR2_USE_PCMP_INSTR ) ?"yes" :"no" , - (cpuinfo.use_instr &PVR0_USE_DIV_MASK ) ?"yes" :"no" ); - - count +=seq_printf (m, -" MMU:\t\t%x\n" , - cpuinfo.mmu); - - count +=seq_printf (m, -" MUL:\t\t%s\n" -" FPU:\t\t%s\n" , - (cpuinfo.use_mult &PVR2_USE_MUL64_MASK ) ?"v2" : - (cpuinfo.use_mult &PVR0_USE_HW_MUL_MASK ) ?"v1" :"no" , - (cpuinfo.use_fpu &PVR2_USE_FPU2_MASK ) ?"v2" : - (cpuinfo.use_fpu &PVR0_USE_FPU_MASK ) ?"v1" :"no" ); - - count +=seq_printf (m, -" Exc:\t\t%s%s%s%s%s%s%s%s\n" , - (cpuinfo.use_exc & PVR2_OPCODE_0x0_ILL_MASK) ?"op0x0 " :"" , - (cpuinfo.use_exc &PVR2_UNALIGNED_EXC_MASK ) ?"unal " :"" , - (cpuinfo.use_exc &PVR2_ILL_OPCODE_EXC_MASK ) ?"ill " :"" , - (cpuinfo.use_exc &PVR2_IOPB_BUS_EXC_MASK ) ?"iopb " :"" , - (cpuinfo.use_exc &PVR2_DOPB_BUS_EXC_MASK ) ?"dopb " :"" , - (cpuinfo.use_exc &PVR2_DIV_ZERO_EXC_MASK ) ?"zero " :"" , - (cpuinfo.use_exc &PVR2_FPU_EXC_MASK ) ?"fpu " :"" , - (cpuinfo.use_exc &PVR2_USE_FSL_EXC ) ?"fsl " :"" ); - - count +=seq_printf (m, -"Stream-insns:\t%sprivileged\n" , - cpuinfo.mmu_privins ?"un" :"" ); +seq_printf (m, +"CPU-Family: MicroBlaze\n" +"FPGA-Arch: %s\n" +"CPU-Ver: %s, %s endian\n" +"CPU-MHz: %d.%02d\n" +"BogoMips: %lu.%02lu\n" , + fpga_family, + cpu_ver, + cpuinfo.endian ?"little" :"big" , + cpuinfo.cpu_clock_freq /1000000 , + cpuinfo.cpu_clock_freq %1000000 , + loops_per_jiffy / (500000 /HZ ), + (loops_per_jiffy / (5000 /HZ )) %100 ); + +seq_printf (m, +"HW:\n Shift:\t\t%s\n" +" MSR:\t\t%s\n" +" PCMP:\t\t%s\n" +" DIV:\t\t%s\n" , + (cpuinfo.use_instr &PVR0_USE_BARREL_MASK ) ?"yes" :"no" , + (cpuinfo.use_instr &PVR2_USE_MSR_INSTR ) ?"yes" :"no" , + (cpuinfo.use_instr &PVR2_USE_PCMP_INSTR ) ?"yes" :"no" , + (cpuinfo.use_instr &PVR0_USE_DIV_MASK ) ?"yes" :"no" ); + +seq_printf (m," MMU:\t\t%x\n" , cpuinfo.mmu); + +seq_printf (m, +" MUL:\t\t%s\n" +" FPU:\t\t%s\n" , + (cpuinfo.use_mult &PVR2_USE_MUL64_MASK ) ?"v2" : + (cpuinfo.use_mult &PVR0_USE_HW_MUL_MASK ) ?"v1" :"no" , + (cpuinfo.use_fpu &PVR2_USE_FPU2_MASK ) ?"v2" : + (cpuinfo.use_fpu &PVR0_USE_FPU_MASK ) ?"v1" :"no" ); + +seq_printf (m, +" Exc:\t\t%s%s%s%s%s%s%s%s\n" , + (cpuinfo.use_exc & PVR2_OPCODE_0x0_ILL_MASK) ?"op0x0 " :"" , + (cpuinfo.use_exc &PVR2_UNALIGNED_EXC_MASK ) ?"unal " :"" , + (cpuinfo.use_exc &PVR2_ILL_OPCODE_EXC_MASK ) ?"ill " :"" , + (cpuinfo.use_exc &PVR2_IOPB_BUS_EXC_MASK ) ?"iopb " :"" , + (cpuinfo.use_exc &PVR2_DOPB_BUS_EXC_MASK ) ?"dopb " :"" , + (cpuinfo.use_exc &PVR2_DIV_ZERO_EXC_MASK ) ?"zero " :"" , + (cpuinfo.use_exc &PVR2_FPU_EXC_MASK ) ?"fpu " :"" , + (cpuinfo.use_exc &PVR2_USE_FSL_EXC ) ?"fsl " :"" ); + +seq_printf (m, +"Stream-insns:\t%sprivileged\n" , + cpuinfo.mmu_privins ?"un" :"" );if (cpuinfo.use_icache) - count +=seq_printf (m, -"Icache:\t\t%ukB\tline length:\t%dB\n" , - cpuinfo.icache_size >>10 , - cpuinfo.icache_line_length); +seq_printf (m, +"Icache:\t\t%ukB\tline length:\t%dB\n" , + cpuinfo.icache_size >>10 , + cpuinfo.icache_line_length);else - count +=seq_printf (m,"Icache:\t\tno\n" ); + x seq_puts(m, "Icache:\t\tno\n");if (cpuinfo.use_dcache) { - count +=seq_printf (m, -"Dcache:\t\t%ukB\tline length:\t%dB\n" , - cpuinfo.dcache_size >>10 , - cpuinfo.dcache_line_length); -seq_printf (m,"Dcache-Policy:\t" ); +seq_printf (m, +"Dcache:\t\t%ukB\tline length:\t%dB\n" , + cpuinfo.dcache_size >>10 , + cpuinfo.dcache_line_length); +seq_puts (m,"Dcache-Policy:\t" );if (cpuinfo.dcache_wb) - count +=seq_printf (m,"write-back\n" ); +seq_puts (m,"write-back\n" );else - count +=seq_printf (m,"write-through\n" ); - }else - count +=seq_printf (m,"Dcache:\t\tno\n" ); +seq_puts (m,"write-through\n" ); + }else { +seq_puts (m,"Dcache:\t\tno\n" ); + } + +seq_printf (m, +"HW-Debug:\t%s\n" , + cpuinfo.hw_debug ?"yes" :"no" ); - count +=seq_printf (m, -"HW-Debug:\t%s\n" , - cpuinfo.hw_debug ?"yes" :"no" ); +seq_printf (m, +"PVR-USR1:\t%02x\n" +"PVR-USR2:\t%08x\n" , + cpuinfo.pvr_user1, + cpuinfo.pvr_user2); - count +=seq_printf (m, -"PVR-USR1:\t%02x\n" -"PVR-USR2:\t%08x\n" , - cpuinfo.pvr_user1, - cpuinfo.pvr_user2); +seq_printf (m,"Page size:\t%lu\n" ,PAGE_SIZE ); - count +=seq_printf (m,"Page size:\t%lu\n" ,PAGE_SIZE );return 0 ; }
Signature · 1 line
2.1.2
PATCH 14/27 openrisc: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- arch/openrisc/kernel/setup.c | 50 +++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 24 deletions(-)
arch/openrisc/kernel/setup.c +26 -24
@@ -329,30 +329,32 @@ static int show_cpuinfo(struct seq_file *m, void *v) version = (vr &SPR_VR_VER ) >>24 ; revision = vr &SPR_VR_REV ; -return seq_printf (m, -"cpu\t\t: OpenRISC-%x\n" -"revision\t: %d\n" -"frequency\t: %ld\n" -"dcache size\t: %d bytes\n" -"dcache block size\t: %d bytes\n" -"icache size\t: %d bytes\n" -"icache block size\t: %d bytes\n" -"immu\t\t: %d entries, %lu ways\n" -"dmmu\t\t: %d entries, %lu ways\n" -"bogomips\t: %lu.%02lu\n" , - version, - revision, - loops_per_jiffy *HZ , - cpuinfo.dcache_size, - cpuinfo.dcache_block_size, - cpuinfo.icache_size, - cpuinfo.icache_block_size, -1 << ((mfspr (SPR_DMMUCFGR ) &SPR_DMMUCFGR_NTS ) >>2 ), -1 + (mfspr (SPR_DMMUCFGR ) &SPR_DMMUCFGR_NTW ), -1 << ((mfspr (SPR_IMMUCFGR ) &SPR_IMMUCFGR_NTS ) >>2 ), -1 + (mfspr (SPR_IMMUCFGR ) &SPR_IMMUCFGR_NTW ), - (loops_per_jiffy *HZ ) /500000 , - ((loops_per_jiffy *HZ ) /5000 ) %100 ); +seq_printf (m, +"cpu\t\t: OpenRISC-%x\n" +"revision\t: %d\n" +"frequency\t: %ld\n" +"dcache size\t: %d bytes\n" +"dcache block size\t: %d bytes\n" +"icache size\t: %d bytes\n" +"icache block size\t: %d bytes\n" +"immu\t\t: %d entries, %lu ways\n" +"dmmu\t\t: %d entries, %lu ways\n" +"bogomips\t: %lu.%02lu\n" , + version, + revision, + loops_per_jiffy *HZ , + cpuinfo.dcache_size, + cpuinfo.dcache_block_size, + cpuinfo.icache_size, + cpuinfo.icache_block_size, +1 << ((mfspr (SPR_DMMUCFGR ) &SPR_DMMUCFGR_NTS ) >>2 ), +1 + (mfspr (SPR_DMMUCFGR ) &SPR_DMMUCFGR_NTW ), +1 << ((mfspr (SPR_IMMUCFGR ) &SPR_IMMUCFGR_NTS ) >>2 ), +1 + (mfspr (SPR_IMMUCFGR ) &SPR_IMMUCFGR_NTW ), + (loops_per_jiffy *HZ ) /500000 , + ((loops_per_jiffy *HZ ) /5000 ) %100 ); + +return 0 ; }static void *c_start (struct seq_file *m,loff_t * pos)
Signature · 1 line
2.1.2
PATCH 17/27 staging: i2o: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- drivers/staging/i2o/i2o_proc.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-)
drivers/staging/i2o/i2o_proc.c +12 -6
@@ -266,16 +266,22 @@ static int i2o_report_query_status(struct seq_file *seq, int block_status, {switch (block_status) {case -ETIMEDOUT : -return seq_printf (seq,"Timeout reading group %s.\n" , group); +seq_printf (seq,"Timeout reading group %s.\n" , group); +break ;case -ENOMEM : -return seq_printf (seq,"No free memory to read the table.\n" ); +seq_puts (seq,"No free memory to read the table.\n" ); +break ;case -I2O_PARAMS_STATUS_INVALID_GROUP_ID : -return seq_printf (seq,"Group %s not supported.\n" , group); +seq_printf (seq,"Group %s not supported.\n" , group); +break ;default : -return seq_printf (seq, -"Error reading group %s. BlockStatus 0x%02X\n" , - group, -block_status); +seq_printf (seq, +"Error reading group %s. BlockStatus 0x%02X\n" , + group, -block_status); +break ; } + +return 0 ; }static char *bus_strings[] = {
Signature · 1 line
2.1.2
PATCH 21/27 watchdog: bcm281xx: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- drivers/watchdog/bcm_kona_wdt.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-)
drivers/watchdog/bcm_kona_wdt.c +16 -11
@@ -99,12 +99,14 @@ static int secure_register_read(struct bcm_kona_wdt *wdt, uint32_t offset)static int bcm_kona_wdt_dbg_show (struct seq_file *s,void *data) { -int ctl_val, cur_val, ret; +int ctl_val, cur_val;unsigned long flags;struct bcm_kona_wdt *wdt = s->private; -if (!wdt) -return seq_puts (s,"No device pointer\n" ); +if (!wdt) { +seq_puts (s,"No device pointer\n" ); +return 0 ; + }spin_lock_irqsave (&wdt->lock, flags); ctl_val =secure_register_read (wdt,SECWDOG_CTRL_REG );
@@ -112,7 +114,7 @@ static int bcm_kona_wdt_dbg_show(struct seq_file *s, void *data)spin_unlock_irqrestore (&wdt->lock, flags);if (ctl_val <0 || cur_val <0 ) { - ret =seq_puts (s,"Error accessing hardware\n" ); +seq_puts (s,"Error accessing hardware\n" ); }else {int ctl, cur, ctl_sec, cur_sec, res;
@@ -121,15 +123,18 @@ static int bcm_kona_wdt_dbg_show(struct seq_file *s, void *data) cur = cur_val &SECWDOG_COUNT_MASK ; ctl_sec =TICKS_TO_SECS (ctl, wdt); cur_sec =TICKS_TO_SECS (cur, wdt); - ret =seq_printf (s,"Resolution: %d / %d\n" -"Control: %d s / %d (%#x) ticks\n" -"Current: %d s / %d (%#x) ticks\n" -"Busy count: %lu\n" , res, - wdt->resolution, ctl_sec, ctl, ctl, cur_sec, - cur, cur, wdt->busy_count); +seq_printf (s, +"Resolution: %d / %d\n" +"Control: %d s / %d (%#x) ticks\n" +"Current: %d s / %d (%#x) ticks\n" +"Busy count: %lu\n" , + res, wdt->resolution, + ctl_sec, ctl, ctl, + cur_sec, cur, cur, + wdt->busy_count); } -return ret; +return 0 ; }static int bcm_kona_dbg_open (struct inode *inode,struct file *file)
Signature · 1 line
2.1.2
PATCH 22/27 proc: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- fs/proc/array.c | 4 ++- fs/proc/base.c | 82 +++++++++++++++++++++++++++++++++------------------------ 2 files changed, 50 insertions(+), 36 deletions(-)
fs/proc/array.c +3 -1
@@ -614,7 +614,9 @@ static int children_seq_show(struct seq_file *seq, void *v)pid_t pid; pid =pid_nr_ns (v, inode->i_sb->s_fs_info); -return seq_printf (seq,"%d " , pid); +seq_printf (seq,"%d " , pid); + +return 0 ; }static void *children_seq_start (struct seq_file *seq,loff_t *pos)
fs/proc/base.c +47 -35
139 lines not on this page · raw message
Signature · 1 line
2.1.2
PATCH 25/27 lru_cache: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- lib/lru_cache.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
lib/lru_cache.c +5 -4
@@ -247,10 +247,11 @@ size_t lc_seq_printf_stats(struct seq_file *seq, struct lru_cache *lc)* progress) and "changed", when this in fact lead to an successful * update of the cache. */ -return seq_printf (seq,"\t%s: used:%u/%u " -"hits:%lu misses:%lu starving:%lu locked:%lu changed:%lu\n" , - lc->name, lc->used, lc->nr_elements, - lc->hits, lc->misses, lc->starving, lc->locked, lc->changed); +seq_printf (seq,"\t%s: used:%u/%u hits:%lu misses:%lu starving:%lu locked:%lu changed:%lu\n" , + lc->name, lc->used, lc->nr_elements, + lc->hits, lc->misses, lc->starving, lc->locked, lc->changed); + +return 0 ; }static struct hlist_head *lc_hash_slot (struct lru_cache *lc,unsigned int enr)
Signature · 1 line
2.1.2
PATCH 27/27 regulator: dbx500: Remove use of seq_puts/seq_printf return value
In reply to Joe PerchesThe seq_puts/seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Miscellanea:
o Remove unnecessary dev_err("seq_<foo> overflow\n") messages
--- drivers/regulator/dbx500-prcmu.c | 32 +++++++++----------------------- 1 file changed, 9 insertions(+), 23 deletions(-)
drivers/regulator/dbx500-prcmu.c +9 -23
@@ -95,14 +95,9 @@ void ux500_regulator_resume_debug(void)static int ux500_regulator_power_state_cnt_print (struct seq_file *s,void *p) { -struct device *dev = s->private; -int err; -/* print power state count */ - err =seq_printf (s,"ux500-regulator power state count: %i\n" , -power_state_active_get ()); -if (err <0 ) -dev_err (dev,"seq_printf overflow\n" ); +seq_printf (s,"ux500-regulator power state count: %i\n" , +power_state_active_get ());return 0 ; }
@@ -124,19 +119,11 @@ static const struct file_operations ux500_regulator_power_state_cnt_fops = {static int ux500_regulator_status_print (struct seq_file *s,void *p) { -struct device *dev = s->private; -int err;int i;/* print dump header */ - err =seq_puts (s,"ux500-regulator status:\n" ); -if (err <0 ) -dev_err (dev,"seq_puts overflow\n" ); - - err =seq_printf (s,"%31s : %8s : %8s\n" ,"current" , -"before" ,"after" ); -if (err <0 ) -dev_err (dev,"seq_printf overflow\n" ); +seq_puts (s,"ux500-regulator status:\n" ); +seq_printf (s,"%31s : %8s : %8s\n" ,"current" ,"before" ,"after" );for (i =0 ; i < rdebug.num_regulators; i++) {struct dbx500_regulator_info *info;
@@ -144,12 +131,11 @@ static int ux500_regulator_status_print(struct seq_file *s, void *p) info = &rdebug.regulator_array[i];/* print status */ - err =seq_printf (s,"%20s : %8s : %8s : %8s\n" , info->desc.name, - info->is_enabled ?"enabled" :"disabled" , - rdebug.state_before_suspend[i] ?"enabled" :"disabled" , - rdebug.state_after_suspend[i] ?"enabled" :"disabled" ); -if (err <0 ) -dev_err (dev,"seq_printf overflow\n" ); +seq_printf (s,"%20s : %8s : %8s : %8s\n" , + info->desc.name, + info->is_enabled ?"enabled" :"disabled" , + rdebug.state_before_suspend[i] ?"enabled" :"disabled" , + rdebug.state_after_suspend[i] ?"enabled" :"disabled" ); }return 0 ;
Signature · 1 line
2.1.2
PATCH 24/27 tracing: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Miscellanea:
o Remove unused return value from trace_lookup_stack
--- kernel/trace/trace_stack.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
kernel/trace/trace_stack.c +2 -2
@@ -327,11 +327,11 @@ static void t_stop(struct seq_file *m, void *p)local_irq_enable (); } -static int trace_lookup_stack (struct seq_file *m,long i) +static void trace_lookup_stack (struct seq_file *m,long i) {unsigned long addr = stack_dump_trace[i]; -return seq_printf (m,"%pS\n" , (void *)addr); +seq_printf (m,"%pS\n" , (void *)addr); }static void print_disabled (struct seq_file *m)
Signature · 1 line
2.1.2
PATCH 20/27 i8k: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- drivers/char/i8k.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-)
drivers/char/i8k.c +9 -7
@@ -510,13 +510,15 @@ static int i8k_proc_show(struct seq_file *seq, void *offset)* 9) AC power * 10) Fn Key status */ -return seq_printf (seq,"%s %s %s %d %d %d %d %d %d %d\n" , -I8K_PROC_FMT , - bios_version, -i8k_get_dmi_data (DMI_PRODUCT_SERIAL ), - cpu_temp, - left_fan, right_fan, left_speed, right_speed, - ac_power, fn_key); +seq_printf (seq,"%s %s %s %d %d %d %d %d %d %d\n" , +I8K_PROC_FMT , + bios_version, +i8k_get_dmi_data (DMI_PRODUCT_SERIAL ), + cpu_temp, + left_fan, right_fan, left_speed, right_speed, + ac_power, fn_key); + +return 0 ; }static int i8k_open_fs (struct inode *inode,struct file *file)
Signature · 1 line
2.1.2
PATCH 18/27 staging: rtl8192x: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- drivers/staging/rtl8192e/rtllib_module.c | 4 +++- drivers/staging/rtl8192u/ieee80211/ieee80211_module.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-)
drivers/staging/rtl8192e/rtllib_module.c +3 -1
@@ -207,7 +207,9 @@ static struct proc_dir_entry *rtllib_proc;static int show_debug_level (struct seq_file *m,void *v) { -return seq_printf (m,"0x%08X\n" , rtllib_debug_level); +seq_printf (m,"0x%08X\n" , rtllib_debug_level); + +return 0 ; } static ssize_t write_debug_level(struct file *file, const char __user *buffer,
drivers/staging/rtl8192u/ieee80211/ieee80211_module.c +3 -1
@@ -245,7 +245,9 @@ static struct proc_dir_entry *ieee80211_proc;static int show_debug_level (struct seq_file *m,void *v) { -return seq_printf (m,"0x%08X\n" , ieee80211_debug_level); +seq_printf (m,"0x%08X\n" , ieee80211_debug_level); + +return 0 ; } static ssize_t write_debug_level(struct file *file, const char __user *buffer,
Signature · 1 line
2.1.2
PATCH 15/27 cris: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
--- arch/cris/arch-v10/kernel/setup.c | 58 ++++++++++++++++++------------------ arch/cris/arch-v32/kernel/setup.c | 62 ++++++++++++++++++++------------------- 2 files changed, 62 insertions(+), 58 deletions(-)
arch/cris/arch-v10/kernel/setup.c +30 -28
@@ -63,35 +63,37 @@ int show_cpuinfo(struct seq_file *m, void *v) else info = &cpu_info[revision]; -return seq_printf (m, -"processor\t: 0\n" -"cpu\t\t: CRIS\n" -"cpu revision\t: %lu\n" -"cpu model\t: %s\n" -"cache size\t: %d kB\n" -"fpu\t\t: %s\n" -"mmu\t\t: %s\n" -"mmu DMA bug\t: %s\n" -"ethernet\t: %s Mbps\n" -"token ring\t: %s\n" -"scsi\t\t: %s\n" -"ata\t\t: %s\n" -"usb\t\t: %s\n" -"bogomips\t: %lu.%02lu\n" , +seq_printf (m, +"processor\t: 0\n" +"cpu\t\t: CRIS\n" +"cpu revision\t: %lu\n" +"cpu model\t: %s\n" +"cache size\t: %d kB\n" +"fpu\t\t: %s\n" +"mmu\t\t: %s\n" +"mmu DMA bug\t: %s\n" +"ethernet\t: %s Mbps\n" +"token ring\t: %s\n" +"scsi\t\t: %s\n" +"ata\t\t: %s\n" +"usb\t\t: %s\n" +"bogomips\t: %lu.%02lu\n" , - revision, - info->model, - info->cache, - info->flags &HAS_FPU ?"yes" :"no" , - info->flags &HAS_MMU ?"yes" :"no" , - info->flags &HAS_MMU_BUG ?"yes" :"no" , - info->flags &HAS_ETHERNET100 ?"10/100" :"10" , - info->flags &HAS_TOKENRING ?"4/16 Mbps" :"no" , - info->flags &HAS_SCSI ?"yes" :"no" , - info->flags &HAS_ATA ?"yes" :"no" , - info->flags &HAS_USB ?"yes" :"no" , - (loops_per_jiffy *HZ +500 ) /500000 , - ((loops_per_jiffy * HZ + 500) / 5000) % 100); + revision, + info->model, + info->cache, + info->flags &HAS_FPU ?"yes" :"no" , + info->flags &HAS_MMU ?"yes" :"no" , + info->flags &HAS_MMU_BUG ?"yes" :"no" , + info->flags &HAS_ETHERNET100 ?"10/100" :"10" , + info->flags &HAS_TOKENRING ?"4/16 Mbps" :"no" , + info->flags &HAS_SCSI ?"yes" :"no" , + info->flags &HAS_ATA ?"yes" :"no" , + info->flags &HAS_USB ?"yes" :"no" , + (loops_per_jiffy *HZ +500 ) /500000 , + ((loops_per_jiffy *HZ +500 ) /5000 ) %100 ); + + return 0; }#endif /* CONFIG_PROC_FS */
arch/cris/arch-v32/kernel/setup.c +32 -30
68 lines not on this page · raw message
Signature · 1 line
2.1.2
PATCH 4/27 staging: lustre: Convert remaining uses of "= seq_printf(...)"
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Convert the remaining uses by hand.
Miscellanea:
o Convert fixed string output to seq_puts
--- drivers/staging/lustre/lustre/llite/lproc_llite.c | 24 ++++--- .../lustre/lustre/obdclass/lprocfs_status.c | 82 +++++++++++----------- 2 files changed, 54 insertions(+), 52 deletions(-)
drivers/staging/lustre/lustre/llite/lproc_llite.c +14 -10
@@ -59,7 +59,7 @@ static int ll_blksize_seq_show(struct seq_file *m, void *v)cfs_time_shift_64 (-OBD_STATFS_CACHE_SECONDS ), OBD_STATFS_NODELAY);if (!rc) - rc =seq_printf (m,"%u\n" , osfs.os_bsize); +seq_printf (m,"%u\n" , osfs.os_bsize);return rc; }
@@ -82,8 +82,9 @@ static int ll_kbytestotal_seq_show(struct seq_file *m, void *v)while (blk_size >>=1 ) result <<=1 ; - rc =seq_printf (m,"%llu\n" , result); +seq_printf (m,"%llu\n" , result); } +return rc; }LPROC_SEQ_FOPS_RO (ll_kbytestotal);
@@ -105,8 +106,9 @@ static int ll_kbytesfree_seq_show(struct seq_file *m, void *v)while (blk_size >>=1 ) result <<=1 ; - rc =seq_printf (m,"%llu\n" , result); +seq_printf (m,"%llu\n" , result); } +return rc; }LPROC_SEQ_FOPS_RO (ll_kbytesfree);
@@ -128,8 +130,9 @@ static int ll_kbytesavail_seq_show(struct seq_file *m, void *v)while (blk_size >>=1 ) result <<=1 ; - rc =seq_printf (m,"%llu\n" , result); +seq_printf (m,"%llu\n" , result); } +return rc; }LPROC_SEQ_FOPS_RO (ll_kbytesavail);
@@ -145,7 +148,8 @@ static int ll_filestotal_seq_show(struct seq_file *m, void *v)cfs_time_shift_64 (-OBD_STATFS_CACHE_SECONDS ), OBD_STATFS_NODELAY);if (!rc) - rc =seq_printf (m,"%llu\n" , osfs.os_files); +seq_printf (m,"%llu\n" , osfs.os_files); +return rc; }LPROC_SEQ_FOPS_RO (ll_filestotal);
@@ -161,7 +165,8 @@ static int ll_filesfree_seq_show(struct seq_file *m, void *v)cfs_time_shift_64 (-OBD_STATFS_CACHE_SECONDS ), OBD_STATFS_NODELAY);if (!rc) - rc =seq_printf (m,"%llu\n" , osfs.os_ffree); +seq_printf (m,"%llu\n" , osfs.os_ffree); +return rc; }LPROC_SEQ_FOPS_RO (ll_filesfree);
@@ -169,16 +174,15 @@ LPROC_SEQ_FOPS_RO(ll_filesfree);static int ll_client_type_seq_show (struct seq_file *m,void *v) {struct ll_sb_info *sbi =ll_s2sbi ((struct super_block *)m->private); -int rc;LASSERT (sbi !=NULL );if (sbi->ll_flags &LL_SBI_RMT_CLIENT ) - rc =seq_printf (m,"remote client\n" ); +seq_puts (m,"remote client\n" );else - rc =seq_printf (m,"local client\n" ); +seq_puts (m,"local client\n" ); -return rc; +return 0 ; }LPROC_SEQ_FOPS_RO (ll_client_type);
drivers/staging/lustre/lustre/obdclass/lprocfs_status.c +40 -42
174 lines not on this page · raw message
Signature · 1 line
2.1.2
PATCH 2/27 staging: lustre: Convert seq_ hash functions to return void
In reply to Joe PerchesThese functions don't need to return anything.
No caller uses the return value.
Miscellanea:
Integrate the individual strings to reduce object size ~100 bytes.
--- drivers/staging/lustre/include/linux/libcfs/libcfs_hash.h | 4 ++-- drivers/staging/lustre/lustre/libcfs/hash.c | 14 ++++---------- 2 files changed, 6 insertions(+), 12 deletions(-)
drivers/staging/lustre/include/linux/libcfs/libcfs_hash.h +2 -2
@@ -785,8 +785,8 @@ static inline void __cfs_hash_set_theta(struct cfs_hash *hs, int min, int max)/* Generic debug formatting routines mainly for proc handler */ struct seq_file ; -int cfs_hash_debug_header (struct seq_file *m); -int cfs_hash_debug_str (struct cfs_hash *hs,struct seq_file *m); +void cfs_hash_debug_header (struct seq_file *m); +void cfs_hash_debug_str (struct cfs_hash *hs,struct seq_file *m);/* * Generic djb2 hash algorithm for character arrays.
drivers/staging/lustre/lustre/libcfs/hash.c +4 -10
@@ -2008,14 +2008,10 @@ void cfs_hash_rehash_key(struct cfs_hash *hs, const void *old_key, }EXPORT_SYMBOL (cfs_hash_rehash_key); -int cfs_hash_debug_header (struct seq_file *m) +void cfs_hash_debug_header (struct seq_file *m) { -seq_printf (m,"%-*s%6s%6s%6s%6s%6s%6s%6s%7s%8s%8s%8s%s\n" , -CFS_HASH_BIGNAME_LEN , -"name" ,"cur" ,"min" ,"max" ,"theta" ,"t-min" ,"t-max" , -"flags" ,"rehash" ,"count" ,"maxdep" ,"maxdepb" , -" distribution" ); -return 0 ; +seq_printf (m,"%-*s cur min max theta t-min t-max flags rehash count maxdep maxdepb distribution\n" , +CFS_HASH_BIGNAME_LEN ,"name" ); }EXPORT_SYMBOL (cfs_hash_debug_header);
@@ -2043,7 +2039,7 @@ cfs_hash_full_nbkt(struct cfs_hash *hs) CFS_HASH_RH_NBKT(hs) : CFS_HASH_NBKT(hs); } -int cfs_hash_debug_str (struct cfs_hash *hs,struct seq_file *m) +void cfs_hash_debug_str (struct cfs_hash *hs,struct seq_file *m) {int dist[8 ] = {0 , };int maxdep =-1 ;
@@ -2098,7 +2094,5 @@ int cfs_hash_debug_str(struct cfs_hash *hs, struct seq_file *m)seq_printf (m,"%d%c" , dist[i], (i ==7 ) ?'\n' :'/' );cfs_hash_unlock (hs,0 ); - -return 0 ; }EXPORT_SYMBOL (cfs_hash_debug_str);
Signature · 1 line
2.1.2
Re: [PATCH 24/27] tracing: Remove use of seq_printf return value
In reply to Joe PerchesQuoted 9 lines · On Sat, 21 Feb 2015 18:53:51 -0800 Joe Perches <[email protected]> wrote:
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")Miscellanea:
o Remove unused return value from
trace_lookup_stack
-- Steve
Quoted 24 lines
Signed-off-by Joe Perches <[email protected]>--- kernel/trace/trace_stack.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)kernel/trace/trace_stack.c +2
-2@@ -327,11 +327,11 @@ static void t_stop(struct seq_file *m, void *p)local_irq_enable (); } -static int trace_lookup_stack (struct seq_file *m,long i) +static void trace_lookup_stack (struct seq_file *m,long i) {unsigned long addr = stack_dump_trace[i]; -return seq_printf (m,"%pS\n" , (void *)addr); +seq_printf (m,"%pS\n" , (void *)addr); }static void print_disabled (struct seq_file *m)
PATCH v2 15/27 cris: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
---
V2: Remove trailing whitespace (exist in original code)
arch/cris/arch-v10/kernel/setup.c | 58 ++++++++++++++++++------------------ arch/cris/arch-v32/kernel/setup.c | 62 ++++++++++++++++++++------------------- 2 files changed, 62 insertions(+), 58 deletions(-)
arch/cris/arch-v10/kernel/setup.c +30 -28
@@ -63,35 +63,37 @@ int show_cpuinfo(struct seq_file *m, void *v) else info = &cpu_info[revision]; -return seq_printf (m, -"processor\t: 0\n" -"cpu\t\t: CRIS\n" -"cpu revision\t: %lu\n" -"cpu model\t: %s\n" -"cache size\t: %d kB\n" -"fpu\t\t: %s\n" -"mmu\t\t: %s\n" -"mmu DMA bug\t: %s\n" -"ethernet\t: %s Mbps\n" -"token ring\t: %s\n" -"scsi\t\t: %s\n" -"ata\t\t: %s\n" -"usb\t\t: %s\n" -"bogomips\t: %lu.%02lu\n" , +seq_printf (m, +"processor\t: 0\n" +"cpu\t\t: CRIS\n" +"cpu revision\t: %lu\n" +"cpu model\t: %s\n" +"cache size\t: %d kB\n" +"fpu\t\t: %s\n" +"mmu\t\t: %s\n" +"mmu DMA bug\t: %s\n" +"ethernet\t: %s Mbps\n" +"token ring\t: %s\n" +"scsi\t\t: %s\n" +"ata\t\t: %s\n" +"usb\t\t: %s\n" +"bogomips\t: %lu.%02lu\n" , - revision, - info->model, - info->cache, - info->flags &HAS_FPU ?"yes" :"no" , - info->flags &HAS_MMU ?"yes" :"no" , - info->flags &HAS_MMU_BUG ?"yes" :"no" , - info->flags &HAS_ETHERNET100 ?"10/100" :"10" , - info->flags &HAS_TOKENRING ?"4/16 Mbps" :"no" , - info->flags &HAS_SCSI ?"yes" :"no" , - info->flags &HAS_ATA ?"yes" :"no" , - info->flags &HAS_USB ?"yes" :"no" , - (loops_per_jiffy *HZ +500 ) /500000 , - ((loops_per_jiffy * HZ + 500) / 5000) % 100); + revision, + info->model, + info->cache, + info->flags &HAS_FPU ?"yes" :"no" , + info->flags &HAS_MMU ?"yes" :"no" , + info->flags &HAS_MMU_BUG ?"yes" :"no" , + info->flags &HAS_ETHERNET100 ?"10/100" :"10" , + info->flags &HAS_TOKENRING ?"4/16 Mbps" :"no" , + info->flags &HAS_SCSI ?"yes" :"no" , + info->flags &HAS_ATA ?"yes" :"no" , + info->flags &HAS_USB ?"yes" :"no" , + (loops_per_jiffy *HZ +500 ) /500000 , + ((loops_per_jiffy *HZ +500 ) /5000 ) %100 ); + + return 0; }#endif /* CONFIG_PROC_FS */
arch/cris/arch-v32/kernel/setup.c +32 -30
68 lines not on this page · raw message
PATCH v2 8/27 rtc: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
---
V2: sigh - Fix : vs ; line termination typo in rtc-tegra
drivers/rtc/rtc-cmos.c | 36 +++++++++++++++++++----------------- drivers/rtc/rtc-ds1305.c | 6 +++--- drivers/rtc/rtc-mrst.c | 16 +++++++++------- drivers/rtc/rtc-tegra.c | 4 +++- 4 files changed, 34 insertions(+), 28 deletions(-)
drivers/rtc/rtc-cmos.c +19 -17
@@ -459,23 +459,25 @@ static int cmos_procfs(struct device *dev, struct seq_file *seq)/* NOTE: at least ICH6 reports battery status using a different * (non-RTC) bit; and SQWE is ignored on many current systems. */ -return seq_printf (seq, -"periodic_IRQ\t: %s\n" -"update_IRQ\t: %s\n" -"HPET_emulated\t: %s\n" -// "square_wave\t: %s\n" -"BCD\t\t: %s\n" -"DST_enable\t: %s\n" -"periodic_freq\t: %d\n" -"batt_status\t: %s\n" , - (rtc_control &RTC_PIE ) ?"yes" :"no" , - (rtc_control &RTC_UIE ) ?"yes" :"no" , -is_hpet_enabled () ?"yes" :"no" , -// (rtc_control & RTC_SQWE) ? "yes" : "no", - (rtc_control &RTC_DM_BINARY ) ?"no" :"yes" , - (rtc_control &RTC_DST_EN ) ?"yes" :"no" , - cmos->rtc->irq_freq, - (valid & RTC_VRT) ? "okay" : "dead"); +seq_printf (seq, +"periodic_IRQ\t: %s\n" +"update_IRQ\t: %s\n" +"HPET_emulated\t: %s\n" +// "square_wave\t: %s\n" +"BCD\t\t: %s\n" +"DST_enable\t: %s\n" +"periodic_freq\t: %d\n" +"batt_status\t: %s\n" , + (rtc_control &RTC_PIE ) ?"yes" :"no" , + (rtc_control &RTC_UIE ) ?"yes" :"no" , +is_hpet_enabled () ?"yes" :"no" , +// (rtc_control & RTC_SQWE) ? "yes" : "no", + (rtc_control &RTC_DM_BINARY ) ?"no" :"yes" , + (rtc_control &RTC_DST_EN ) ?"yes" :"no" , + cmos->rtc->irq_freq, + (valid &RTC_VRT ) ?"okay" :"dead" ); + + return 0; }#else
drivers/rtc/rtc-ds1305.c +3 -3
@@ -434,9 +434,9 @@ static int ds1305_proc(struct device *dev, struct seq_file *seq) } done: -return seq_printf (seq, -"trickle_charge\t: %s%s\n" , - diodes, resistors); +seq_printf (seq,"trickle_charge\t: %s%s\n" , diodes, resistors); + +return 0 ; }#else
drivers/rtc/rtc-mrst.c +9 -7
@@ -277,13 +277,15 @@ static int mrst_procfs(struct device *dev, struct seq_file *seq) valid =vrtc_cmos_read (RTC_VALID );spin_unlock_irq (&rtc_lock); -return seq_printf (seq, -"periodic_IRQ\t: %s\n" -"alarm\t\t: %s\n" -"BCD\t\t: no\n" -"periodic_freq\t: daily (not adjustable)\n" , - (rtc_control &RTC_PIE ) ?"on" :"off" , - (rtc_control & RTC_AIE) ? "on" : "off"); +seq_printf (seq, +"periodic_IRQ\t: %s\n" +"alarm\t\t: %s\n" +"BCD\t\t: no\n" +"periodic_freq\t: daily (not adjustable)\n" , + (rtc_control &RTC_PIE ) ?"on" :"off" , + (rtc_control &RTC_AIE ) ?"on" :"off" ); + + return 0; }#else
drivers/rtc/rtc-tegra.c +3 -1
@@ -261,7 +261,9 @@ static int tegra_rtc_proc(struct device *dev, struct seq_file *seq)if (!dev || !dev->driver)return 0 ; -return seq_printf (seq,"name\t\t: %s\n" ,dev_name (dev)); +seq_printf (seq,"name\t\t: %s\n" ,dev_name (dev)); + +return 0 ; }static irqreturn_t tegra_rtc_irq_handler (int irq,void *data)
Re: [PATCH 24/27] tracing: Remove use of seq_printf return value
In reply to Steven RostedtQuoted 6 lines · Steven Rostedt
Quoted 3 lines · On Sat, 21 Feb 2015 18:53:51 -0800 Joe Perches <[email protected]> wrote:
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.
Quoted 8 lines
Quoted 6 lines
See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")Miscellanea:
o Remove unused return value from
trace_lookup_stackAcked-by Steven Rostedt <[email protected]>
FWIW, this one should be Cc:stable - it's a plain and simple bugfix (so are all of those that used to return the result of seq_printf() from ->show()).
Re: [PATCH 20/27] i8k: Remove use of seq_printf return value
In reply to Joe PerchesQuoted 7 lines · Joe Perches
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")Signed-off-by Joe Perches <[email protected]>
Re: [PATCH 10/27] pxa27x_udc: Remove use of seq_printf return value
In reply to Joe PerchesQuoted 10 lines · Joe Perches
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")While there, simplify the error handler logic by returning immediately and remove the unnecessary labels.
Signed-off-by Joe Perches <[email protected]>
Cheers.
--
Robert
Re: [PATCH 24/27] tracing: Remove use of seq_printf return value
In reply to Al ViroQuoted 11 lines · Al Viro
Quoted 10 lines · Steven Rostedt
Quoted 8 lines · On Sat, 21 Feb 2015 18:53:51 -0800 Joe Perches <[email protected]> wrote:
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")Miscellanea:
Quoted 7 lines
Quoted 3 lines
Quoted 1 line
o Remove unused return value from
trace_lookup_stackAcked-by Steven Rostedt <[email protected]>FWIW, this one should be Cc:stable - it's a plain and simple bugfix (so are all of those that used to return the result of
seq_printf()from ->show()).
Nah, it's not really a bugfix here.
Patches sent to stable should fix actual bugs or failures.
Sure, it's a defect, but it's only a logical one, not an actual one. It doesn't/can't fail in practice.
This is only a single symbol and so it can't overflow the initial allocation.
Besides that, the return value of the containing function is ignored.
Re: [PATCH 19/27] s390: Remove use of seq_printf return value
In reply to Joe PerchesQuoted 6 lines · Joe Perches
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")
Regards,
Sebastian
Quoted 57 lines
Signed-off-by Joe Perches <[email protected]>--- arch/s390/pci/pci_debug.c | 6 ++++-- drivers/s390/cio/blacklist.c | 12 +++++++----- 2 files changed, 11 insertions(+), 7 deletions(-)arch/s390/pci/pci_debug.c +4
-2@@ -45,8 +45,10 @@ static int pci_perf_show(struct seq_file *m, void *v)if (!zdev)return 0 ; -if (!zdev->fmb) -return seq_printf (m,"FMB statistics disabled\n" ); +if (!zdev->fmb) { +seq_puts (m,"FMB statistics disabled\n" ); +return 0 ; + }/* header */ seq_printf (m,"FMB @ %p\n" , zdev->fmb);drivers/s390/cio/blacklist.c +7
-5@@ -330,18 +330,20 @@ cio_ignore_proc_seq_show(struct seq_file *s, void *it)if (!iter->in_range) {/* First device in range. */ if ((iter->devno == __MAX_SUBCHANNEL) || - !is_blacklisted (iter->ssid, iter->devno +1 )) + !is_blacklisted (iter->ssid, iter->devno +1 )) {/* Singular device. */ -return seq_printf (s,"0.%x.%04x\n" , - iter->ssid, iter->devno); +seq_printf (s,"0.%x.%04x\n" , iter->ssid, iter->devno); +return 0 ; + } iter->in_range =1 ; -return seq_printf (s,"0.%x.%04x-" , iter->ssid, iter->devno); +seq_printf (s,"0.%x.%04x-" , iter->ssid, iter->devno); +return 0 ; }if ((iter->devno == __MAX_SUBCHANNEL) || !is_blacklisted (iter->ssid, iter->devno +1 )) {/* Last device in range. */ iter->in_range =0 ; -return seq_printf (s,"0.%x.%04x\n" , iter->ssid, iter->devno); +seq_printf (s,"0.%x.%04x\n" , iter->ssid, iter->devno); }return 0 ; }Signature · 1 line
2.1.2
Re: [PATCH 23/27] cgroup: Remove use of seq_printf return value
In reply to Joe PerchesQuoted 7 lines · Joe Perches
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")Signed-off-by Joe Perches <[email protected]>
Please feel free to route the patch as you see fit.
Thanks.
Signature · 1 line
tejun
Re: [PATCH 06/27] power: wakeup: Remove use of seq_printf return value
In reply to Joe PerchesQuoted 5 lines · Joe Perches
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")
You've just removed overflow handling from print_wakeup_source_stats. Can you explain why that is good idea?
Pavel
Quoted 32 lines
drivers/base/power/wakeup.c +7
-9@@ -842,7 +842,6 @@ static int print_wakeup_source_stats(struct seq_file *m,unsigned long active_count;ktime_t active_time;ktime_t prevent_sleep_time; -int ret;spin_lock_irqsave (&ws->lock, flags);@@ -865,17 +864,16 @@ static int print_wakeup_source_stats(struct seq_file *m, active_time =ktime_set (0 ,0 ); } - ret =seq_printf (m,"%-12s\t%lu\t\t%lu\t\t%lu\t\t%lu\t\t" -"%lld\t\t%lld\t\t%lld\t\t%lld\t\t%lld\n" , - ws->name, active_count, ws->event_count, - ws->wakeup_count, ws->expire_count, -ktime_to_ms (active_time),ktime_to_ms (total_time), -ktime_to_ms (max_time),ktime_to_ms (ws->last_time), -ktime_to_ms (prevent_sleep_time)); +seq_printf (m,"%-12s\t%lu\t\t%lu\t\t%lu\t\t%lu\t\t%lld\t\t%lld\t\t%lld\t\t%lld\t\t%lld\n" , + ws->name, active_count, ws->event_count, + ws->wakeup_count, ws->expire_count, +ktime_to_ms (active_time),ktime_to_ms (total_time), +ktime_to_ms (max_time),ktime_to_ms (ws->last_time), +ktime_to_ms (prevent_sleep_time));spin_unlock_irqrestore (&ws->lock, flags); -return ret; +return 0 ;
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Re: [PATCH 06/27] power: wakeup: Remove use of seq_printf return value
Quoted 11 lines · Pavel Machek
Quoted 5 lines · Joe Perches
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")You've just removed overflow handling from
print_wakeup_source_stats.Can you explain why that is good idea?
If overflow occurs, the seq_file subsystem allocates a bigger buffer and calls the show function again.
See Al's comment in the 0/n patch and here:
https://lkml.org/lkml/2015/2/17/642
Re: [PATCH V2 - 15/27] cris: Remove use of seq_printf return value
In reply to Joe PerchesQuoted 7 lines · Joe Perches
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")Signed-off-by Joe Perches <[email protected]>
/^JN - Jesper Nilsson
Signature · 1 line
Jesper Nilsson -- [email protected]
Re: [PATCH 11/27] microblaze: mb: Remove use of seq_printf return value
In reply to Joe PerchesHi Joe,
Quoted 177 lines · Joe Perches
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")Signed-off-by Joe Perches <[email protected]>--- arch/microblaze/kernel/cpu/mb.c | 149 ++++++++++++++++++++-------------------- 1 file changed, 73 insertions(+), 76 deletions(-)arch/microblaze/kernel/cpu/mb.c +72
-70@@ -27,7 +27,6 @@static int show_cpuinfo (struct seq_file *m,void *v) { -int count =0 ;char *fpga_family ="Unknown" ;char *cpu_ver ="Unknown" ;int i;@@ -48,91 +47,89 @@ static int show_cpuinfo(struct seq_file *m, void *v) } } - count =seq_printf (m, -"CPU-Family: MicroBlaze\n" -"FPGA-Arch: %s\n" -"CPU-Ver: %s, %s endian\n" -"CPU-MHz: %d.%02d\n" -"BogoMips: %lu.%02lu\n" , - fpga_family, - cpu_ver, - cpuinfo.endian ?"little" :"big" , - cpuinfo.cpu_clock_freq / -1000000 , - cpuinfo.cpu_clock_freq % -1000000 , - loops_per_jiffy / (500000 /HZ ), - (loops_per_jiffy / (5000 /HZ )) %100 ); - - count +=seq_printf (m, -"HW:\n Shift:\t\t%s\n" -" MSR:\t\t%s\n" -" PCMP:\t\t%s\n" -" DIV:\t\t%s\n" , - (cpuinfo.use_instr &PVR0_USE_BARREL_MASK ) ?"yes" :"no" , - (cpuinfo.use_instr &PVR2_USE_MSR_INSTR ) ?"yes" :"no" , - (cpuinfo.use_instr &PVR2_USE_PCMP_INSTR ) ?"yes" :"no" , - (cpuinfo.use_instr &PVR0_USE_DIV_MASK ) ?"yes" :"no" ); - - count +=seq_printf (m, -" MMU:\t\t%x\n" , - cpuinfo.mmu); - - count +=seq_printf (m, -" MUL:\t\t%s\n" -" FPU:\t\t%s\n" , - (cpuinfo.use_mult &PVR2_USE_MUL64_MASK ) ?"v2" : - (cpuinfo.use_mult &PVR0_USE_HW_MUL_MASK ) ?"v1" :"no" , - (cpuinfo.use_fpu &PVR2_USE_FPU2_MASK ) ?"v2" : - (cpuinfo.use_fpu &PVR0_USE_FPU_MASK ) ?"v1" :"no" ); - - count +=seq_printf (m, -" Exc:\t\t%s%s%s%s%s%s%s%s\n" , - (cpuinfo.use_exc & PVR2_OPCODE_0x0_ILL_MASK) ?"op0x0 " :"" , - (cpuinfo.use_exc &PVR2_UNALIGNED_EXC_MASK ) ?"unal " :"" , - (cpuinfo.use_exc &PVR2_ILL_OPCODE_EXC_MASK ) ?"ill " :"" , - (cpuinfo.use_exc &PVR2_IOPB_BUS_EXC_MASK ) ?"iopb " :"" , - (cpuinfo.use_exc &PVR2_DOPB_BUS_EXC_MASK ) ?"dopb " :"" , - (cpuinfo.use_exc &PVR2_DIV_ZERO_EXC_MASK ) ?"zero " :"" , - (cpuinfo.use_exc &PVR2_FPU_EXC_MASK ) ?"fpu " :"" , - (cpuinfo.use_exc &PVR2_USE_FSL_EXC ) ?"fsl " :"" ); - - count +=seq_printf (m, -"Stream-insns:\t%sprivileged\n" , - cpuinfo.mmu_privins ?"un" :"" ); +seq_printf (m, +"CPU-Family: MicroBlaze\n" +"FPGA-Arch: %s\n" +"CPU-Ver: %s, %s endian\n" +"CPU-MHz: %d.%02d\n" +"BogoMips: %lu.%02lu\n" , + fpga_family, + cpu_ver, + cpuinfo.endian ?"little" :"big" , + cpuinfo.cpu_clock_freq /1000000 , + cpuinfo.cpu_clock_freq %1000000 , + loops_per_jiffy / (500000 /HZ ), + (loops_per_jiffy / (5000 /HZ )) %100 ); + +seq_printf (m, +"HW:\n Shift:\t\t%s\n" +" MSR:\t\t%s\n" +" PCMP:\t\t%s\n" +" DIV:\t\t%s\n" , + (cpuinfo.use_instr &PVR0_USE_BARREL_MASK ) ?"yes" :"no" , + (cpuinfo.use_instr &PVR2_USE_MSR_INSTR ) ?"yes" :"no" , + (cpuinfo.use_instr &PVR2_USE_PCMP_INSTR ) ?"yes" :"no" , + (cpuinfo.use_instr &PVR0_USE_DIV_MASK ) ?"yes" :"no" ); + +seq_printf (m," MMU:\t\t%x\n" , cpuinfo.mmu); + +seq_printf (m, +" MUL:\t\t%s\n" +" FPU:\t\t%s\n" , + (cpuinfo.use_mult &PVR2_USE_MUL64_MASK ) ?"v2" : + (cpuinfo.use_mult &PVR0_USE_HW_MUL_MASK ) ?"v1" :"no" , + (cpuinfo.use_fpu &PVR2_USE_FPU2_MASK ) ?"v2" : + (cpuinfo.use_fpu &PVR0_USE_FPU_MASK ) ?"v1" :"no" ); + +seq_printf (m, +" Exc:\t\t%s%s%s%s%s%s%s%s\n" , + (cpuinfo.use_exc & PVR2_OPCODE_0x0_ILL_MASK) ?"op0x0 " :"" , + (cpuinfo.use_exc &PVR2_UNALIGNED_EXC_MASK ) ?"unal " :"" , + (cpuinfo.use_exc &PVR2_ILL_OPCODE_EXC_MASK ) ?"ill " :"" , + (cpuinfo.use_exc &PVR2_IOPB_BUS_EXC_MASK ) ?"iopb " :"" , + (cpuinfo.use_exc &PVR2_DOPB_BUS_EXC_MASK ) ?"dopb " :"" , + (cpuinfo.use_exc &PVR2_DIV_ZERO_EXC_MASK ) ?"zero " :"" , + (cpuinfo.use_exc &PVR2_FPU_EXC_MASK ) ?"fpu " :"" , + (cpuinfo.use_exc &PVR2_USE_FSL_EXC ) ?"fsl " :"" ); + +seq_printf (m, +"Stream-insns:\t%sprivileged\n" , + cpuinfo.mmu_privins ?"un" :"" );if (cpuinfo.use_icache) - count +=seq_printf (m, -"Icache:\t\t%ukB\tline length:\t%dB\n" , - cpuinfo.icache_size >>10 , - cpuinfo.icache_line_length); +seq_printf (m, +"Icache:\t\t%ukB\tline length:\t%dB\n" , + cpuinfo.icache_size >>10 , + cpuinfo.icache_line_length);else - count +=seq_printf (m,"Icache:\t\tno\n" ); + x seq_puts(m, "Icache:\t\tno\n");if (cpuinfo.use_dcache) { - count +=seq_printf (m, -"Dcache:\t\t%ukB\tline length:\t%dB\n" , - cpuinfo.dcache_size >>10 , - cpuinfo.dcache_line_length); -seq_printf (m,"Dcache-Policy:\t" ); +seq_printf (m, +"Dcache:\t\t%ukB\tline length:\t%dB\n" , + cpuinfo.dcache_size >>10 , + cpuinfo.dcache_line_length); +seq_puts (m,"Dcache-Policy:\t" );if (cpuinfo.dcache_wb) - count +=seq_printf (m,"write-back\n" ); +seq_puts (m,"write-back\n" );else - count +=seq_printf (m,"write-through\n" ); - }else - count +=seq_printf (m,"Dcache:\t\tno\n" ); +seq_puts (m,"write-through\n" ); + }else { +seq_puts (m,"Dcache:\t\tno\n" ); + } + +seq_printf (m, +"HW-Debug:\t%s\n" , + cpuinfo.hw_debug ?"yes" :"no" ); - count +=seq_printf (m, -"HW-Debug:\t%s\n" , - cpuinfo.hw_debug ?"yes" :"no" ); +seq_printf (m, +"PVR-USR1:\t%02x\n" +"PVR-USR2:\t%08x\n" , + cpuinfo.pvr_user1, + cpuinfo.pvr_user2);
arch/microblaze/kernel/cpu/mb.c static int show_cpuinfo(struct seq_file *m, void *v) · line 134
Quoted 10 lines
arch/microblaze/kernel/cpu/mb.c +1
-6- count +=seq_printf (m, -"PVR-USR1:\t%02x\n" -"PVR-USR2:\t%08x\n" , - cpuinfo.pvr_user1, - cpuinfo.pvr_user2); +seq_printf (m,"Page size:\t%lu\n" ,PAGE_SIZE ); - count +=seq_printf (m,"Page size:\t%lu\n" ,PAGE_SIZE );return 0 ; }
Do you want to add it to microblaze next branch?
Thanks,
Michal
Signature · 5 lines
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/ Maintainer of Linux kernel - Xilinx Zynq ARM architecture Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform
Re: [PATCH 06/27] power: wakeup: Remove use of seq_printf return value
In reply to Joe PerchesQuoted 11 lines · Joe Perches
Quoted 10 lines · Pavel Machek
Quoted 5 lines · Joe Perches
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")You've just removed overflow handling from
print_wakeup_source_stats.
Quoted 7 lines
Quoted 1 line
Can you explain why that is good idea?
If overflow occurs, the
seq_filesubsystem allocates a bigger buffer and calls the show function again.See Al's comment in the 0/n patch and here:
https://lkml.org/lkml/2015/2/17/642
You may want to explain while this is good idea in the changelog.
Quoted 1 line
From your explanation it looks like error is somehow handled
on higher-level retry, but...
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Mark Brown
maintainerRe: [PATCH 27/27] regulator: dbx500: Remove use of seq_puts/seq_printf return value
In reply to Joe PerchesQuoted 2 lines · Joe Perches
The seq_puts/seq_printf return value, because it's frequently misused, will eventually be converted to void.
I'm missing both the cover letter and the previous 26 patches - are there any dependencies?
Re: [PATCH 27/27] regulator: dbx500: Remove use of seq_puts/seq_printf return value
Quoted 6 lines · Mark Brown
Quoted 2 lines · Joe Perches
The seq_puts/seq_printf return value, because it's frequently misused, will eventually be converted to void.
I'm missing both the cover letter and the previous 26 patches - are there any dependencies?
The cover letter was sent only to mailing lists because adding all the various maintainers to the cover letter would cause mailing list bounces.
https://lkml.org/lkml/2015/2/21/221
No dependencies.
Steven Rostedt
maintainerRe: [PATCH 24/27] tracing: Remove use of seq_printf return value
In reply to Joe PerchesQuoted 8 lines · On Sun, 22 Feb 2015 02:39:38 -0800 Joe Perches <[email protected]> wrote:
Quoted 3 lines
FWIW, this one should be Cc:stable - it's a plain and simple bugfix (so are all of those that used to return the result of
seq_printf()from ->show()).Nah, it's not really a bugfix here.
Patches sent to stable should fix actual bugs or failures.
Quoted 9 lines
Sure, it's a defect, but it's only a logical one, not an actual one. It doesn't/can't fail in practice.
This is only a single symbol and so it can't overflow the initial allocation.
Besides that, the return value of the containing function is ignored.
Right, there's nothing that will actually break with the current code. The return value is ignored in the one place it is used. And no new code is going to expect a result.
It's a fix that's fine for the next merge window. It's not even important enough to get into this window.
-- Steve
Re: [PATCH 24/27] tracing: Remove use of seq_printf return value
Quoted 21 lines · Steven Rostedt
Quoted 8 lines · On Sun, 22 Feb 2015 02:39:38 -0800 Joe Perches <[email protected]> wrote:
Quoted 3 lines
FWIW, this one should be Cc:stable - it's a plain and simple bugfix (so are all of those that used to return the result of
seq_printf()from ->show()).Nah, it's not really a bugfix here.
Patches sent to stable should fix actual bugs or failures.
Quoted 9 lines
Sure, it's a defect, but it's only a logical one, not an actual one. It doesn't/can't fail in practice.
This is only a single symbol and so it can't overflow the initial allocation.
Besides that, the return value of the containing function is ignored.
Quoted 6 lines
Right, there's nothing that will actually break with the current code. The return value is ignored in the one place it is used. And no new code is going to expect a result.
It's a fix that's fine for the next merge window. It's not even important enough to get into this window.
All of these "int->void seq_<foo>" changes are for 4.1 or whatever the next version is going to be called.
And I think date based kernel versioning like <yyyy.mm.v> would have been better.
Re: [21/27] watchdog: bcm281xx: Remove use of seq_printf return value
In reply to Joe PerchesQuoted 7 lines · Joe Perches
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")Signed-off-by Joe Perches <[email protected]>
Andrew Morton
maintainerRe: [PATCH 07/27] ipmi: Remove use of seq_printf return value
In reply to Joe PerchesQuoted 5 lines · On Sat, 21 Feb 2015 18:53:34 -0800 Joe Perches <[email protected]> wrote:
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")
4.0-rc1 appears to have an earlier and different version of this.
commit d6c5dc18d863338528f4e89e8dba9449c6e30f4e
Author: Joe Perches <[email protected]> AuthorDate: Tue Feb 17 11:10:56 2015 -0800 Commit: Corey Minyard <[email protected]> CommitDate: Thu Feb 19 20:58:41 2015 -0600
ipmi: Remove uses of return value of seq_printf
Re: [PATCH 07/27] ipmi: Remove use of seq_printf return value
Quoted 10 lines · Andrew Morton
Quoted 5 lines · On Sat, 21 Feb 2015 18:53:34 -0800 Joe Perches <[email protected]> wrote:
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")4.0-rc1 appears to have an earlier and different version of this.
Quoted 7 lines
commit
d6c5dc18d863338528f4e89e8dba9449c6e30f4eAuthor: Joe Perches <[email protected]> AuthorDate: Tue Feb 17 11:10:56 2015 -0800 Commit: Corey Minyard <[email protected]> CommitDate: Thu Feb 19 20:58:41 2015 -0600ipmi: Remove uses of return value of
seq_printf
Yeah, I sent Corey a relative patch too.
Mark Brown
maintainerRe: [PATCH 27/27] regulator: dbx500: Remove use of seq_puts/seq_printf return value
In reply to Joe PerchesQuoted 7 lines · Joe Perches
The cover letter was sent only to mailing lists because adding all the various maintainers to the cover letter would cause mailing list bounces.
https://lkml.org/lkml/2015/2/21/221
No dependencies.
OK, I've applied it. If you're doing something like this where your "series" doesn't actually have any dependencies it's probably better to just send a lot of individual patches, that's much easier to understand and handle than just getting one odd patch in the middle of a series and means things are less likely to get snarled up by process as a result.
PATCH v2 11/27 microblaze: mb: Remove use of seq_printf return value
In reply to Joe PerchesThe seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
---
V2: Joe can't type.
Remove errant x char after tab found by kbuild test robot
arch/microblaze/kernel/cpu/mb.c | 149 ++++++++++++++++++++-------------------- 1 file changed, 73 insertions(+), 76 deletions(-)
arch/microblaze/kernel/cpu/mb.c +73 -76
@@ -27,7 +27,6 @@static int show_cpuinfo (struct seq_file *m,void *v) { -int count =0 ;char *fpga_family ="Unknown" ;char *cpu_ver ="Unknown" ;int i;
@@ -48,91 +47,89 @@ static int show_cpuinfo(struct seq_file *m, void *v) } } - count =seq_printf (m, -"CPU-Family: MicroBlaze\n" -"FPGA-Arch: %s\n" -"CPU-Ver: %s, %s endian\n" -"CPU-MHz: %d.%02d\n" -"BogoMips: %lu.%02lu\n" , - fpga_family, - cpu_ver, - cpuinfo.endian ?"little" :"big" , - cpuinfo.cpu_clock_freq / -1000000 , - cpuinfo.cpu_clock_freq % -1000000 , - loops_per_jiffy / (500000 /HZ ), - (loops_per_jiffy / (5000 /HZ )) %100 ); - - count +=seq_printf (m, -"HW:\n Shift:\t\t%s\n" -" MSR:\t\t%s\n" -" PCMP:\t\t%s\n" -" DIV:\t\t%s\n" , - (cpuinfo.use_instr &PVR0_USE_BARREL_MASK ) ?"yes" :"no" , - (cpuinfo.use_instr &PVR2_USE_MSR_INSTR ) ?"yes" :"no" , - (cpuinfo.use_instr &PVR2_USE_PCMP_INSTR ) ?"yes" :"no" , - (cpuinfo.use_instr &PVR0_USE_DIV_MASK ) ?"yes" :"no" ); - - count +=seq_printf (m, -" MMU:\t\t%x\n" , - cpuinfo.mmu); - - count +=seq_printf (m, -" MUL:\t\t%s\n" -" FPU:\t\t%s\n" , - (cpuinfo.use_mult &PVR2_USE_MUL64_MASK ) ?"v2" : - (cpuinfo.use_mult &PVR0_USE_HW_MUL_MASK ) ?"v1" :"no" , - (cpuinfo.use_fpu &PVR2_USE_FPU2_MASK ) ?"v2" : - (cpuinfo.use_fpu &PVR0_USE_FPU_MASK ) ?"v1" :"no" ); - - count +=seq_printf (m, -" Exc:\t\t%s%s%s%s%s%s%s%s\n" , - (cpuinfo.use_exc & PVR2_OPCODE_0x0_ILL_MASK) ?"op0x0 " :"" , - (cpuinfo.use_exc &PVR2_UNALIGNED_EXC_MASK ) ?"unal " :"" , - (cpuinfo.use_exc &PVR2_ILL_OPCODE_EXC_MASK ) ?"ill " :"" , - (cpuinfo.use_exc &PVR2_IOPB_BUS_EXC_MASK ) ?"iopb " :"" , - (cpuinfo.use_exc &PVR2_DOPB_BUS_EXC_MASK ) ?"dopb " :"" , - (cpuinfo.use_exc &PVR2_DIV_ZERO_EXC_MASK ) ?"zero " :"" , - (cpuinfo.use_exc &PVR2_FPU_EXC_MASK ) ?"fpu " :"" , - (cpuinfo.use_exc &PVR2_USE_FSL_EXC ) ?"fsl " :"" ); - - count +=seq_printf (m, -"Stream-insns:\t%sprivileged\n" , - cpuinfo.mmu_privins ?"un" :"" ); +seq_printf (m, +"CPU-Family: MicroBlaze\n" +"FPGA-Arch: %s\n" +"CPU-Ver: %s, %s endian\n" +"CPU-MHz: %d.%02d\n" +"BogoMips: %lu.%02lu\n" , + fpga_family, + cpu_ver, + cpuinfo.endian ?"little" :"big" , + cpuinfo.cpu_clock_freq /1000000 , + cpuinfo.cpu_clock_freq %1000000 , + loops_per_jiffy / (500000 /HZ ), + (loops_per_jiffy / (5000 /HZ )) %100 ); + +seq_printf (m, +"HW:\n Shift:\t\t%s\n" +" MSR:\t\t%s\n" +" PCMP:\t\t%s\n" +" DIV:\t\t%s\n" , + (cpuinfo.use_instr &PVR0_USE_BARREL_MASK ) ?"yes" :"no" , + (cpuinfo.use_instr &PVR2_USE_MSR_INSTR ) ?"yes" :"no" , + (cpuinfo.use_instr &PVR2_USE_PCMP_INSTR ) ?"yes" :"no" , + (cpuinfo.use_instr &PVR0_USE_DIV_MASK ) ?"yes" :"no" ); + +seq_printf (m," MMU:\t\t%x\n" , cpuinfo.mmu); + +seq_printf (m, +" MUL:\t\t%s\n" +" FPU:\t\t%s\n" , + (cpuinfo.use_mult &PVR2_USE_MUL64_MASK ) ?"v2" : + (cpuinfo.use_mult &PVR0_USE_HW_MUL_MASK ) ?"v1" :"no" , + (cpuinfo.use_fpu &PVR2_USE_FPU2_MASK ) ?"v2" : + (cpuinfo.use_fpu &PVR0_USE_FPU_MASK ) ?"v1" :"no" ); + +seq_printf (m, +" Exc:\t\t%s%s%s%s%s%s%s%s\n" , + (cpuinfo.use_exc & PVR2_OPCODE_0x0_ILL_MASK) ?"op0x0 " :"" , + (cpuinfo.use_exc &PVR2_UNALIGNED_EXC_MASK ) ?"unal " :"" , + (cpuinfo.use_exc &PVR2_ILL_OPCODE_EXC_MASK ) ?"ill " :"" , + (cpuinfo.use_exc &PVR2_IOPB_BUS_EXC_MASK ) ?"iopb " :"" , + (cpuinfo.use_exc &PVR2_DOPB_BUS_EXC_MASK ) ?"dopb " :"" , + (cpuinfo.use_exc &PVR2_DIV_ZERO_EXC_MASK ) ?"zero " :"" , + (cpuinfo.use_exc &PVR2_FPU_EXC_MASK ) ?"fpu " :"" , + (cpuinfo.use_exc &PVR2_USE_FSL_EXC ) ?"fsl " :"" ); + +seq_printf (m, +"Stream-insns:\t%sprivileged\n" , + cpuinfo.mmu_privins ?"un" :"" );if (cpuinfo.use_icache) - count +=seq_printf (m, -"Icache:\t\t%ukB\tline length:\t%dB\n" , - cpuinfo.icache_size >>10 , - cpuinfo.icache_line_length); +seq_printf (m, +"Icache:\t\t%ukB\tline length:\t%dB\n" , + cpuinfo.icache_size >>10 , + cpuinfo.icache_line_length);else - count +=seq_printf (m,"Icache:\t\tno\n" ); +seq_puts (m,"Icache:\t\tno\n" );if (cpuinfo.use_dcache) { - count +=seq_printf (m, -"Dcache:\t\t%ukB\tline length:\t%dB\n" , - cpuinfo.dcache_size >>10 , - cpuinfo.dcache_line_length); -seq_printf (m,"Dcache-Policy:\t" ); +seq_printf (m, +"Dcache:\t\t%ukB\tline length:\t%dB\n" , + cpuinfo.dcache_size >>10 , + cpuinfo.dcache_line_length); +seq_puts (m,"Dcache-Policy:\t" );if (cpuinfo.dcache_wb) - count +=seq_printf (m,"write-back\n" ); +seq_puts (m,"write-back\n" );else - count +=seq_printf (m,"write-through\n" ); - }else - count +=seq_printf (m,"Dcache:\t\tno\n" ); +seq_puts (m,"write-through\n" ); + }else { +seq_puts (m,"Dcache:\t\tno\n" ); + } + +seq_printf (m, +"HW-Debug:\t%s\n" , + cpuinfo.hw_debug ?"yes" :"no" ); - count +=seq_printf (m, -"HW-Debug:\t%s\n" , - cpuinfo.hw_debug ?"yes" :"no" ); +seq_printf (m, +"PVR-USR1:\t%02x\n" +"PVR-USR2:\t%08x\n" , + cpuinfo.pvr_user1, + cpuinfo.pvr_user2); - count +=seq_printf (m, -"PVR-USR1:\t%02x\n" -"PVR-USR2:\t%08x\n" , - cpuinfo.pvr_user1, - cpuinfo.pvr_user2); +seq_printf (m,"Page size:\t%lu\n" ,PAGE_SIZE ); - count +=seq_printf (m,"Page size:\t%lu\n" ,PAGE_SIZE );return 0 ; }
Greg Kroah-Hartman
maintainerRe: [PATCH 03/27] staging: lustre: Convert uses of "int rc = seq_printf(...)"
In reply to Joe PerchesQuoted 44 lines · Joe Perches
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")Convert these uses to:
seq_printf(seq, ...); return 0;Done via cocci script:
@@
structseq_file*seq;
int i;
@@(quoted diff) +1
-1- i = seq_printf(seq, + seq_printf(seq,...); ...(quoted diff) +1
-1- return i; + return 0;@@
structseq_file*seq;
int i;
@@(quoted diff) +1
-2- i = 0; - i += seq_printf(seq, + seq_printf(seq,...); ...(quoted diff) +1
-1- return i; + return 0;With some additional reformatting and typing post conversion to remove the now unnecessary "int i;" declaration.
Signed-off-by Joe Perches <[email protected]>Cc Oleg Drokin <[email protected]>Cc Andreas Dilger <[email protected]>Signed-off-by Andrew Morton <[email protected]>
Quoted 8 lines
--- drivers/staging/lustre/lustre/fid/lproc_fid.c | 23 +++--- drivers/staging/lustre/lustre/llite/lproc_llite.c | 5 +- drivers/staging/lustre/lustre/mdc/lproc_mdc.c | 6 +- drivers/staging/lustre/lustre/osc/lproc_osc.c | 45 ++++++------ .../staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c | 5 +- drivers/staging/lustre/lustre/ptlrpc/sec_bulk.c | 82 +++++++++++----------- 6 files changed, 79 insertions(+), 87 deletions(-)
This patch fails to apply to my tree anymore :(
Can you refresh it against the staging-testing branch of staging.git and resend?
thanks,
greg k-h
PATCH v2 3/27 staging: lustre: Convert uses of "int rc = seq_printf(...)"
The seq_printf return value, because it's frequently misused, will eventually be converted to void.
See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
seq_has_overflowed() and make public")
Convert these uses to:
seq_printf(seq, ...); return 0;
Done via cocci script:
@@
struct seq_file *seq;
int i;
@@
- i = seq_printf(seq,
+ seq_printf(seq,
...); ...
- return i;
+ return 0;
@@
struct seq_file *seq;
int i;
@@
- i = 0;
- i += seq_printf(seq,
+ seq_printf(seq,
...); ...
- return i;
+ return 0;
With some additional reformatting and typing post conversion to remove the now unnecessary "int i;" declaration.
--- drivers/staging/lustre/lustre/fid/lproc_fid.c | 23 +++--- drivers/staging/lustre/lustre/llite/lproc_llite.c | 4 +- drivers/staging/lustre/lustre/mdc/lproc_mdc.c | 6 +- drivers/staging/lustre/lustre/osc/lproc_osc.c | 44 ++++++------ .../staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c | 5 +- drivers/staging/lustre/lustre/ptlrpc/sec_bulk.c | 82 +++++++++++----------- 6 files changed, 81 insertions(+), 83 deletions(-)
drivers/staging/lustre/lustre/fid/lproc_fid.c +10 -13
@@ -120,15 +120,14 @@ static int lprocfs_fid_space_seq_show(struct seq_file *m, void *unused) { struct lu_client_seq *seq = (struct lu_client_seq *)m->private; -int rc;LASSERT (seq !=NULL );mutex_lock (&seq->lcs_mutex); - rc =seq_printf (m,"[%#llx - %#llx]:%x:%s\n" ,PRANGE (&seq->lcs_space)); +seq_printf (m,"[%#llx - %#llx]:%x:%s\n" ,PRANGE (&seq->lcs_space));mutex_unlock (&seq->lcs_mutex); -return rc; +return 0 ; } static ssize_t lprocfs_fid_width_seq_write(struct file *file,
@@ -170,30 +169,28 @@ static int lprocfs_fid_width_seq_show(struct seq_file *m, void *unused) { struct lu_client_seq *seq = (struct lu_client_seq *)m->private; -int rc;LASSERT (seq !=NULL );mutex_lock (&seq->lcs_mutex); - rc =seq_printf (m,"%llu\n" , seq->lcs_width); +seq_printf (m,"%llu\n" , seq->lcs_width);mutex_unlock (&seq->lcs_mutex); -return rc; +return 0 ; }static int lprocfs_fid_fid_seq_show (struct seq_file *m,void *unused) {struct lu_client_seq *seq = (struct lu_client_seq *)m->private; -int rc;LASSERT (seq !=NULL );mutex_lock (&seq->lcs_mutex); - rc =seq_printf (m,DFID "\n" ,PFID (&seq->lcs_fid)); +seq_printf (m,DFID "\n" ,PFID (&seq->lcs_fid));mutex_unlock (&seq->lcs_mutex); -return rc; +return 0 ; } static int
@@ -201,17 +198,17 @@ lprocfs_fid_server_seq_show(struct seq_file *m, void *unused) {struct lu_client_seq *seq = (struct lu_client_seq *)m->private;struct client_obd *cli; -int rc;LASSERT (seq !=NULL );if (seq->lcs_exp !=NULL ) { cli = &seq->lcs_exp->exp_obd->u.cli; - rc =seq_printf (m,"%s\n" , cli->cl_target_uuid.uuid); +seq_printf (m,"%s\n" , cli->cl_target_uuid.uuid); }else { - rc =seq_printf (m,"%s\n" , seq->lcs_srv->lss_name); +seq_printf (m,"%s\n" , seq->lcs_srv->lss_name); } -return rc; + +return 0 ; }LPROC_SEQ_FOPS (lprocfs_fid_space);
drivers/staging/lustre/lustre/llite/lproc_llite.c +3 -1
@@ -804,7 +804,9 @@ static int ll_xattr_cache_seq_show(struct seq_file *m, void *v)struct super_block *sb = m->private;struct ll_sb_info *sbi =ll_s2sbi (sb); -return seq_printf (m,"%u\n" , sbi->ll_xattr_cache_enabled); +seq_printf (m,"%u\n" , sbi->ll_xattr_cache_enabled); + +return 0 ; } static ssize_t ll_xattr_cache_seq_write(struct file *file,
drivers/staging/lustre/lustre/mdc/lproc_mdc.c +3 -3
@@ -43,12 +43,12 @@ static int mdc_max_rpcs_in_flight_seq_show(struct seq_file *m, void *v) {struct obd_device *dev = m->private;struct client_obd *cli = &dev->u.cli; -int rc;client_obd_list_lock (&cli->cl_loi_list_lock); - rc =seq_printf (m,"%u\n" , cli->cl_max_rpcs_in_flight); +seq_printf (m,"%u\n" , cli->cl_max_rpcs_in_flight);client_obd_list_unlock (&cli->cl_loi_list_lock); -return rc; + +return 0 ; } static ssize_t mdc_max_rpcs_in_flight_seq_write(struct file *file,
drivers/staging/lustre/lustre/osc/lproc_osc.c +23 -21
95 lines not on this page · raw message
drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c +2 -3
@@ -1328,13 +1328,12 @@ int lprocfs_rd_pinger_recov(struct seq_file *m, void *n) {struct obd_device *obd = m->private;struct obd_import *imp = obd->u.cli.cl_import; -int rc;LPROCFS_CLIMP_CHECK (obd); - rc =seq_printf (m,"%d\n" , !imp->imp_no_pinger_recover); +seq_printf (m,"%d\n" , !imp->imp_no_pinger_recover);LPROCFS_CLIMP_EXIT (obd); -return rc; +return 0 ; }EXPORT_SYMBOL (lprocfs_rd_pinger_recov);
drivers/staging/lustre/lustre/ptlrpc/sec_bulk.c +40 -42
92 lines not on this page · raw message
Lee Jones
AppliedRe: [PATCH 16/27] mfd: ab8500-debugfs: Remove use of seq_printf return value
In reply to Joe PerchesQuoted 5 lines · Joe Perches
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")
I'm not a fan of mixing functional patches with clean-ups, but I'm in a particually good mood today (it must be Firday).
Applied, thanks.
Quoted 444 lines
Signed-off-by Joe Perches <[email protected]>--- drivers/mfd/ab8500-debugfs.c | 196 ++++++++++++++++++++++++++----------------- 1 file changed, 121 insertions(+), 75 deletions(-)drivers/mfd/ab8500-debugfs.c +121
-75@@ -1283,7 +1283,7 @@ static irqreturn_t ab8500_debug_handler(int irq, void *data)/* Prints to seq_file or log_buf */ static int ab8500_registers_print (struct device *dev,u32 bank, -struct seq_file *s) +struct seq_file *s) {unsigned int i;@@ -1304,20 +1304,19 @@ static int ab8500_registers_print(struct device *dev, u32 bank, }if (s) { - err =seq_printf (s, -" [0x%02X/0x%02X]: 0x%02X\n" , - bank, reg, value); -if (err <0 ) { -/* Error is not returned here since -* the output is wanted in any case */ +seq_printf (s," [0x%02X/0x%02X]: 0x%02X\n" , + bank, reg, value); +/* Error is not returned here since +* the output is wanted in any case */ +if (seq_has_overflowed (s))return 0 ; - } }else {dev_info (dev," [0x%02X/0x%02X]: 0x%02X\n" , bank, reg, value); } } } +return 0 ; }@@ -1330,8 +1329,7 @@ static int ab8500_print_bank_registers(struct seq_file *s, void *p)seq_printf (s," bank 0x%02X:\n" , bank); -ab8500_registers_print (dev, bank, s); -return 0 ; +return ab8500_registers_print (dev, bank, s); }static int ab8500_registers_open (struct inode *inode,struct file *file)@@ -1355,9 +1353,12 @@ static int ab8500_print_all_banks(struct seq_file *s, void *p)seq_puts (s,AB8500_NAME_STRING " register values:\n" );for (i =0 ; i <AB8500_NUM_BANKS ; i++) { -seq_printf (s," bank 0x%02X:\n" , i); +int err; -ab8500_registers_print (dev, i, s); +seq_printf (s," bank 0x%02X:\n" , i); + err =ab8500_registers_print (dev, i, s); +if (err) +return err; }return 0 ; }@@ -1458,7 +1459,8 @@ static const struct file_operations ab8500_all_banks_fops = {static int ab8500_bank_print (struct seq_file *s,void *p) { -return seq_printf (s,"0x%02X\n" , debug_bank); +seq_printf (s,"0x%02X\n" , debug_bank); +return 0 ; }static int ab8500_bank_open (struct inode *inode,struct file *file)@@ -1490,7 +1492,8 @@ static ssize_t ab8500_bank_write(struct file *file,static int ab8500_address_print (struct seq_file *s,void *p) { -return seq_printf (s,"0x%02X\n" , debug_address); +seq_printf (s,"0x%02X\n" , debug_address); +return 0 ; }static int ab8500_address_open (struct inode *inode,struct file *file)@@ -1598,7 +1601,8 @@ static int ab8500_interrupts_print(struct seq_file *s, void *p)for (line =0 ; line < num_interrupt_lines; line++) {struct irq_desc *desc =irq_to_desc (line + irq_first); -seq_printf (s,"%3i: %6i %4i" , line, +seq_printf (s,"%3i: %6i %4i" , + line, num_interrupts[line], num_wake_interrupts[line]);@@ -1705,8 +1709,7 @@ static int ab8500_print_modem_registers(struct seq_file *s, void *p)dev_err (dev,"ab->read fail %d\n" , err);return err; } - err =seq_printf (s," [0x%02X/0x%02X]: 0x%02X\n" , - bank, reg, value); +seq_printf (s," [0x%02X/0x%02X]: 0x%02X\n" , bank, reg, value); } err =abx500_set_register_interruptible (dev,AB8500_REGU_CTRL1 ,AB8500_SUPPLY_CONTROL_REG , orig_value);@@ -1743,8 +1746,9 @@ static int ab8500_gpadc_bat_ctrl_print(struct seq_file *s, void *p) bat_ctrl_convert =ab8500_gpadc_ad_to_voltage (gpadc,BAT_CTRL , bat_ctrl_raw); -return seq_printf (s,"%d,0x%X\n" , - bat_ctrl_convert, bat_ctrl_raw); +seq_printf (s,"%d,0x%X\n" , bat_ctrl_convert, bat_ctrl_raw); + +return 0 ; }static int ab8500_gpadc_bat_ctrl_open (struct inode *inode,struct file *file)@@ -1773,8 +1777,9 @@ static int ab8500_gpadc_btemp_ball_print(struct seq_file *s, void *p) btemp_ball_convert =ab8500_gpadc_ad_to_voltage (gpadc,BTEMP_BALL , btemp_ball_raw); -return seq_printf (s, -"%d,0x%X\n" , btemp_ball_convert, btemp_ball_raw); +seq_printf (s,"%d,0x%X\n" , btemp_ball_convert, btemp_ball_raw); + +return 0 ; } static int ab8500_gpadc_btemp_ball_open(struct inode *inode,@@ -1804,8 +1809,9 @@ static int ab8500_gpadc_main_charger_v_print(struct seq_file *s, void *p) main_charger_v_convert =ab8500_gpadc_ad_to_voltage (gpadc,MAIN_CHARGER_V , main_charger_v_raw); -return seq_printf (s,"%d,0x%X\n" , - main_charger_v_convert, main_charger_v_raw); +seq_printf (s,"%d,0x%X\n" , main_charger_v_convert, main_charger_v_raw); + +return 0 ; } static int ab8500_gpadc_main_charger_v_open(struct inode *inode,@@ -1835,8 +1841,9 @@ static int ab8500_gpadc_acc_detect1_print(struct seq_file *s, void *p) acc_detect1_convert =ab8500_gpadc_ad_to_voltage (gpadc,ACC_DETECT1 , acc_detect1_raw); -return seq_printf (s,"%d,0x%X\n" , - acc_detect1_convert, acc_detect1_raw); +seq_printf (s,"%d,0x%X\n" , acc_detect1_convert, acc_detect1_raw); + +return 0 ; } static int ab8500_gpadc_acc_detect1_open(struct inode *inode,@@ -1866,8 +1873,9 @@ static int ab8500_gpadc_acc_detect2_print(struct seq_file *s, void *p) acc_detect2_convert =ab8500_gpadc_ad_to_voltage (gpadc,ACC_DETECT2 , acc_detect2_raw); -return seq_printf (s,"%d,0x%X\n" , - acc_detect2_convert, acc_detect2_raw); +seq_printf (s,"%d,0x%X\n" , acc_detect2_convert, acc_detect2_raw); + +return 0 ; } static int ab8500_gpadc_acc_detect2_open(struct inode *inode,@@ -1897,8 +1905,9 @@ static int ab8500_gpadc_aux1_print(struct seq_file *s, void *p) aux1_convert =ab8500_gpadc_ad_to_voltage (gpadc,ADC_AUX1 , aux1_raw); -return seq_printf (s,"%d,0x%X\n" , - aux1_convert, aux1_raw); +seq_printf (s,"%d,0x%X\n" , aux1_convert, aux1_raw); + +return 0 ; }static int ab8500_gpadc_aux1_open (struct inode *inode,struct file *file)@@ -1926,8 +1935,9 @@ static int ab8500_gpadc_aux2_print(struct seq_file *s, void *p) aux2_convert =ab8500_gpadc_ad_to_voltage (gpadc,ADC_AUX2 , aux2_raw); -return seq_printf (s,"%d,0x%X\n" , - aux2_convert, aux2_raw); +seq_printf (s,"%d,0x%X\n" , aux2_convert, aux2_raw); + +return 0 ; }static int ab8500_gpadc_aux2_open (struct inode *inode,struct file *file)@@ -1955,8 +1965,9 @@ static int ab8500_gpadc_main_bat_v_print(struct seq_file *s, void *p) main_bat_v_convert =ab8500_gpadc_ad_to_voltage (gpadc,MAIN_BAT_V , main_bat_v_raw); -return seq_printf (s,"%d,0x%X\n" , - main_bat_v_convert, main_bat_v_raw); +seq_printf (s,"%d,0x%X\n" , main_bat_v_convert, main_bat_v_raw); + +return 0 ; } static int ab8500_gpadc_main_bat_v_open(struct inode *inode,@@ -1986,8 +1997,9 @@ static int ab8500_gpadc_vbus_v_print(struct seq_file *s, void *p) vbus_v_convert =ab8500_gpadc_ad_to_voltage (gpadc,VBUS_V , vbus_v_raw); -return seq_printf (s,"%d,0x%X\n" , - vbus_v_convert, vbus_v_raw); +seq_printf (s,"%d,0x%X\n" , vbus_v_convert, vbus_v_raw); + +return 0 ; }static int ab8500_gpadc_vbus_v_open (struct inode *inode,struct file *file)@@ -2015,8 +2027,9 @@ static int ab8500_gpadc_main_charger_c_print(struct seq_file *s, void *p) main_charger_c_convert =ab8500_gpadc_ad_to_voltage (gpadc,MAIN_CHARGER_C , main_charger_c_raw); -return seq_printf (s,"%d,0x%X\n" , - main_charger_c_convert, main_charger_c_raw); +seq_printf (s,"%d,0x%X\n" , main_charger_c_convert, main_charger_c_raw); + +return 0 ; } static int ab8500_gpadc_main_charger_c_open(struct inode *inode,@@ -2046,8 +2059,9 @@ static int ab8500_gpadc_usb_charger_c_print(struct seq_file *s, void *p) usb_charger_c_convert =ab8500_gpadc_ad_to_voltage (gpadc,USB_CHARGER_C , usb_charger_c_raw); -return seq_printf (s,"%d,0x%X\n" , - usb_charger_c_convert, usb_charger_c_raw); +seq_printf (s,"%d,0x%X\n" , usb_charger_c_convert, usb_charger_c_raw); + +return 0 ; } static int ab8500_gpadc_usb_charger_c_open(struct inode *inode,@@ -2077,8 +2091,9 @@ static int ab8500_gpadc_bk_bat_v_print(struct seq_file *s, void *p) bk_bat_v_convert =ab8500_gpadc_ad_to_voltage (gpadc,BK_BAT_V , bk_bat_v_raw); -return seq_printf (s,"%d,0x%X\n" , - bk_bat_v_convert, bk_bat_v_raw); +seq_printf (s,"%d,0x%X\n" , bk_bat_v_convert, bk_bat_v_raw); + +return 0 ; }static int ab8500_gpadc_bk_bat_v_open (struct inode *inode,struct file *file)@@ -2107,8 +2122,9 @@ static int ab8500_gpadc_die_temp_print(struct seq_file *s, void *p) die_temp_convert =ab8500_gpadc_ad_to_voltage (gpadc,DIE_TEMP , die_temp_raw); -return seq_printf (s,"%d,0x%X\n" , - die_temp_convert, die_temp_raw); +seq_printf (s,"%d,0x%X\n" , die_temp_convert, die_temp_raw); + +return 0 ; }static int ab8500_gpadc_die_temp_open (struct inode *inode,struct file *file)@@ -2137,8 +2153,9 @@ static int ab8500_gpadc_usb_id_print(struct seq_file *s, void *p) usb_id_convert =ab8500_gpadc_ad_to_voltage (gpadc,USB_ID , usb_id_raw); -return seq_printf (s,"%d,0x%X\n" , - usb_id_convert, usb_id_raw); +seq_printf (s,"%d,0x%X\n" , usb_id_convert, usb_id_raw); + +return 0 ; }static int ab8500_gpadc_usb_id_open (struct inode *inode,struct file *file)@@ -2166,8 +2183,9 @@ static int ab8540_gpadc_xtal_temp_print(struct seq_file *s, void *p) xtal_temp_convert =ab8500_gpadc_ad_to_voltage (gpadc,XTAL_TEMP , xtal_temp_raw); -return seq_printf (s,"%d,0x%X\n" , - xtal_temp_convert, xtal_temp_raw); +seq_printf (s,"%d,0x%X\n" , xtal_temp_convert, xtal_temp_raw); + +return 0 ; }static int ab8540_gpadc_xtal_temp_open (struct inode *inode,struct file *file)@@ -2197,8 +2215,9 @@ static int ab8540_gpadc_vbat_true_meas_print(struct seq_file *s, void *p)ab8500_gpadc_ad_to_voltage (gpadc,VBAT_TRUE_MEAS , vbat_true_meas_raw); -return seq_printf (s,"%d,0x%X\n" , - vbat_true_meas_convert, vbat_true_meas_raw); +seq_printf (s,"%d,0x%X\n" , vbat_true_meas_convert, vbat_true_meas_raw); + +return 0 ; } static int ab8540_gpadc_vbat_true_meas_open(struct inode *inode,@@ -2233,9 +2252,13 @@ static int ab8540_gpadc_bat_ctrl_and_ibat_print(struct seq_file *s, void *p) ibat_convert =ab8500_gpadc_ad_to_voltage (gpadc,IBAT_VIRTUAL_CHANNEL , ibat_raw); -return seq_printf (s,"%d,0x%X\n" "%d,0x%X\n" , - bat_ctrl_convert, bat_ctrl_raw, - ibat_convert, ibat_raw); +seq_printf (s, +"%d,0x%X\n" +"%d,0x%X\n" , + bat_ctrl_convert, bat_ctrl_raw, + ibat_convert, ibat_raw); + +return 0 ; } static int ab8540_gpadc_bat_ctrl_and_ibat_open(struct inode *inode,@@ -2269,9 +2292,13 @@ static int ab8540_gpadc_vbat_meas_and_ibat_print(struct seq_file *s, void *p) ibat_convert =ab8500_gpadc_ad_to_voltage (gpadc,IBAT_VIRTUAL_CHANNEL , ibat_raw); -return seq_printf (s,"%d,0x%X\n" "%d,0x%X\n" , - vbat_meas_convert, vbat_meas_raw, - ibat_convert, ibat_raw); +seq_printf (s, +"%d,0x%X\n" +"%d,0x%X\n" , + vbat_meas_convert, vbat_meas_raw, + ibat_convert, ibat_raw); + +return 0 ; } static int ab8540_gpadc_vbat_meas_and_ibat_open(struct inode *inode,@@ -2307,9 +2334,13 @@ static int ab8540_gpadc_vbat_true_meas_and_ibat_print(struct seq_file *s, ibat_convert =ab8500_gpadc_ad_to_voltage (gpadc,IBAT_VIRTUAL_CHANNEL , ibat_raw); -return seq_printf (s,"%d,0x%X\n" "%d,0x%X\n" , - vbat_true_meas_convert, vbat_true_meas_raw, - ibat_convert, ibat_raw); +seq_printf (s, +"%d,0x%X\n" +"%d,0x%X\n" , + vbat_true_meas_convert, vbat_true_meas_raw, + ibat_convert, ibat_raw); + +return 0 ; } static int ab8540_gpadc_vbat_true_meas_and_ibat_open(struct inode *inode,@@ -2344,9 +2375,13 @@ static int ab8540_gpadc_bat_temp_and_ibat_print(struct seq_file *s, void *p) ibat_convert =ab8500_gpadc_ad_to_voltage (gpadc,IBAT_VIRTUAL_CHANNEL , ibat_raw); -return seq_printf (s,"%d,0x%X\n" "%d,0x%X\n" , - bat_temp_convert, bat_temp_raw, - ibat_convert, ibat_raw); +seq_printf (s, +"%d,0x%X\n" +"%d,0x%X\n" , + bat_temp_convert, bat_temp_raw, + ibat_convert, ibat_raw); + +return 0 ; } static int ab8540_gpadc_bat_temp_and_ibat_open(struct inode *inode,@@ -2373,16 +2408,19 @@ static int ab8540_gpadc_otp_cal_print(struct seq_file *s, void *p) gpadc =ab8500_gpadc_get ("ab8500-gpadc.0" );ab8540_gpadc_get_otp (gpadc, &vmain_l, &vmain_h, &btemp_l, &btemp_h, &vbat_l, &vbat_h, &ibat_l, &ibat_h); -return seq_printf (s,"VMAIN_L:0x%X\n" -"VMAIN_H:0x%X\n" -"BTEMP_L:0x%X\n" -"BTEMP_H:0x%X\n" -"VBAT_L:0x%X\n" -"VBAT_H:0x%X\n" -"IBAT_L:0x%X\n" -"IBAT_H:0x%X\n" , - vmain_l, vmain_h, btemp_l, btemp_h, - vbat_l, vbat_h, ibat_l, ibat_h); +seq_printf (s, +"VMAIN_L:0x%X\n" +"VMAIN_H:0x%X\n" +"BTEMP_L:0x%X\n" +"BTEMP_H:0x%X\n" +"VBAT_L:0x%X\n" +"VBAT_H:0x%X\n" +"IBAT_L:0x%X\n" +"IBAT_H:0x%X\n" , + vmain_l, vmain_h, btemp_l, btemp_h, + vbat_l, vbat_h, ibat_l, ibat_h); + +return 0 ; }static int ab8540_gpadc_otp_cal_open (struct inode *inode,struct file *file)@@ -2400,7 +2438,9 @@ static const struct file_operations ab8540_gpadc_otp_calib_fops = {static int ab8500_gpadc_avg_sample_print (struct seq_file *s,void *p) { -return seq_printf (s,"%d\n" , avg_sample); +seq_printf (s,"%d\n" , avg_sample); + +return 0 ; }static int ab8500_gpadc_avg_sample_open (struct inode *inode,struct file *file)@@ -2445,7 +2485,9 @@ static const struct file_operations ab8500_gpadc_avg_sample_fops = {static int ab8500_gpadc_trig_edge_print (struct seq_file *s,void *p) { -return seq_printf (s,"%d\n" , trig_edge); +seq_printf (s,"%d\n" , trig_edge); + +return 0 ; }static int ab8500_gpadc_trig_edge_open (struct inode *inode,struct file *file)@@ -2490,7 +2532,9 @@ static const struct file_operations ab8500_gpadc_trig_edge_fops = {static int ab8500_gpadc_trig_timer_print (struct seq_file *s,void *p) { -return seq_printf (s,"%d\n" , trig_timer); +seq_printf (s,"%d\n" , trig_timer); + +return 0 ; }static int ab8500_gpadc_trig_timer_open (struct inode *inode,struct file *file)@@ -2533,7 +2577,9 @@ static const struct file_operations ab8500_gpadc_trig_timer_fops = {static int ab8500_gpadc_conv_type_print (struct seq_file *s,void *p) { -return seq_printf (s,"%d\n" , conv_type); +seq_printf (s,"%d\n" , conv_type); + +return 0 ; }static int ab8500_gpadc_conv_type_open (struct inode *inode,struct file *file)
Signature · 4 lines
Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog
Wim Van Sebroeck
AppliedRe: [PATCH 21/27] watchdog: bcm281xx: Remove use of seq_printf return value
In reply to Joe PerchesHi Joe,
Quoted 70 lines
The
seq_printfreturn value, because it's frequently misused, will eventually be converted to void.See: commit
1f33c41c03da("seq_file: Renameseq_overflow()to
seq_has_overflowed()and make public")Signed-off-by Joe Perches <[email protected]>--- drivers/watchdog/bcm_kona_wdt.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-)drivers/watchdog/bcm_kona_wdt.c +16
-11@@ -99,12 +99,14 @@ static int secure_register_read(struct bcm_kona_wdt *wdt, uint32_t offset)static int bcm_kona_wdt_dbg_show (struct seq_file *s,void *data) { -int ctl_val, cur_val, ret; +int ctl_val, cur_val;unsigned long flags;struct bcm_kona_wdt *wdt = s->private; -if (!wdt) -return seq_puts (s,"No device pointer\n" ); +if (!wdt) { +seq_puts (s,"No device pointer\n" ); +return 0 ; + }spin_lock_irqsave (&wdt->lock, flags); ctl_val =secure_register_read (wdt,SECWDOG_CTRL_REG );@@ -112,7 +114,7 @@ static int bcm_kona_wdt_dbg_show(struct seq_file *s, void *data)spin_unlock_irqrestore (&wdt->lock, flags);if (ctl_val <0 || cur_val <0 ) { - ret =seq_puts (s,"Error accessing hardware\n" ); +seq_puts (s,"Error accessing hardware\n" ); }else {int ctl, cur, ctl_sec, cur_sec, res;@@ -121,15 +123,18 @@ static int bcm_kona_wdt_dbg_show(struct seq_file *s, void *data) cur = cur_val &SECWDOG_COUNT_MASK ; ctl_sec =TICKS_TO_SECS (ctl, wdt); cur_sec =TICKS_TO_SECS (cur, wdt); - ret =seq_printf (s,"Resolution: %d / %d\n" -"Control: %d s / %d (%#x) ticks\n" -"Current: %d s / %d (%#x) ticks\n" -"Busy count: %lu\n" , res, - wdt->resolution, ctl_sec, ctl, ctl, cur_sec, - cur, cur, wdt->busy_count); +seq_printf (s, +"Resolution: %d / %d\n" +"Control: %d s / %d (%#x) ticks\n" +"Current: %d s / %d (%#x) ticks\n" +"Busy count: %lu\n" , + res, wdt->resolution, + ctl_sec, ctl, ctl, + cur_sec, cur, cur, + wdt->busy_count); } -return ret; +return 0 ; }static int bcm_kona_dbg_open (struct inode *inode,struct file *file)Signature · 1 line
2.1.2
This patch was applied to linux-watchdog-next.
Kind regards,
Wim.