Re: [PATCH] staging: comedi: shortened a long line
From: Joe Perches
Date: Sat Jun 09 2018 - 05:36:39 EST
On Sat, 2018-06-09 at 12:54 +0200, Chris Opperman wrote:
> Shortened a long line to improve readability in
> drivers/staging/comedi/drivers.c
Hi Chris.
Look at the whole function and see if you can
find a better way to write it instead of merely
doing what a brainless tool like checkpatch asks.
> diff --git a/drivers/staging/comedi/drivers.c b/drivers/staging/comedi/drivers.c
[]
> @@ -475,7 +475,8 @@ unsigned int comedi_nsamples_left(struct comedi_subdevice *s,
> struct comedi_cmd *cmd = &async->cmd;
>
> if (cmd->stop_src == TRIG_COUNT) {
> - unsigned int scans_left = __comedi_nscans_left(s, cmd->stop_arg);
> + unsigned int scans_left =
> + __comedi_nscans_left(s, cmd->stop_arg);
> unsigned int scan_pos =
> comedi_bytes_to_samples(s, async->scan_progress);
> unsigned long long samples_left = 0;
For instance, this is the existing function:
unsigned int comedi_nsamples_left(struct comedi_subdevice *s,
unsigned int nsamples)
{
struct comedi_async *async = s->async;
struct comedi_cmd *cmd = &async->cmd;
if (cmd->stop_src == TRIG_COUNT) {
unsigned int scans_left = __comedi_nscans_left(s, cmd->stop_arg);
unsigned int scan_pos =
comedi_bytes_to_samples(s, async->scan_progress);
unsigned long long samples_left = 0;
if (scans_left) {
samples_left = ((unsigned long long)scans_left *
cmd->scan_end_arg) - scan_pos;
}
if (samples_left < nsamples)
nsamples = samples_left;
}
return nsamples;
}
EXPORT_SYMBOL_GPL(comedi_nsamples_left);
By using multiple returns and removing indentation,
this could become something that doesn't fits
neatly on 80 columns.
It's the same number of vertical lines too.
unsigned int comedi_nsamples_left(struct comedi_subdevice *s,
unsigned int nsamples)
{
struct comedi_async *async = s->async;
struct comedi_cmd *cmd = &async->cmd;
unsigned int scans_left;
u64 samples_left;
if (cmd->stop_src != TRIG_COUNT)
return nsamples;
scans_left = __comedi_nscans_left(s, cmd->stop_arg);
if (scans_left == 0)
return 0;
samples_left = (u64)scans_left * cmd->scan_end_arg -
comedi_bytes_to_samples(s, s->async->scan_progress);
if (samples_left < nsamples)
return samples_left;
return nsamples;
}
EXPORT_SYMBOL_GPL(comedi_nsamples_left);