From: "Jack Stone" <jwjstone@fastmail.fm>
To: "Nicolas Kaiser" <nikai@nikai.net>,
"Dan Williams" <dan.j.williams@intel.com>
Cc: linux-kernel@vger.kernel.org, torvalds@linux-foundation.org,
akpm@linux-foundation.org
Subject: Re: [PATCH] dma/timberdale: simplify conditional
Date: Fri, 08 Oct 2010 13:22:08 +0100 [thread overview]
Message-ID: <1286540528.5117.1399034495@webmail.messagingengine.com> (raw)
In-Reply-To: <20101008004801.2f0dee47@absol.kitzblitz>
We should be careful with this sort of transformation. It is only
guaranteed true if both sides are boolean. E.g. ((foo & mask) && (bar &
baz)) ¦¦ (!(foo & mask) && (!(bar & baz)) does not imply (foo & mask) ==
(bar & baz)). foo & mask could equal 0x0100 for example but bar & baz
could equal 0x0001. Both are true as logicals but they are not equal.
One safe way to make this patch would be to add !! in front of both
halves.
Of course this is a moot point if pdes->rx is a boolean or a single bit
but I don't have the source to hand to check this (% 2 is guaranteed to
be 0 or 1 so it doesn't matter).
Sorry if this doesn't make sense. Let me know and I can try and
rephrase.
Hope this helps,
Jack
On Fri, 08 Oct 2010 00:48 +0200, "Nicolas Kaiser" <nikai@nikai.net>
wrote:
> Simplify: ((a && b) || (!a && !b)) => (a == b)
>
> Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
> ---
> drivers/dma/timb_dma.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/dma/timb_dma.c b/drivers/dma/timb_dma.c
> index 2ec1ed5..3b88a4e 100644
> --- a/drivers/dma/timb_dma.c
> +++ b/drivers/dma/timb_dma.c
> @@ -759,7 +759,7 @@ static int __devinit td_probe(struct platform_device
> *pdev)
> pdata->channels + i;
>
> /* even channels are RX, odd are TX */
> - if (((i % 2) && pchan->rx) || (!(i % 2) && !pchan->rx)) {
> + if ((i % 2) == pchan->rx) {
> dev_err(&pdev->dev, "Wrong channel configuration\n");
> err = -EINVAL;
> goto err_tasklet_kill;
> --
> 1.7.2.2
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel"
> in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
next prev parent reply other threads:[~2010-10-08 12:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-07 22:48 Nicolas Kaiser
2010-10-08 12:22 ` Jack Stone [this message]
2010-10-08 12:25 ` Jack Stone
2010-10-08 12:48 ` driver or calculation of load average wrong ? Frank Salomon
2010-10-08 12:52 ` [PATCH] dma/timberdale: simplify conditional Jack Stone
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=1286540528.5117.1399034495@webmail.messagingengine.com \
--to=jwjstone@fastmail.fm \
--cc=akpm@linux-foundation.org \
--cc=dan.j.williams@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nikai@nikai.net \
--cc=torvalds@linux-foundation.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome