浏览代码

bcm53xx: bcm_nand: switch from cmdlinepart to ofpart

Signed-off-by: Rafał Miłecki <[email protected]>

SVN-Revision: 43580
Rafał Miłecki 11 年之前
父节点
当前提交
aed6b26431

+ 6 - 3
target/linux/bcm53xx/patches-3.14/420-mtd-bcm5301x_nand.patch

@@ -22,7 +22,7 @@
  nand-objs := nand_base.o nand_bbt.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 */
 +
@@ -1515,13 +1516,14 @@
 +	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;
@@ -1559,7 +1561,8 @@
 +	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;

+ 6 - 3
target/linux/bcm53xx/patches-3.18/420-mtd-bcm5301x_nand.patch

@@ -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 */
 +
@@ -1515,13 +1516,14 @@
 +	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;
@@ -1559,7 +1561,8 @@
 +	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;