Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934088AbcDFKG7 (ORCPT ); Wed, 6 Apr 2016 06:06:59 -0400 Received: from m50-134.163.com ([123.125.50.134]:58614 "EHLO m50-134.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755099AbcDFKG6 (ORCPT ); Wed, 6 Apr 2016 06:06:58 -0400 From: zengzhaoxiu@163.com To: dwmw2@infradead.org, computersforpeace@gmail.com Cc: linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, Zhaoxiu Zeng Subject: [PATCH v2 23/30] mtd: use parity16 in sm_ftl Date: Wed, 6 Apr 2016 18:05:47 +0800 Message-Id: <1459937147-8173-1-git-send-email-zengzhaoxiu@163.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <57031D9D.801@gmail.com> References: <57031D9D.801@gmail.com> X-CM-TRANSID: DtGowACHhz963wRXyfYKAA--.1137S2 X-Coremail-Antispam: 1Uf129KBjvdXoWrtr4fKr13Gr13Cry7Aw1fZwb_yoWftFX_Kr 13G3ZFgrW7C3Wjkw1kAr1a9F92vanY9w18W3Wvqa93Gay5Zw18XryDZr95Jw1kZF40kasx Aws8ua40yFW3WjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU0fMa5UUUUU== X-Originating-IP: [112.95.225.98] X-CM-SenderInfo: p2hqw6xkdr5xrx6rljoofrz/1tbiNRZDgFSIM66kDQABsJ Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 945 Lines: 33 From: Zhaoxiu Zeng Signed-off-by: Zhaoxiu Zeng --- drivers/mtd/sm_ftl.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/mtd/sm_ftl.c b/drivers/mtd/sm_ftl.c index b096f8b..345ff1a 100644 --- a/drivers/mtd/sm_ftl.c +++ b/drivers/mtd/sm_ftl.c @@ -136,7 +136,7 @@ static int sm_get_lba(uint8_t *lba) return -2; /* check parity - endianness doesn't matter */ - if (hweight16(*(uint16_t *)lba) & 1) + if (parity16(*(uint16_t *)lba)) return -2; return (lba[1] >> 1) | ((lba[0] & 0x07) << 7); @@ -183,8 +183,7 @@ static void sm_write_lba(struct sm_oob *oob, uint16_t lba) tmp[0] = 0x10 | ((lba >> 7) & 0x07); tmp[1] = (lba << 1) & 0xFF; - if (hweight16(*(uint16_t *)tmp) & 0x01) - tmp[1] |= 1; + tmp[1] |= parity16(*(uint16_t *)tmp); oob->lba_copy1[0] = oob->lba_copy2[0] = tmp[0]; oob->lba_copy1[1] = oob->lba_copy2[1] = tmp[1]; -- 2.5.0