提交 3c3796cc 编写于 作者: H Håvard Skinnemoen 提交者: David Woodhouse

[MTD] [NAND] rename at91_nand -> atmel_nand: internal symbols

This is basically s/at91_nand/atmel_nand/g with some manual inspection.
Signed-off-by: NHåvard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
上级 d4f4c0aa
......@@ -278,7 +278,7 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {}
* -------------------------------------------------------------------- */
#if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE)
static struct at91_nand_data nand_data;
static struct atmel_nand_data nand_data;
#define NAND_BASE AT91_CHIPSELECT_3
......@@ -296,7 +296,7 @@ static struct resource nand_resources[] = {
};
static struct platform_device at91cap9_nand_device = {
.name = "at91_nand",
.name = "atmel_nand",
.id = -1,
.dev = {
.platform_data = &nand_data,
......@@ -305,7 +305,7 @@ static struct platform_device at91cap9_nand_device = {
.num_resources = ARRAY_SIZE(nand_resources),
};
void __init at91_add_device_nand(struct at91_nand_data *data)
void __init at91_add_device_nand(struct atmel_nand_data *data)
{
unsigned long csa, mode;
......@@ -346,7 +346,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data)
platform_device_register(&at91cap9_nand_device);
}
#else
void __init at91_add_device_nand(struct at91_nand_data *data) {}
void __init at91_add_device_nand(struct atmel_nand_data *data) {}
#endif
......
......@@ -369,7 +369,7 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {}
* -------------------------------------------------------------------- */
#if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE)
static struct at91_nand_data nand_data;
static struct atmel_nand_data nand_data;
#define NAND_BASE AT91_CHIPSELECT_3
......@@ -382,7 +382,7 @@ static struct resource nand_resources[] = {
};
static struct platform_device at91rm9200_nand_device = {
.name = "at91_nand",
.name = "atmel_nand",
.id = -1,
.dev = {
.platform_data = &nand_data,
......@@ -391,7 +391,7 @@ static struct platform_device at91rm9200_nand_device = {
.num_resources = ARRAY_SIZE(nand_resources),
};
void __init at91_add_device_nand(struct at91_nand_data *data)
void __init at91_add_device_nand(struct atmel_nand_data *data)
{
unsigned int csa;
......@@ -429,7 +429,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data)
platform_device_register(&at91rm9200_nand_device);
}
#else
void __init at91_add_device_nand(struct at91_nand_data *data) {}
void __init at91_add_device_nand(struct atmel_nand_data *data) {}
#endif
......
......@@ -283,7 +283,7 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {}
* -------------------------------------------------------------------- */
#if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE)
static struct at91_nand_data nand_data;
static struct atmel_nand_data nand_data;
#define NAND_BASE AT91_CHIPSELECT_3
......@@ -301,7 +301,7 @@ static struct resource nand_resources[] = {
};
static struct platform_device at91sam9260_nand_device = {
.name = "at91_nand",
.name = "atmel_nand",
.id = -1,
.dev = {
.platform_data = &nand_data,
......@@ -310,7 +310,7 @@ static struct platform_device at91sam9260_nand_device = {
.num_resources = ARRAY_SIZE(nand_resources),
};
void __init at91_add_device_nand(struct at91_nand_data *data)
void __init at91_add_device_nand(struct atmel_nand_data *data)
{
unsigned long csa, mode;
......@@ -351,7 +351,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data)
platform_device_register(&at91sam9260_nand_device);
}
#else
void __init at91_add_device_nand(struct at91_nand_data *data) {}
void __init at91_add_device_nand(struct atmel_nand_data *data) {}
#endif
......
......@@ -199,7 +199,7 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {}
* -------------------------------------------------------------------- */
#if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE)
static struct at91_nand_data nand_data;
static struct atmel_nand_data nand_data;
#define NAND_BASE AT91_CHIPSELECT_3
......@@ -211,8 +211,8 @@ static struct resource nand_resources[] = {
}
};
static struct platform_device at91_nand_device = {
.name = "at91_nand",
static struct platform_device atmel_nand_device = {
.name = "atmel_nand",
.id = -1,
.dev = {
.platform_data = &nand_data,
......@@ -221,7 +221,7 @@ static struct platform_device at91_nand_device = {
.num_resources = ARRAY_SIZE(nand_resources),
};
void __init at91_add_device_nand(struct at91_nand_data *data)
void __init at91_add_device_nand(struct atmel_nand_data *data)
{
unsigned long csa, mode;
......@@ -262,11 +262,11 @@ void __init at91_add_device_nand(struct at91_nand_data *data)
at91_set_A_periph(AT91_PIN_PC1, 0); /* NANDWE */
nand_data = *data;
platform_device_register(&at91_nand_device);
platform_device_register(&atmel_nand_device);
}
#else
void __init at91_add_device_nand(struct at91_nand_data *data) {}
void __init at91_add_device_nand(struct atmel_nand_data *data) {}
#endif
......
......@@ -353,7 +353,7 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {}
* -------------------------------------------------------------------- */
#if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE)
static struct at91_nand_data nand_data;
static struct atmel_nand_data nand_data;
#define NAND_BASE AT91_CHIPSELECT_3
......@@ -371,7 +371,7 @@ static struct resource nand_resources[] = {
};
static struct platform_device at91sam9263_nand_device = {
.name = "at91_nand",
.name = "atmel_nand",
.id = -1,
.dev = {
.platform_data = &nand_data,
......@@ -380,7 +380,7 @@ static struct platform_device at91sam9263_nand_device = {
.num_resources = ARRAY_SIZE(nand_resources),
};
void __init at91_add_device_nand(struct at91_nand_data *data)
void __init at91_add_device_nand(struct atmel_nand_data *data)
{
unsigned long csa, mode;
......@@ -421,7 +421,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data)
platform_device_register(&at91sam9263_nand_device);
}
#else
void __init at91_add_device_nand(struct at91_nand_data *data) {}
void __init at91_add_device_nand(struct atmel_nand_data *data) {}
#endif
......
......@@ -100,7 +100,7 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {}
* -------------------------------------------------------------------- */
#if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE)
static struct at91_nand_data nand_data;
static struct atmel_nand_data nand_data;
#define NAND_BASE AT91_CHIPSELECT_3
......@@ -117,8 +117,8 @@ static struct resource nand_resources[] = {
}
};
static struct platform_device at91_nand_device = {
.name = "at91_nand",
static struct platform_device atmel_nand_device = {
.name = "atmel_nand",
.id = -1,
.dev = {
.platform_data = &nand_data,
......@@ -127,7 +127,7 @@ static struct platform_device at91_nand_device = {
.num_resources = ARRAY_SIZE(nand_resources),
};
void __init at91_add_device_nand(struct at91_nand_data *data)
void __init at91_add_device_nand(struct atmel_nand_data *data)
{
unsigned long csa;
......@@ -164,11 +164,11 @@ void __init at91_add_device_nand(struct at91_nand_data *data)
at91_set_A_periph(AT91_PIN_PB5, 0); /* NANDWE */
nand_data = *data;
platform_device_register(&at91_nand_device);
platform_device_register(&atmel_nand_device);
}
#else
void __init at91_add_device_nand(struct at91_nand_data *data) {}
void __init at91_add_device_nand(struct atmel_nand_data *data) {}
#endif
......
......@@ -142,7 +142,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio
return cam60_nand_partition;
}
static struct at91_nand_data __initdata cam60_nand_data = {
static struct atmel_nand_data __initdata cam60_nand_data = {
.ale = 21,
.cle = 22,
// .det_pin = ... not there
......
......@@ -175,7 +175,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio
return cap9adk_nand_partitions;
}
static struct at91_nand_data __initdata cap9adk_nand_data = {
static struct atmel_nand_data __initdata cap9adk_nand_data = {
.ale = 21,
.cle = 22,
// .det_pin = ... not connected
......
......@@ -150,7 +150,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio
return dk_nand_partition;
}
static struct at91_nand_data __initdata dk_nand_data = {
static struct atmel_nand_data __initdata dk_nand_data = {
.ale = 22,
.cle = 21,
.det_pin = AT91_PIN_PB1,
......
......@@ -102,7 +102,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio
return kb9202_nand_partition;
}
static struct at91_nand_data __initdata kb9202_nand_data = {
static struct atmel_nand_data __initdata kb9202_nand_data = {
.ale = 22,
.cle = 21,
// .det_pin = ... not there
......
......@@ -141,7 +141,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio
return ek_nand_partition;
}
static struct at91_nand_data __initdata ek_nand_data = {
static struct atmel_nand_data __initdata ek_nand_data = {
.ale = 21,
.cle = 22,
// .det_pin = ... not connected
......
......@@ -178,7 +178,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio
return ek_nand_partition;
}
static struct at91_nand_data __initdata ek_nand_data = {
static struct atmel_nand_data __initdata ek_nand_data = {
.ale = 21,
.cle = 22,
// .det_pin = ... not connected
......
......@@ -183,7 +183,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio
return ek_nand_partition;
}
static struct at91_nand_data __initdata ek_nand_data = {
static struct atmel_nand_data __initdata ek_nand_data = {
.ale = 22,
.cle = 21,
// .det_pin = ... not connected
......
......@@ -187,7 +187,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio
return ek_nand_partition;
}
static struct at91_nand_data __initdata ek_nand_data = {
static struct atmel_nand_data __initdata ek_nand_data = {
.ale = 21,
.cle = 22,
// .det_pin = ... not connected
......
......@@ -88,7 +88,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio
return ek_nand_partition;
}
static struct at91_nand_data __initdata ek_nand_data = {
static struct atmel_nand_data __initdata ek_nand_data = {
.ale = 21,
.cle = 22,
// .det_pin = ... not connected
......
......@@ -251,7 +251,7 @@ static struct mtd_partition * __init nand_partitions(int size, int *num_partitio
return yl_9200_nand_partition;
}
static struct at91_nand_data __initdata yl_9200_nand_data = {
static struct atmel_nand_data __initdata yl_9200_nand_data = {
.ale= 6,
.cle= 7,
/*.det_pin = AT91_PIN_PCxx,*/ /*we don't have a det pin because NandFlash is fixed to board*/
......
......@@ -48,9 +48,9 @@
/* Register access macros */
#define ecc_readl(add, reg) \
__raw_readl(add + AT91_ECC_##reg)
__raw_readl(add + ATMEL_ECC_##reg)
#define ecc_writel(add, reg, value) \
__raw_writel((value), add + AT91_ECC_##reg)
__raw_writel((value), add + ATMEL_ECC_##reg)
#include "atmel_nand_ecc.h" /* Hardware ECC registers */
......@@ -59,7 +59,7 @@
* the bytes have to be consecutives to avoid
* several NAND_CMD_RNDOUT during read
*/
static struct nand_ecclayout at91_oobinfo_large = {
static struct nand_ecclayout atmel_oobinfo_large = {
.eccbytes = 4,
.eccpos = {60, 61, 62, 63},
.oobfree = {
......@@ -72,7 +72,7 @@ static struct nand_ecclayout at91_oobinfo_large = {
* the bytes have to be consecutives to avoid
* several NAND_CMD_RNDOUT during read
*/
static struct nand_ecclayout at91_oobinfo_small = {
static struct nand_ecclayout atmel_oobinfo_small = {
.eccbytes = 4,
.eccpos = {0, 1, 2, 3},
.oobfree = {
......@@ -80,11 +80,11 @@ static struct nand_ecclayout at91_oobinfo_small = {
},
};
struct at91_nand_host {
struct atmel_nand_host {
struct nand_chip nand_chip;
struct mtd_info mtd;
void __iomem *io_base;
struct at91_nand_data *board;
struct atmel_nand_data *board;
struct device *dev;
void __iomem *ecc;
};
......@@ -92,7 +92,7 @@ struct at91_nand_host {
/*
* Enable NAND.
*/
static void at91_nand_enable(struct at91_nand_host *host)
static void atmel_nand_enable(struct atmel_nand_host *host)
{
if (host->board->enable_pin)
gpio_set_value(host->board->enable_pin, 0);
......@@ -101,7 +101,7 @@ static void at91_nand_enable(struct at91_nand_host *host)
/*
* Disable NAND.
*/
static void at91_nand_disable(struct at91_nand_host *host)
static void atmel_nand_disable(struct atmel_nand_host *host)
{
if (host->board->enable_pin)
gpio_set_value(host->board->enable_pin, 1);
......@@ -110,16 +110,16 @@ static void at91_nand_disable(struct at91_nand_host *host)
/*
* Hardware specific access to control-lines
*/
static void at91_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl)
static void atmel_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl)
{
struct nand_chip *nand_chip = mtd->priv;
struct at91_nand_host *host = nand_chip->priv;
struct atmel_nand_host *host = nand_chip->priv;
if (ctrl & NAND_CTRL_CHANGE) {
if (ctrl & NAND_NCE)
at91_nand_enable(host);
atmel_nand_enable(host);
else
at91_nand_disable(host);
atmel_nand_disable(host);
}
if (cmd == NAND_CMD_NONE)
return;
......@@ -133,10 +133,10 @@ static void at91_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl)
/*
* Read the Device Ready pin.
*/
static int at91_nand_device_ready(struct mtd_info *mtd)
static int atmel_nand_device_ready(struct mtd_info *mtd)
{
struct nand_chip *nand_chip = mtd->priv;
struct at91_nand_host *host = nand_chip->priv;
struct atmel_nand_host *host = nand_chip->priv;
return gpio_get_value(host->board->rdy_pin);
}
......@@ -144,7 +144,7 @@ static int at91_nand_device_ready(struct mtd_info *mtd)
/*
* write oob for small pages
*/
static int at91_nand_write_oob_512(struct mtd_info *mtd,
static int atmel_nand_write_oob_512(struct mtd_info *mtd,
struct nand_chip *chip, int page)
{
int chunk = chip->ecc.bytes + chip->ecc.prepad + chip->ecc.postpad;
......@@ -172,7 +172,7 @@ static int at91_nand_write_oob_512(struct mtd_info *mtd,
/*
* read oob for small pages
*/
static int at91_nand_read_oob_512(struct mtd_info *mtd,
static int atmel_nand_read_oob_512(struct mtd_info *mtd,
struct nand_chip *chip, int page, int sndcmd)
{
if (sndcmd) {
......@@ -192,11 +192,11 @@ static int at91_nand_read_oob_512(struct mtd_info *mtd,
* dat: raw data (unused)
* ecc_code: buffer for ECC
*/
static int at91_nand_calculate(struct mtd_info *mtd,
static int atmel_nand_calculate(struct mtd_info *mtd,
const u_char *dat, unsigned char *ecc_code)
{
struct nand_chip *nand_chip = mtd->priv;
struct at91_nand_host *host = nand_chip->priv;
struct atmel_nand_host *host = nand_chip->priv;
uint32_t *eccpos = nand_chip->ecc.layout->eccpos;
unsigned int ecc_value;
......@@ -207,7 +207,7 @@ static int at91_nand_calculate(struct mtd_info *mtd,
ecc_code[eccpos[1]] = (ecc_value >> 8) & 0xFF;
/* get the last 2 ECC bytes */
ecc_value = ecc_readl(host->ecc, NPR) & AT91_ECC_NPARITY;
ecc_value = ecc_readl(host->ecc, NPR) & ATMEL_ECC_NPARITY;
ecc_code[eccpos[2]] = ecc_value & 0xFF;
ecc_code[eccpos[3]] = (ecc_value >> 8) & 0xFF;
......@@ -222,7 +222,7 @@ static int at91_nand_calculate(struct mtd_info *mtd,
* chip: nand chip info structure
* buf: buffer to store read data
*/
static int at91_nand_read_page(struct mtd_info *mtd,
static int atmel_nand_read_page(struct mtd_info *mtd,
struct nand_chip *chip, uint8_t *buf)
{
int eccsize = chip->ecc.size;
......@@ -281,11 +281,11 @@ static int at91_nand_read_page(struct mtd_info *mtd,
*
* Detect and correct a 1 bit error for a page
*/
static int at91_nand_correct(struct mtd_info *mtd, u_char *dat,
static int atmel_nand_correct(struct mtd_info *mtd, u_char *dat,
u_char *read_ecc, u_char *isnull)
{
struct nand_chip *nand_chip = mtd->priv;
struct at91_nand_host *host = nand_chip->priv;
struct atmel_nand_host *host = nand_chip->priv;
unsigned int ecc_status;
unsigned int ecc_word, ecc_bit;
......@@ -293,43 +293,43 @@ static int at91_nand_correct(struct mtd_info *mtd, u_char *dat,
ecc_status = ecc_readl(host->ecc, SR);
/* if there's no error */
if (likely(!(ecc_status & AT91_ECC_RECERR)))
if (likely(!(ecc_status & ATMEL_ECC_RECERR)))
return 0;
/* get error bit offset (4 bits) */
ecc_bit = ecc_readl(host->ecc, PR) & AT91_ECC_BITADDR;
ecc_bit = ecc_readl(host->ecc, PR) & ATMEL_ECC_BITADDR;
/* get word address (12 bits) */
ecc_word = ecc_readl(host->ecc, PR) & AT91_ECC_WORDADDR;
ecc_word = ecc_readl(host->ecc, PR) & ATMEL_ECC_WORDADDR;
ecc_word >>= 4;
/* if there are multiple errors */
if (ecc_status & AT91_ECC_MULERR) {
if (ecc_status & ATMEL_ECC_MULERR) {
/* check if it is a freshly erased block
* (filled with 0xff) */
if ((ecc_bit == AT91_ECC_BITADDR)
&& (ecc_word == (AT91_ECC_WORDADDR >> 4))) {
if ((ecc_bit == ATMEL_ECC_BITADDR)
&& (ecc_word == (ATMEL_ECC_WORDADDR >> 4))) {
/* the block has just been erased, return OK */
return 0;
}
/* it doesn't seems to be a freshly
* erased block.
* We can't correct so many errors */
dev_dbg(host->dev, "at91_nand : multiple errors detected."
dev_dbg(host->dev, "atmel_nand : multiple errors detected."
" Unable to correct.\n");
return -EIO;
}
/* if there's a single bit error : we can correct it */
if (ecc_status & AT91_ECC_ECCERR) {
if (ecc_status & ATMEL_ECC_ECCERR) {
/* there's nothing much to do here.
* the bit error is on the ECC itself.
*/
dev_dbg(host->dev, "at91_nand : one bit error on ECC code."
dev_dbg(host->dev, "atmel_nand : one bit error on ECC code."
" Nothing to correct\n");
return 0;
}
dev_dbg(host->dev, "at91_nand : one bit error on data."
dev_dbg(host->dev, "atmel_nand : one bit error on data."
" (word offset in the page :"
" 0x%x bit offset : 0x%x)\n",
ecc_word, ecc_bit);
......@@ -341,14 +341,14 @@ static int at91_nand_correct(struct mtd_info *mtd, u_char *dat,
/* 8 bits words */
dat[ecc_word] ^= (1 << ecc_bit);
}
dev_dbg(host->dev, "at91_nand : error corrected\n");
dev_dbg(host->dev, "atmel_nand : error corrected\n");
return 1;
}
/*
* Enable HW ECC : unsused
*/
static void at91_nand_hwctl(struct mtd_info *mtd, int mode) { ; }
static void atmel_nand_hwctl(struct mtd_info *mtd, int mode) { ; }
#ifdef CONFIG_MTD_PARTITIONS
static const char *part_probes[] = { "cmdlinepart", NULL };
......@@ -357,9 +357,9 @@ static const char *part_probes[] = { "cmdlinepart", NULL };
/*
* Probe for the NAND device.
*/
static int __init at91_nand_probe(struct platform_device *pdev)
static int __init atmel_nand_probe(struct platform_device *pdev)
{
struct at91_nand_host *host;
struct atmel_nand_host *host;
struct mtd_info *mtd;
struct nand_chip *nand_chip;
struct resource *regs;
......@@ -372,21 +372,21 @@ static int __init at91_nand_probe(struct platform_device *pdev)
#endif
/* Allocate memory for the device structure (and zero it) */
host = kzalloc(sizeof(struct at91_nand_host), GFP_KERNEL);
host = kzalloc(sizeof(struct atmel_nand_host), GFP_KERNEL);
if (!host) {
printk(KERN_ERR "at91_nand: failed to allocate device structure.\n");
printk(KERN_ERR "atmel_nand: failed to allocate device structure.\n");
return -ENOMEM;
}
mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!mem) {
printk(KERN_ERR "at91_nand: can't get I/O resource mem\n");
printk(KERN_ERR "atmel_nand: can't get I/O resource mem\n");
return -ENXIO;
}
host->io_base = ioremap(mem->start, mem->end - mem->start + 1);
if (host->io_base == NULL) {
printk(KERN_ERR "at91_nand: ioremap failed\n");
printk(KERN_ERR "atmel_nand: ioremap failed\n");
kfree(host);
return -EIO;
}
......@@ -403,14 +403,14 @@ static int __init at91_nand_probe(struct platform_device *pdev)
/* Set address of NAND IO lines */
nand_chip->IO_ADDR_R = host->io_base;
nand_chip->IO_ADDR_W = host->io_base;
nand_chip->cmd_ctrl = at91_nand_cmd_ctrl;
nand_chip->cmd_ctrl = atmel_nand_cmd_ctrl;
if (host->board->rdy_pin)
nand_chip->dev_ready = at91_nand_device_ready;
nand_chip->dev_ready = atmel_nand_device_ready;
regs = platform_get_resource(pdev, IORESOURCE_MEM, 1);
if (!regs && hard_ecc) {
printk(KERN_ERR "at91_nand: can't get I/O resource "
printk(KERN_ERR "atmel_nand: can't get I/O resource "
"regs\nFalling back on software ECC\n");
}
......@@ -420,15 +420,15 @@ static int __init at91_nand_probe(struct platform_device *pdev)
if (hard_ecc && regs) {
host->ecc = ioremap(regs->start, regs->end - regs->start + 1);
if (host->ecc == NULL) {
printk(KERN_ERR "at91_nand: ioremap failed\n");
printk(KERN_ERR "atmel_nand: ioremap failed\n");
res = -EIO;
goto err_ecc_ioremap;
}
nand_chip->ecc.mode = NAND_ECC_HW_SYNDROME;
nand_chip->ecc.calculate = at91_nand_calculate;
nand_chip->ecc.correct = at91_nand_correct;
nand_chip->ecc.hwctl = at91_nand_hwctl;
nand_chip->ecc.read_page = at91_nand_read_page;
nand_chip->ecc.calculate = atmel_nand_calculate;
nand_chip->ecc.correct = atmel_nand_correct;
nand_chip->ecc.hwctl = atmel_nand_hwctl;
nand_chip->ecc.read_page = atmel_nand_read_page;
nand_chip->ecc.bytes = 4;
nand_chip->ecc.prepad = 0;
nand_chip->ecc.postpad = 0;
......@@ -440,7 +440,7 @@ static int __init at91_nand_probe(struct platform_device *pdev)
nand_chip->options |= NAND_BUSWIDTH_16;
platform_set_drvdata(pdev, host);
at91_nand_enable(host);
atmel_nand_enable(host);
if (host->board->det_pin) {
if (gpio_get_value(host->board->det_pin)) {
......@@ -463,22 +463,22 @@ static int __init at91_nand_probe(struct platform_device *pdev)
/* set ECC page size and oob layout */
switch (mtd->writesize) {
case 512:
nand_chip->ecc.layout = &at91_oobinfo_small;
nand_chip->ecc.read_oob = at91_nand_read_oob_512;
nand_chip->ecc.write_oob = at91_nand_write_oob_512;
ecc_writel(host->ecc, MR, AT91_ECC_PAGESIZE_528);
nand_chip->ecc.layout = &atmel_oobinfo_small;
nand_chip->ecc.read_oob = atmel_nand_read_oob_512;
nand_chip->ecc.write_oob = atmel_nand_write_oob_512;
ecc_writel(host->ecc, MR, ATMEL_ECC_PAGESIZE_528);
break;
case 1024:
nand_chip->ecc.layout = &at91_oobinfo_large;
ecc_writel(host->ecc, MR, AT91_ECC_PAGESIZE_1056);
nand_chip->ecc.layout = &atmel_oobinfo_large;
ecc_writel(host->ecc, MR, ATMEL_ECC_PAGESIZE_1056);
break;
case 2048:
nand_chip->ecc.layout = &at91_oobinfo_large;
ecc_writel(host->ecc, MR, AT91_ECC_PAGESIZE_2112);
nand_chip->ecc.layout = &atmel_oobinfo_large;
ecc_writel(host->ecc, MR, ATMEL_ECC_PAGESIZE_2112);
break;
case 4096:
nand_chip->ecc.layout = &at91_oobinfo_large;
ecc_writel(host->ecc, MR, AT91_ECC_PAGESIZE_4224);
nand_chip->ecc.layout = &atmel_oobinfo_large;
ecc_writel(host->ecc, MR, ATMEL_ECC_PAGESIZE_4224);
break;
default:
/* page size not handled by HW ECC */
......@@ -503,7 +503,7 @@ static int __init at91_nand_probe(struct platform_device *pdev)
#ifdef CONFIG_MTD_PARTITIONS
#ifdef CONFIG_MTD_CMDLINE_PARTS
mtd->name = "at91_nand";
mtd->name = "atmel_nand";
num_partitions = parse_mtd_partitions(mtd, part_probes,
&partitions, 0);
#endif
......@@ -512,7 +512,7 @@ static int __init at91_nand_probe(struct platform_device *pdev)
&num_partitions);
if ((!partitions) || (num_partitions == 0)) {
printk(KERN_ERR "at91_nand: No parititions defined, or unsupported device.\n");
printk(KERN_ERR "atmel_nand: No parititions defined, or unsupported device.\n");
res = ENXIO;
goto release;
}
......@@ -534,7 +534,7 @@ static int __init at91_nand_probe(struct platform_device *pdev)
iounmap(host->ecc);
err_ecc_ioremap:
at91_nand_disable(host);
atmel_nand_disable(host);
platform_set_drvdata(pdev, NULL);
iounmap(host->io_base);
kfree(host);
......@@ -544,14 +544,14 @@ static int __init at91_nand_probe(struct platform_device *pdev)
/*
* Remove a NAND device.
*/
static int __devexit at91_nand_remove(struct platform_device *pdev)
static int __devexit atmel_nand_remove(struct platform_device *pdev)
{
struct at91_nand_host *host = platform_get_drvdata(pdev);
struct atmel_nand_host *host = platform_get_drvdata(pdev);
struct mtd_info *mtd = &host->mtd;
nand_release(mtd);
at91_nand_disable(host);
atmel_nand_disable(host);
iounmap(host->io_base);
iounmap(host->ecc);
......@@ -560,31 +560,31 @@ static int __devexit at91_nand_remove(struct platform_device *pdev)
return 0;
}
static struct platform_driver at91_nand_driver = {
.probe = at91_nand_probe,
.remove = at91_nand_remove,
static struct platform_driver atmel_nand_driver = {
.probe = atmel_nand_probe,
.remove = atmel_nand_remove,
.driver = {
.name = "at91_nand",
.name = "atmel_nand",
.owner = THIS_MODULE,
},
};
static int __init at91_nand_init(void)
static int __init atmel_nand_init(void)
{
return platform_driver_register(&at91_nand_driver);
return platform_driver_register(&atmel_nand_driver);
}
static void __exit at91_nand_exit(void)
static void __exit atmel_nand_exit(void)
{
platform_driver_unregister(&at91_nand_driver);
platform_driver_unregister(&atmel_nand_driver);
}
module_init(at91_nand_init);
module_exit(at91_nand_exit);
module_init(atmel_nand_init);
module_exit(atmel_nand_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Rick Bronson");
MODULE_DESCRIPTION("NAND/SmartMedia driver for AT91 / AVR32");
MODULE_ALIAS("platform:at91_nand");
MODULE_ALIAS("platform:atmel_nand");
......@@ -11,26 +11,26 @@
#ifndef ATMEL_NAND_ECC_H
#define ATMEL_NAND_ECC_H
#define AT91_ECC_CR 0x00 /* Control register */
#define AT91_ECC_RST (1 << 0) /* Reset parity */
#define ATMEL_ECC_CR 0x00 /* Control register */
#define ATMEL_ECC_RST (1 << 0) /* Reset parity */
#define AT91_ECC_MR 0x04 /* Mode register */
#define AT91_ECC_PAGESIZE (3 << 0) /* Page Size */
#define AT91_ECC_PAGESIZE_528 (0)
#define AT91_ECC_PAGESIZE_1056 (1)
#define AT91_ECC_PAGESIZE_2112 (2)
#define AT91_ECC_PAGESIZE_4224 (3)
#define ATMEL_ECC_MR 0x04 /* Mode register */
#define ATMEL_ECC_PAGESIZE (3 << 0) /* Page Size */
#define ATMEL_ECC_PAGESIZE_528 (0)
#define ATMEL_ECC_PAGESIZE_1056 (1)
#define ATMEL_ECC_PAGESIZE_2112 (2)
#define ATMEL_ECC_PAGESIZE_4224 (3)
#define AT91_ECC_SR 0x08 /* Status register */
#define AT91_ECC_RECERR (1 << 0) /* Recoverable Error */
#define AT91_ECC_ECCERR (1 << 1) /* ECC Single Bit Error */
#define AT91_ECC_MULERR (1 << 2) /* Multiple Errors */
#define ATMEL_ECC_SR 0x08 /* Status register */
#define ATMEL_ECC_RECERR (1 << 0) /* Recoverable Error */
#define ATMEL_ECC_ECCERR (1 << 1) /* ECC Single Bit Error */
#define ATMEL_ECC_MULERR (1 << 2) /* Multiple Errors */
#define AT91_ECC_PR 0x0c /* Parity register */
#define AT91_ECC_BITADDR (0xf << 0) /* Bit Error Address */
#define AT91_ECC_WORDADDR (0xfff << 4) /* Word Error Address */
#define ATMEL_ECC_PR 0x0c /* Parity register */
#define ATMEL_ECC_BITADDR (0xf << 0) /* Bit Error Address */
#define ATMEL_ECC_WORDADDR (0xfff << 4) /* Word Error Address */
#define AT91_ECC_NPR 0x10 /* NParity register */
#define AT91_ECC_NPARITY (0xffff << 0) /* NParity */
#define ATMEL_ECC_NPR 0x10 /* NParity register */
#define ATMEL_ECC_NPARITY (0xffff << 0) /* NParity */
#endif
......@@ -85,7 +85,7 @@ struct at91_usbh_data {
extern void __init at91_add_device_usbh(struct at91_usbh_data *data);
/* NAND / SmartMedia */
struct at91_nand_data {
struct atmel_nand_data {
u8 enable_pin; /* chip enable */
u8 det_pin; /* card detect */
u8 rdy_pin; /* ready/busy */
......@@ -94,7 +94,7 @@ struct at91_nand_data {
u8 bus_width_16; /* buswidth is 16 bit */
struct mtd_partition* (*partition_info)(int, int*);
};
extern void __init at91_add_device_nand(struct at91_nand_data *data);
extern void __init at91_add_device_nand(struct atmel_nand_data *data);
/* I2C*/
extern void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册