bcm53xx: bcm_nand: switch from cmdlinepart to ofpart
[openwrt/svn-archive/archive.git] / target / linux / bcm53xx / patches-3.18 / 420-mtd-bcm5301x_nand.patch
index 1b2ed8edb254208de6aef0f2bd2c1f45362661d7..c4bc51fe9b569bdf18221365ef36a9a31fd55375 100644 (file)
@@ -22,7 +22,7 @@
  nand-objs := nand_base.o nand_bbt.o nand_timings.o
 --- /dev/null
 +++ b/drivers/mtd/nand/bcm_nand.c
-@@ -0,0 +1,1580 @@
+@@ -0,0 +1,1583 @@
 +/*
 + * Nortstar NAND controller driver
 + *
@@ -64,6 +64,7 @@
 +
 +#include <linux/mtd/mtd.h>
 +#include <linux/mtd/nand.h>
++#include <linux/mtd/partitions.h>
 +
 +#define NANDC_MAX_CHIPS               2       /* Only 2 CSn supported in NorthStar */
 +
 +      return 0;
 +}
 +
-+static const char * const part_probes[] = { "bcm47xxpart", "cmdlinepart", NULL };
++static const char * const part_probes[] = { "ofpart", "bcm47xxpart", NULL };
 +
 +/*
 + * Top-level init function
 + */
 +static int bcmnand_probe(struct bcma_device *core)
 +{
++      struct mtd_part_parser_data parser_data;
 +      struct device *dev = &core->dev;
 +      struct bcmnand_ctrl *ctrl;
 +      int res, i, irq;
 +      if (res)
 +              return res;
 +
-+      res = mtd_device_parse_register(&ctrl->mtd, part_probes, NULL, NULL, 0);
++      parser_data.of_node = np;
++      res = mtd_device_parse_register(&ctrl->mtd, part_probes, &parser_data, NULL, 0);
 +      if (res) {
 +              dev_err(dev, "Failed to register MTD device: %d\n", res);
 +              return res;