[PATCH 1/2] nand: Add Marvell Orion NAND driver

Alexander Aring alex.aring at gmail.com
Tue Aug 26 07:28:13 PDT 2014


Hi,

On Sat, Aug 23, 2014 at 05:19:22PM -0300, Ezequiel Garcia wrote:
> This commit adds NAND support for the controller present in Kirkwood SoCs.
> 

cool! I will test it on my DNS-325 platform, if I find some free time.

Thanks for doing this.

> Signed-off-by: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
> ---
>  drivers/mtd/nand/Kconfig      |   7 ++
>  drivers/mtd/nand/Makefile     |   1 +
>  drivers/mtd/nand/nand_orion.c | 162 ++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 170 insertions(+)
>  create mode 100644 drivers/mtd/nand/nand_orion.c
> 
> diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
> index 04fe3c8..ccf1f9c 100644
> --- a/drivers/mtd/nand/Kconfig
> +++ b/drivers/mtd/nand/Kconfig
> @@ -90,6 +90,13 @@ config NAND_OMAP_GPMC
>  	  Support for NAND flash using GPMC. GPMC is a common memory
>  	  interface found on Texas Instrument's OMAP platforms
>  
> +config NAND_ORION
> +	bool
> +	prompt "Orion NAND driver"
> +	depends on ARCH_MVEBU
> +	help
> +	  Support for the Orion NAND controller, present in Kirkwood SoCs.
> +
>  config NAND_ATMEL
>  	bool
>  	prompt "Atmel (AT91SAM9xxx) NAND driver"
...
> +
> +static int orion_nand_probe(struct device_d *dev)
> +{
> +	struct device_node *dev_node = dev->device_node;
> +	struct orion_nand *priv;
> +	struct mtd_info *mtd;
> +	struct nand_chip *chip;
> +	struct clk *clk;
> +	void __iomem *io_base;
> +	int width, ret;
> +	u32 val = 0;
> +
> +	priv = xzalloc(sizeof(struct orion_nand));
> +	if (!priv) {
> +		ret = -ENOMEM;
> +		goto no_res;
> +	}

checking on null with xzalloc isn't needed, if fails we run into panic.

> +	mtd = &priv->mtd;
> +	chip = &priv->chip;
> +
> +	io_base = dev_request_mem_region(dev, 0);
> +

here we should check the return value. I don't know what's now the
behaviour on dev_request_mem_region if fail returns NULL or ERR_PTR.
There was some discussion on the list.

- Alex



More information about the barebox mailing list