Skip to content

Commit

Permalink
[MTD] NAND Fix platform structure and NDFC driver
Browse files Browse the repository at this point in the history
The platform structure was lacking an oobinfo field.
The NDFC driver had some remains from another tree.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
  • Loading branch information
Thomas Gleixner committed May 29, 2006
1 parent 19676ff commit 8be834f
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 6 deletions.
6 changes: 2 additions & 4 deletions drivers/mtd/nand/ndfc.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
#include <linux/mtd/nand_ecc.h>
#include <linux/mtd/partitions.h>
#include <linux/mtd/ndfc.h>
#include <linux/mtd/ubi.h>
#include <linux/mtd/mtd.h>
#include <linux/platform_device.h>

Expand Down Expand Up @@ -169,14 +168,13 @@ static void ndfc_chip_init(struct ndfc_nand_mtd *mtd)
chip->ecc.mode = NAND_ECC_HW;
chip->ecc.size = 256;
chip->ecc.bytes = 3;
chip->autooob = mtd->pl_chip->autooob;
chip->autooob = mtd->pl_chip->oobinfo;
mtd->mtd.priv = chip;
mtd->mtd.owner = THIS_MODULE;
}

static int ndfc_chip_probe(struct platform_device *pdev)
{
int rc;
struct platform_nand_chip *nc = pdev->dev.platform_data;
struct ndfc_chip_settings *settings = nc->priv;
struct ndfc_controller *ndfc = &ndfc_ctrl;
Expand Down Expand Up @@ -235,7 +233,7 @@ static int ndfc_nand_probe(struct platform_device *pdev)
struct ndfc_controller_settings *settings = nc->priv;
struct resource *res = pdev->resource;
struct ndfc_controller *ndfc = &ndfc_ctrl;
unsigned long long phys = NDFC_PHYSADDR_OFFS | res->start;
unsigned long long phys = setting->erpn | res->start;

ndfc->ndfcbase = ioremap64(phys, res->end - res->start + 1);
if (!ndfc->ndfcbase) {
Expand Down
4 changes: 3 additions & 1 deletion include/linux/mtd/nand.h
Original file line number Diff line number Diff line change
Expand Up @@ -518,17 +518,19 @@ extern int nand_do_read(struct mtd_info *mtd, loff_t from, size_t len,
*
* @nr_chips: max. number of chips to scan for
* @chip_offs: chip number offset
* @nr_partitions: number of partitions pointed to be partitoons (or zero)
* @nr_partitions: number of partitions pointed to by partitions (or zero)
* @partitions: mtd partition list
* @chip_delay: R/B delay value in us
* @options: Option flags, e.g. 16bit buswidth
* @oobinfo: oob info structure (ecc placement)
* @priv: hardware controller specific settings
*/
struct platform_nand_chip {
int nr_chips;
int chip_offset;
int nr_partitions;
struct mtd_partition *partitions;
struct nand_oobinfo *oobinfo;
int chip_delay;
unsigned int options;
void *priv;
Expand Down
3 changes: 2 additions & 1 deletion include/linux/mtd/ndfc.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@
#define NDFC_MAX_BANKS 4

struct ndfc_controller_settings {
uint32_t ccr_settings;
uint32_t ccr_settings;
uint64_t ndfc_erpn;
};

struct ndfc_chip_settings {
Expand Down

0 comments on commit 8be834f

Please sign in to comment.