From: David Daney <ddaney@caviumnetworks.com>
To: cdhmanning@gmail.com
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 7/9] Add yaffs tag access code
Date: Wed, 03 Nov 2010 10:16:57 -0700 [thread overview]
Message-ID: <4CD19909.9090103@caviumnetworks.com> (raw)
In-Reply-To: <1288803204-3849-8-git-send-email-cdhmanning@gmail.com>
On 11/03/2010 09:53 AM, cdhmanning@gmail.com wrote:
[...]
> --- /dev/null
> +++ b/fs/yaffs2/yaffs_tagscompat.c
> @@ -0,0 +1,454 @@
> +/*
> + * YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
> + *
> + * Copyright (C) 2002-2010 Aleph One Ltd.
> + * for Toby Churchill Ltd and Brightstar Engineering
> + *
> + * Created by Charles Manning<charles@aleph1.co.uk>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +
> +#include "yaffs_guts.h"
> +#include "yaffs_tagscompat.h"
> +#include "yaffs_ecc.h"
> +#include "yaffs_getblockinfo.h"
> +#include "yaffs_trace.h"
> +
> +static void yaffs_handle_rd_data_error(struct yaffs_dev *dev, int nand_chunk);
> +
> +static const char yaffs_count_bits_table[256] = {
> + 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4,
> + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
> + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
> + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
> + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
> + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
> + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
> + 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
> + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
> + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
> + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
> + 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
> + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
> + 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
> + 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
> + 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8
> +};
> +
> +int yaffs_count_bits(u8 x)
> +{
> + int ret_val;
> + ret_val = yaffs_count_bits_table[x];
> + return ret_val;
> +}
As in the other file, the kernel has hweight8() that should probably be
used instead.
On some architectures hweight8() expands to a single instruction.
Others should already have something as efficient as this, and if they
don't they probably should.
David Daney
next prev parent reply other threads:[~2010-11-03 17:17 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-03 16:53 [PATCH 0/9] Add yaffs2 file system cdhmanning
2010-11-03 16:53 ` [PATCH 1/9] Add yaffs Kconfig and Makefile cdhmanning
2010-11-03 17:46 ` Greg KH
2010-11-03 17:55 ` David Daney
2010-11-03 18:06 ` Greg KH
2010-11-04 20:58 ` Charles Manning
2010-11-04 22:36 ` Greg KH
2010-11-05 0:14 ` Ryan Mallon
2010-11-06 1:50 ` Valdis.Kletnieks
2010-11-07 20:59 ` Charles Manning
2010-11-07 21:45 ` Chris Snook
2010-11-07 21:45 ` Chris Snook
2010-11-07 22:22 ` Charles Manning
2010-11-07 22:22 ` Charles Manning
2010-11-08 10:24 ` Chris Snook
2010-11-08 10:24 ` Chris Snook
2010-11-08 21:22 ` Charles Manning
2010-11-08 22:15 ` Chris Snook
2010-11-03 16:53 ` [PATCH 2/9] Add yaffs allocator, bitmap and attrib source cdhmanning
2010-11-04 23:01 ` Jesper Juhl
2010-11-07 22:42 ` Charles Manning
2010-11-03 16:53 ` [PATCH 3/9] Add yaffs checkpointing, blockinfo, nameval and os context cdhmanning
2010-11-03 16:53 ` [PATCH 4/9] Add yaffs ecc, mtd access and nand abstraction code cdhmanning
2010-11-03 17:05 ` David Daney
2010-11-03 16:53 ` [PATCH 5/9] Add yaffs_guts.c cdhmanning
2010-11-03 16:53 ` [PATCH 6/9] Add some yaffs include files cdhmanning
2010-11-03 17:10 ` David Daney
2010-11-03 17:16 ` Charles Manning
2010-11-09 17:12 ` Arnd Bergmann
2010-11-03 16:53 ` [PATCH 7/9] Add yaffs tag access code cdhmanning
2010-11-03 17:16 ` David Daney [this message]
2010-11-03 17:17 ` Paulo Marques
2010-11-03 16:53 ` [PATCH 8/9] Add yaffs verification and version specific code cdhmanning
2010-11-03 16:53 ` [PATCH 9/9] Add yaffs kernel glue cdhmanning
2010-11-09 16:57 ` Arnd Bergmann
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=4CD19909.9090103@caviumnetworks.com \
--to=ddaney@caviumnetworks.com \
--cc=cdhmanning@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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 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.