Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1317144
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] [media] xc5000: Faster result reporting in xc_load_fw_and_init_tuner() |
| Date | 2016-01-25 19:30 +0100 |
| Message-ID | <qUU3M-830-29@gated-at.bofh.it> (permalink) |
| References | <qEuGl-43C-5@gated-at.bofh.it> <qKLEu-6ta-17@gated-at.bofh.it> <qUSOp-7cE-73@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
>> This issue was detected by using the Coccinelle software.
>>
>> Split the previous if statement at the end so that each final log statement
>> will eventually be performed by a direct jump to these labels.
>> * report_failure
>> * report_success
>>
>> A check repetition can be excluded for the variable "ret" at the end then.
>>
>>
>> Apply also two recommendations from the script "checkpatch.pl".
>>
>> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
>> ---
>> drivers/media/tuners/xc5000.c | 16 +++++++---------
>> 1 file changed, 7 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/media/tuners/xc5000.c b/drivers/media/tuners/xc5000.c
>> index e6e5e90..1360677 100644
>> --- a/drivers/media/tuners/xc5000.c
>> +++ b/drivers/media/tuners/xc5000.c
>> @@ -1166,7 +1166,7 @@ static int xc_load_fw_and_init_tuner(struct dvb_frontend *fe, int force)
>>
>> ret = xc5000_fwupload(fe, desired_fw, fw);
>> if (ret != 0)
>> - goto err;
>> + goto report_failure;
>>
>> msleep(20);
>>
>> @@ -1229,18 +1229,16 @@ static int xc_load_fw_and_init_tuner(struct dvb_frontend *fe, int force)
>> /* Default to "CABLE" mode */
>> ret = xc_write_reg(priv, XREG_SIGNALSOURCE, XC_RF_MODE_CABLE);
>> if (!ret)
>> - break;
>> + goto report_success;
>> printk(KERN_ERR "xc5000: can't set to cable mode.");
>
> It sounds worth to avoid adding a goto here.
Are you interested in a bit of software optimisation for the implementation
of the function "xc_load_fw_and_init_tuner"?
>> }
>>
>> -err:
>> - if (!ret)
>> - printk(KERN_INFO "xc5000: Firmware %s loaded and running.\n",
>> - desired_fw->name);
>> - else
>> - printk(KERN_CONT " - too many retries. Giving up\n");
>> -
>> +report_failure:
>> + pr_cont(" - too many retries. Giving up\n");
>> return ret;
>> +report_success:
>> + pr_info("xc5000: Firmware %s loaded and running.\n", desired_fw->name);
>> + return 0;
>> }
>>
>> static void xc5000_do_timer_sleep(struct work_struct *timer_sleep)
Is the proposed source code restructuring interesting?
Regards,
Markus
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [PATCH] [media] xc5000: Faster result reporting in xc_load_fw_and_init_tuner() Mauro Carvalho Chehab <mchehab@osg.samsung.com> - 2016-01-25 18:10 +0100
Re: [PATCH] [media] xc5000: Faster result reporting in xc_load_fw_and_init_tuner() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-01-25 19:30 +0100
Re: [PATCH] [media] xc5000: Faster result reporting in xc_load_fw_and_init_tuner() Devin Heitmueller <dheitmueller@kernellabs.com> - 2016-01-25 19:40 +0100
csiph-web