Received: from mail.onstor.com (66.201.51.107) by exch1.onstor.net
 (10.0.0.225) with Microsoft SMTP Server id 8.1.311.2; Mon, 3 Nov 2008
 06:31:15 -0800
Received: from ausesmta2-3.messageone.com ([64.20.241.45]) by mail.onstor.com
 with Microsoft SMTPSVC(6.0.3790.3959);	 Mon, 3 Nov 2008 06:31:14 -0800
Received: from ftp.linux-mips.org (ftp.linux-mips.org [213.58.128.207])	by
 ausesmta2-3.messageone.com (8.13.8/8.13.8) with ESMTP id mA3EVBup004491	for
 <andy.sharp@onstor.com>; Mon, 3 Nov 2008 08:31:12 -0600
Received: from localhost.localdomain ([127.0.0.1]:24782 "EHLO
	ftp.linux-mips.org") by ftp.linux-mips.org with ESMTP	id S23053747AbYKCOay
 (ORCPT <rfc822;andy.sharp@onstor.com>);	Mon, 3 Nov 2008 14:30:54 +0000
Received: with ECARTIS (v1.0.0; list linux-mips); Mon, 03 Nov 2008 14:30:37
 +0000 (GMT)
Received: from orbit.nwl.cc ([81.169.176.177]:42891 "EHLO
	mail.ifyouseekate.net") by ftp.linux-mips.org with ESMTP	id S23053741AbYKCOaf
 (ORCPT <rfc822;linux-mips@linux-mips.org>);	Mon, 3 Nov 2008 14:30:35 +0000
Received: from base (localhost [127.0.0.1])	by mail.ifyouseekate.net (Postfix)
 with ESMTP id A0273386DBBE;	Mon,  3 Nov 2008 15:30:28 +0100 (CET)
From: Phil Sutter <n0-1@freewrt.org>
To: Ralf Baechle <ralf@linux-mips.org>
CC: Sergei Shtylyov <sshtylyov@ru.mvista.com>, "linux-mips@linux-mips.org"
	<linux-mips@linux-mips.org>
Sender: "linux-mips-bounce@linux-mips.org" <linux-mips-bounce@linux-mips.org>
Date: Mon, 3 Nov 2008 06:30:25 -0800
Subject: [PATCH] MIPS: rb532: fix bit swapping in rb532_set_bit()
Thread-Topic: [PATCH] MIPS: rb532: fix bit swapping in rb532_set_bit()
Thread-Index: Ack9wNRiSTQKKJ82Smu7ReLUtCoWDA==
Message-ID: <1225722625-19750-1-git-send-email-n0-1@freewrt.org>
References: <20081103142942.GA13461@nuty>
In-Reply-To: <20081103142942.GA13461@nuty>
Accept-Language: en-US
Content-Language: en-US
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 0b
X-MS-Exchange-Organization-AuthSource: exch1.onstor.net
X-MS-Has-Attach:
X-Auto-Response-Suppress: All
X-MS-TNEF-Correlator:
x-originalarrivaltime: 03 Nov 2008 14:31:14.0986 (UTC)
 FILETIME=[D399D8A0:01C93DC0]
errors-to: linux-mips-bounce@linux-mips.org
x-ems-proccessed: 2K3Xl1OQTInXD6xxuA8z3Q==
x-ems-stamp: PEq2v3TP0PN7W/5wlS0F9Q==
x-messageone-virus-version: vendor=fsecure
 engine=4.65.7400:2.4.4,1.2.40,4.0.164
 definitions=2008-11-03_07:2008-10-10,2008-11-03,2008-11-03 signatures=0
x-messageone-virus-scanned: Clean
x-messageone-envelope-sender: linux-mips-bounce@linux-mips.org
x-messageone-spam-details: rule=m773emszm_notspam policy=m773emszm score=0
 spamscore=0 ipscore=0 phishscore=0 bulkscore=0 adultscore=0 classifier=spam
 adjust=0 reason=mlx engine=3.1.0-0810130000 definitions=main-0811030057
x-messageone-spam-score: 0
x-messageone-spam-bar:
x-list: linux-mips
x-archive-position: 21169
x-ecartis-version: Ecartis v1.0.0
x-original-sender: n0-1@freewrt.org
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

The algorithm works unconditionally. If bitval is one, the first line is
a no op and the second line sets the bit at offset position. Vice versa,
if bitval is zero, the first line clears the bit at offset position and
the second line is a no op.

Signed-off-by: Phil Sutter <n0-1@freewrt.org>
---
 arch/mips/rb532/gpio.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/mips/rb532/gpio.c b/arch/mips/rb532/gpio.c
index 0e84c8a..ba9a0c4 100644
--- a/arch/mips/rb532/gpio.c
+++ b/arch/mips/rb532/gpio.c
@@ -124,8 +124,8 @@ static inline void rb532_set_bit(unsigned bitval,
 	local_irq_save(flags);
=20
 	val =3D readl(ioaddr);
-	val &=3D ~( ~bitval << offset );   /* unset bit if bitval =3D=3D 0 */
-	val |=3D  (  bitval << offset );   /* set bit if bitval =3D=3D 1 */
+	val &=3D ~(!bitval << offset);   /* unset bit if bitval =3D=3D 0 */
+	val |=3D  (bitval << offset);   /* set bit if bitval =3D=3D 1 */
 	writel(val, ioaddr);
=20
 	local_irq_restore(flags);
--=20
1.5.6.4


