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. > + 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 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox