On 01/29/2015 09:57 PM, Peter Pan 潘栋 (peterpandong) wrote: [..] > > Currently, we are working on sharing the bbt code. I think your and Brain's > suggestion > will be very helpful. > > There are two options. We can put struct nand_bbt pointer in either nand_chip > or mtd_info structure.
I'm sorry, you lost me here. Do you mean struct nand_bbt_descr ? > If put nand_bbt in nand_chip, we need to change the I thought the plan was NOT to base spi-nand on nand, so you can't put this in nand_chip, can you? Also: After looking at the nand_bbt.c file, I'm wondering how promising is to separate it from NAND. It seems the BBT code is quite attached to NAND! Are you planning to do this in just one patch? Maybe it's better to start simple and prepare small patches that gradually make the nand_base.c and nand_bbt.c files less dependent. For instance, you can get rid of the memory release in a first patch: /* Free bad block table memory */ kfree(chip->bbt); if (!(chip->options & NAND_OWN_BUFFERS)) kfree(chip->buffers); /* Free bad block descriptor memory */ if (chip->badblock_pattern && chip->badblock_pattern->options & NAND_BBT_DYNAMICSTRUCT) kfree(chip->badblock_pattern); by moving it to some nand_bbt_release() function. I might be pushing some patches to do this, as I think it can be useful in general to clean this code. -- Ezequiel -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/