On Tue, Aug 26, 2014 at 04:28:13PM +0200, Alexander Aring wrote: > 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@xxxxxxxxxxxxxxxxxx> > > --- > > 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. removed the check while applying. > > > + 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. It still returns NULL. I have a series converting it to return ERR_PTR, but this isn't mainlined yet. I'll have to rebase it on current master. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox