[PATCH 1/8] staging: comedi: rearrange comedi_write() code

Hartley Sweeten HartleyS at visionengravers.com
Thu Nov 19 17:03:05 UTC 2015


On Wednesday, November 18, 2015 10:55 AM, Ian Abbott wrote:
> Rearrange the code in `comedi_write()` to reduce the amount of
> indentation.  The code never reiterates the `while` loop once `count`
> has become non-zero, so we can check that in the `while` condition to
> save an indentation level.  (Note that `nbytes` has been checked to be
> non-zero before entering the loop, so we can remove that check.)  Move
> the code that makes the subdevice "become non-busy" outside the `while`
> loop, using a new flag variable `become_nonbusy` to decide whether it
> needs to be done.  This simplifies the wait queue handling so there is a
> single place where the task is removed from the wait queue, and we can
> remove the `on_wait_queue` flag variable.
>
> Signed-off-by: Ian Abbott <abbotti at mev.co.uk>
> ---
>  drivers/staging/comedi/comedi_fops.c | 71 +++++++++++++++---------------------
>  1 file changed, 30 insertions(+), 41 deletions(-)

Ian,

Minor nit-pick...

[snip]

> -out:
> -	if (on_wait_queue)
> -		remove_wait_queue(&async->wait_head, &wait);
> +	remove_wait_queue(&async->wait_head, &wait);
>  	set_current_state(TASK_RUNNING);
> +	if (become_nonbusy && count == 0) {

It looks like 'count' will always be 0 here.

Regards
Hartley



More information about the devel mailing list