
On Thu, 2016-06-02 at 07:02 +0200, Heiko Schocher wrote:
Hello Scott,
Am 02.06.2016 um 02:09 schrieb Scott Wood:
On Tue, 2016-05-31 at 14:08 +0200, Heiko Schocher wrote:
@@ -59,6 +64,9 @@ int nand_register(int devnum, struct mtd_info *mtd) * via the mtdcore infrastructure (e.g. ubi). */ add_mtd_device(mtd); +#ifdef CONFIG_MTD_CONCAT
- nand_devices_found++;
+#endif #endif
[snip]
sprintf(c_mtd_name, "nand%d", nand_devices_found);
mtd = mtd_concat_create(nand_info, nand_devices_found,
c_mtd_name);
This assumes that there are no gaps in the NAND numbering (e.g. because some device was optional or failed to init). It would be better to build an array by scanning nand_info[] for non-NULL devices.
Yes, you are right ... Hmm... thinking about it ... this did exactly my v1 ... I created such an array "mtd_nand_list" ... Ok, this "mtd_nand_list" was a variable in file scope ... but as it is an array of pointers, the mem footprint is not so big ...
My concern was code organization, not (just) footprint.
but if you find it better to scan nand_info and create a new array on stack, I can do this ... what way do you preffer?
On the stack.
-Scott