mtd: nand: drop unnecessary partition parser data
[cascardo/linux.git] / drivers / mtd / nand / orion_nand.c
index c3c6d30..5c21416 100644 (file)
@@ -76,7 +76,6 @@ static void orion_nand_read_buf(struct mtd_info *mtd, uint8_t *buf, int len)
 static int __init orion_nand_probe(struct platform_device *pdev)
 {
        struct mtd_info *mtd;
-       struct mtd_part_parser_data ppdata = {};
        struct nand_chip *nc;
        struct orion_nand_data *board;
        struct resource *res;
@@ -124,9 +123,10 @@ static int __init orion_nand_probe(struct platform_device *pdev)
        }
 
        mtd->priv = nc;
-       mtd->owner = THIS_MODULE;
+       mtd->dev.parent = &pdev->dev;
 
        nc->priv = board;
+       nand_set_flash_node(nc, pdev->dev.of_node);
        nc->IO_ADDR_R = nc->IO_ADDR_W = io_base;
        nc->cmd_ctrl = orion_nand_cmd_ctrl;
        nc->read_buf = orion_nand_read_buf;
@@ -161,9 +161,7 @@ static int __init orion_nand_probe(struct platform_device *pdev)
        }
 
        mtd->name = "orion_nand";
-       ppdata.of_node = pdev->dev.of_node;
-       ret = mtd_device_parse_register(mtd, NULL, &ppdata,
-                       board->parts, board->nr_parts);
+       ret = mtd_device_register(mtd, board->parts, board->nr_parts);
        if (ret) {
                nand_release(mtd);
                goto no_dev;
@@ -201,6 +199,7 @@ static const struct of_device_id orion_nand_of_match_table[] = {
        { .compatible = "marvell,orion-nand", },
        {},
 };
+MODULE_DEVICE_TABLE(of, orion_nand_of_match_table);
 #endif
 
 static struct platform_driver orion_nand_driver = {