oxnas: clean-up NAND driver to fix probing issue

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 <daniel@makrotopia.org>

SVN-Revision: 48986
This commit is contained in:
John Crispin 2016-03-10 19:11:28 +00:00
parent f78f271c1e
commit 61f27ca3e4

View File

@ -2,15 +2,18 @@
* This program is free software; you can redistribute it and/or modify it * 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 * under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation. * by the Free Software Foundation.
*
* based on xway_nand.c
* Copyright © 2012 John Crispin <blogic@openwrt.org>
* and oxnas_nand.c "NAND glue for Oxnas platforms"
* written by Ma Haijun <mahaijuns@gmail.com>
*/ */
#include <linux/module.h>
#include <linux/mtd/nand.h> #include <linux/mtd/nand.h>
#include <linux/of_gpio.h> #include <linux/of_gpio.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
#include <linux/clk.h> #include <linux/clk.h>
#include <linux/reset.h> #include <linux/reset.h>
#include <mach/utils.h>
/* nand commands */ /* nand commands */
#define NAND_CMD_ALE BIT(18) #define NAND_CMD_ALE BIT(18)
@ -89,14 +92,3 @@ static int __init oxnas_register_nand(void)
} }
subsys_initcall(oxnas_register_nand); 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");