Re: [PATCH] ufs: [bl]e*_add_cpu conversion

Roel Kluin
2008-02-13T09:41:55Z

marcin.slusarz@gmail.com wrote:
> replace all:
> big/little_endian_variable = cpu_to_[bl]eX([bl]eX_to_cpu(big/little_endian_variable) +
> expression_in_cpu_byteorder);
> with:
> [bl]eX_add_cpu(&big/little_endian_variable, expression_in_cpu_byteorder);

you may also want these:
---
[bl]e_add_cpu conversion in return

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
---
diff --git a/fs/ufs/swab.h b/fs/ufs/swab.h
index 1683d2b..a1e3000 100644
--- a/fs/ufs/swab.h
+++ b/fs/ufs/swab.h
@@ -44,18 +44,22 @@ static __inline u32
fs64_add(struct super_block *sbp, u32 *n, int d)
{
if (UFS_SB(sbp)->s_bytesex == BYTESEX_LE)
- return *n = cpu_to_le64(le64_to_cpu(*n)+d);
+ le64_add_cpu(n, d);
else
- return *n = cpu_to_be64(be64_to_cpu(*n)+d);
+ be64_add_cpu(n, d);
+
+ return *n;
}

static __inline u32
fs64_sub(struct super_block *sbp, u32 *n, int d)
{
if (UFS_SB(sbp)->s_bytesex == BYTESEX_LE)
- return *n = cpu_to_le64(le64_to_cpu(*n)-d);
+ le64_add_cpu(n, -d);
else
- return *n = cpu_to_be64(be64_to_cpu(*n)-d);
+ be64_add_cpu(n, -d);
+
+ return *n;
}

static __inline u32