Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1625432

Re: [PATCH] regulator/core.c: remove the else statement

From Joe Perches <joe@perches.com>
Newsgroups linux.kernel
Subject Re: [PATCH] regulator/core.c: remove the else statement
Date 2017-04-18 18:30 +0200
Message-ID <txEaR-8kF-9@gated-at.bofh.it> (permalink)
References <txDya-7Sz-15@gated-at.bofh.it> <txDHQ-7VF-21@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Tue, 2017-04-18 at 16:49 +0100, Mark Brown wrote:
> On Tue, Apr 18, 2017 at 11:39:34PM +0800, hubiaoyong wrote:
> > in the function regulator_ena_gpio_free, the if branch contains
> > the return statement, so remove the else statement.
> 
> Why is it a benefit to make this change?

In general, reducing source code indentation is a good thing.

The logic today is:

	/* Free the GPIO only in case of no use */
	list_for_each_entry_safe(pin, n, &regulator_ena_gpio_list, list) {
		if (pin->gpiod == rdev->ena_pin->gpiod) {
			if (pin->request_count <= 1) {
				pin->request_count = 0;
				gpiod_put(pin->gpiod);
				list_del(&pin->list);
				kfree(pin);
				rdev->ena_pin = NULL;
				return;
			} else {
				pin->request_count--;
			}
		}
	}

Perhaps it's better written as:

	/* Free the GPIO only in case of no use */
	list_for_each_entry_safe(pin, n, &regulator_ena_gpio_list, list) {
		if (pin->gpiod != rdev->ena_pin->gpiod)
			continue;
		if (pin->request_count <= 1) {
			pin->request_count = 0;
			gpiod_put(pin->gpiod);
			list_del(&pin->list);
			kfree(pin);
			rdev->ena_pin = NULL;
			return;
		}
		pin->request_count--;
	}

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] regulator/core.c: remove the else statement hubiaoyong <hubiaoyong@gmail.com> - 2017-04-18 17:50 +0200
  Re: [PATCH] regulator/core.c: remove the else statement Mark Brown <broonie@kernel.org> - 2017-04-18 18:00 +0200
    Re: [PATCH] regulator/core.c: remove the else statement Joe Perches <joe@perches.com> - 2017-04-18 18:30 +0200
      Re: [PATCH] regulator/core.c: remove the else statement Mark Brown <broonie@kernel.org> - 2017-04-19 18:30 +0200

csiph-web