[PATCH] Blackfin BF54x NAND Flash Controller driver

Bryan Wu bryan.wu at analog.com
Fri Sep 14 03:19:41 EDT 2007


On Thu, 2007-09-13 at 01:37 -0700, Andrew Morton wrote:
> On Mon, 03 Sep 2007 15:25:23 +0800 Bryan Wu <bryan.wu at analog.com>
> wrote:
> 
> > This is the driver for latest Blackfin BF54x nand flash controller
> > 
> >  - use nand_chip and mtd_info common nand driver interface
> >  - provide both PIO and dma operation
> >  - compiled with ezkit bf548 configuration
> >  - use hardware 1-bit ECC
> >  - tested with YAFFS2 and can mount YAFFS2 filesystem as rootfs
> > 
> > ...
> >
> > +int hardware_ecc = 0;
> 
> scripts/checkpatch.pl, please.
> 
Things are fixed in the try#3 version of the driver, which will be sent
out soon.

> > +#endif
> > +
> > +unsigned short bfin_nfc_pin_req[] = {P_NAND_CE, P_NAND_RB, 0};
> 
> static.  Please review whole patch for this.
> 
[!snip!]

> > +
> > +/*
> > + * bf54x_nand_probe
> > + *
> > + * called by device layer when it finds a device matching
> > + * one our driver can handled. This code checks to see if
> > + * it can allocate all necessary resources then calls the
> > + * nand layer to look for devices
> > + */
> > +static int bf54x_nand_probe(struct platform_device *pdev)
> > +{
> > +	struct bf54x_nand_platform *plat = to_nand_plat(pdev);
> > +	struct bf54x_nand_info *info = NULL;
> > +	struct nand_chip *chip = NULL;
> > +	struct mtd_info *mtd = NULL;
> > +	int err = 0;
> > +
> > +	dev_dbg(&pdev->dev, "(%p)\n", pdev);
> > +
> > +	if (!plat) {
> > +		dev_err(&pdev->dev, "no platform specific information\n");
> > +		goto exit_error;
> 
> and can this?
> 

Try to prevent board configuration missing the bf54x_nand_platform
information.

> > +	}
> > +
> > +	info = kzalloc(sizeof(*info), GFP_KERNEL);
> > +	if (info == NULL) {
> > +		dev_err(&pdev->dev, "no memory for flash info\n");
> > +		err = -ENOMEM;
> > +		goto exit_error;
> > +	}


Thanks
-Bryan Wu



More information about the linux-mtd mailing list