Re: [PATH] NAND Flash support for Intel IXP4xx platform

Thomas Gleixner
2007-04-28T12:34:15Z

On Sat, 2007-04-28 at 15:41 +0400, Ruslan V. Sushko wrote:
> +static void ixp_write_buf(struct mtd_info *mtd, const u_char * buf, int
> len)
> +{
> + int i;
> + struct nand_chip *this = mtd->priv;
> +
> + for (i = 0; i < len; i++)
> + writeb(buf[i], this->IO_ADDR_W);
> +}

How excatly is this functionally different from the generic write_buf
function in nand_base.c ?

static void nand_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len)
{
int i;
struct nand_chip *chip = mtd->priv;

for (i = 0; i < len; i++)
writeb(buf[i], chip->IO_ADDR_W);
}

> +static void ixp4xx_hwcontrol(struct mtd_info *mtd, int cmd, unsigned
> int ctrl)
> +{
> + struct nand_chip *this = mtd->priv;
> + struct ixp4xx_faddr_info_t *addr_info = this->priv;

Newline between variables and code !

> + if (ctrl & NAND_CTRL_CHANGE) {
> + addr_info->offset = (ctrl & NAND_CLE) ? IXP4XX_NAND_CLE : 0;
> + addr_info->offset |= (ctrl & NAND_ALE) ? IXP4XX_NAND_ALE
> : 0;

Your patch is word wrapped !

> + if (addr_info->chip_select)
> + addr_info->chip_select(ctrl);
> + }
> +
> + if (cmd != NAND_CMD_NONE)
> + writeb(cmd, this->IO_ADDR_W + addr_info->offset);
> +}

Aside of that I agree with Lennert, that we really need to get around
and make this real platform code.

tglx