A re-write of the driver based on xway_nand.c and constants as well as the cmd_ctrl() function from the original oxnas_nand.c resulted in a extremely similar looking file (see diffsize), and fixes the issue of NAND not being detected on newer kernels.
Signed-off-by: Daniel Golle <dan...@makrotopia.org> --- target/linux/oxnas/files/drivers/mtd/nand/oxnas_nand.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/target/linux/oxnas/files/drivers/mtd/nand/oxnas_nand.c b/target/linux/oxnas/files/drivers/mtd/nand/oxnas_nand.c index 055051d..c96d66b 100644 --- a/target/linux/oxnas/files/drivers/mtd/nand/oxnas_nand.c +++ b/target/linux/oxnas/files/drivers/mtd/nand/oxnas_nand.c @@ -2,15 +2,18 @@ * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 as published * by the Free Software Foundation. + * + * based on xway_nand.c + * Copyright © 2012 John Crispin <blo...@openwrt.org> + * and oxnas_nand.c "NAND glue for Oxnas platforms" + * written by Ma Haijun <mahaij...@gmail.com> */ -#include <linux/module.h> #include <linux/mtd/nand.h> #include <linux/of_gpio.h> #include <linux/of_platform.h> #include <linux/clk.h> #include <linux/reset.h> -#include <mach/utils.h> /* nand commands */ #define NAND_CMD_ALE BIT(18) @@ -85,14 +88,3 @@ static int __init oxnas_register_nand(void) } subsys_initcall(oxnas_register_nand); - -static const struct of_device_id oxnas_nand_ids[] = { - { .compatible = "plxtech,nand-nas782x"}, - { /* sentinel */ } -}; -MODULE_DEVICE_TABLE(of, oxnas_nand_ids); - -MODULE_LICENSE("GPL"); -MODULE_AUTHOR("Ma Haijun"); -MODULE_DESCRIPTION("NAND glue for Oxnas platforms"); -MODULE_ALIAS("platform:oxnas_nand"); -- 2.7.2 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel