All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Jon Hunter <jon-hunter@ti.com>
Cc: Vinod Koul <vinod.koul@intel.com>, Arnd Bergmann <arnd@arndb.de>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] dma: of: Remove check on always true condition
Date: Mon, 22 Apr 2013 23:00:37 +0200	[thread overview]
Message-ID: <5175A4F5.1050304@metafoo.de> (raw)
In-Reply-To: <5175A317.1010304@ti.com>

On 04/22/2013 10:52 PM, Jon Hunter wrote:
> 
> On 04/22/2013 03:33 AM, Lars-Peter Clausen wrote:
>> Both of_dma_nbcells field of the of_dma_controller and the args_count field of
>> the dma_spec are initialized by parsing the #dma-cells attribute of their device
>> tree node. So if the device tree nodes of a DMA controller and the dma_spec
>> match this means that of_dma_nbcells and args_count will also match. So the
>> second test in the of_dma_find_controller loop is redundant because given the
>> first test yields true the second test will also yield true. So we can safely
>> remove the test whether of_dma_nbcells matches args_count. Since this was the
>> last user of the of_dma_nbcells field we can remove it altogether.
> 
> This assumes that someone has correctly added the dma information to the
> dma slave binding. I could see systems where different dma controllers
> have different of_dma_nbcells and so someone could put the enter wrong
> number of cells for a dma slave binding. Its really to catch user error.

No, this assumes nothing. The condition will _always_ be true.

dma_spec->args_count is initialized by parsing the #dma-cells attribute of
dma_sepc->np. of_dma->of_dma_nbcells is initialized by parsing the #dma-cells
attribute of of_dma->of_node. If ofdma->of_node equals dma_spec->np then
dma_spec->args_count will also equal of_dma->of_dma_nbcells.

> 
>> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
>> ---
>>  drivers/dma/of-dma.c   | 14 +-------------
>>  include/linux/of_dma.h |  1 -
>>  2 files changed, 1 insertion(+), 14 deletions(-)
>>
>> diff --git a/drivers/dma/of-dma.c b/drivers/dma/of-dma.c
>> index 268cc8a..75334bd 100644
>> --- a/drivers/dma/of-dma.c
>> +++ b/drivers/dma/of-dma.c
>> @@ -35,8 +35,7 @@ static struct of_dma *of_dma_find_controller(struct of_phandle_args *dma_spec)
>>  	struct of_dma *ofdma;
>>  
>>  	list_for_each_entry(ofdma, &of_dma_list, of_dma_controllers)
>> -		if ((ofdma->of_node == dma_spec->np) &&
>> -		    (ofdma->of_dma_nbcells == dma_spec->args_count))
>> +		if (ofdma->of_node == dma_spec->np)
>>  			return ofdma;
> 
> Other device-tree functions perform similar tests to this such as ...
> 

So it's redundant there as well ;)

> static int of_gpiochip_find_and_xlate(struct gpio_chip *gc, void *data)
> {
>          struct gg_data *gg_data = data;
>          int ret;
> 
>          if ((gc->of_node != gg_data->gpiospec.np) ||
>              (gc->of_gpio_n_cells != gg_data->gpiospec.args_count) ||
>              (!gc->of_xlate))
>                  return false;
> 
> ...
> 
> Cheers
> Jon


  reply	other threads:[~2013-04-22 20:58 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-22  8:33 [PATCH 1/2] dma: of: Remove restriction that #dma-cells can't be 0 Lars-Peter Clausen
2013-04-22  8:33 ` [PATCH 2/2] dma: of: Remove check on always true condition Lars-Peter Clausen
2013-04-22 12:38   ` Arnd Bergmann
2013-04-22 20:52   ` Jon Hunter
2013-04-22 21:00     ` Lars-Peter Clausen [this message]
2013-04-22 22:13       ` Jon Hunter
2013-04-22 12:38 ` [PATCH 1/2] dma: of: Remove restriction that #dma-cells can't be 0 Arnd Bergmann
2013-04-22 12:47   ` Lars-Peter Clausen
2013-04-22 14:54     ` Arnd Bergmann
2013-05-23 10:30 ` Vinod Koul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5175A4F5.1050304@metafoo.de \
    --to=lars@metafoo.de \
    --cc=arnd@arndb.de \
    --cc=jon-hunter@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vinod.koul@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.