OK, I've got 3 options here, and I really need to move on from this.
1) Enable CONFIG_MTD_PHYSMAP and live with the change in mtd blocks.
Change the linuxargs bootldr param to point to the new root partition
(in NAND) and get on with life.
2) Apply the ridiculous ugly, WRONG WAY TO DO THIS, patch (see
attached) which preserves the partition order by virtue of calling the
platform specific 'balloon3_nor_init()' procedure (defined in
arch/arm/pxa-270/balloon3.c) from the NAND driver code procedure
'balloon3_nand_init()' (defined in drivers/mtd/nand/balloon3.c.
3) Arrange somehow for the NAND partition to be probed, recognized,
and loaded from within balloon3_init(). I'm having trouble figuring
out how to make this work. Simply calling 'balloon3_nand_init()' (the
one defined in drivers/mtd/nand/balloon.c, not the confusingly
identically named one from within baloon3.c) doesn't work, probably
because other stuff has not yet been initialized.
This is the one that I need help on... if anybody has any suggestions
on how to safely call a vanilla module init function from within the
low level balloon3.c 'balloon3_init()' function, I'd love the tip.
If anybody has a better/different suggestion, I'd be open to trying
that as well.
Thanks folks!
--wpd