OK, I've done a quick prototype of using () as one way to specify the ID. The mtparts can look like this (tested) mtdparts=(0000:00:1f.5)25165824(BIOS),-(squashfs) The text in () can be pretty arbitrary; only ) is disallowed. It's about 10 more lines of code in cmdlinepart.c and that's it. Further, the existing syntax is still supported: mtdparts=id:parts what do you think? thanks ron On Fri, Mar 27, 2020 at 10:39 AM ron minnich <rminnich@xxxxxxxxx> wrote: > > yeah, :: is not so bad, but you've got a lot of corner cases as you check for :: > mtdparts=0: > for one example. > > Covering all the ways things can go wrong gets messy. You can pretty > much guarantee all those corner cases will get exercised ... > > And people are going to mess this up and end up with hard to debug errors: > mtdparts=0000::0:1f.3:parts > > That could be a hard error to spot. > > I still wonder if we should not just define some character as > available in addition to :. I realize | was pretty awful, but ... is > there some other character we might use? I kind of like the simplicity > of the current scheme; there really would be no issue had it been > almost anything but a : :-) > > But if the sense is that :: is the way to go, I can give it a shot. > > ron > > On Fri, Mar 27, 2020 at 10:16 AM Mika Westerberg > <mika.westerberg@xxxxxxxxxxxxxxx> wrote: > > > > On Fri, Mar 27, 2020 at 10:05:52AM -0700, ron minnich wrote: > > > I did try the \ thing but found it a bit tricky to work with, with > > > lots of potential for simple errors. > > > > > > It would require cmdlines like this > > > mtdparts=0000\:00\:0.1f:etcetc > > > > > > A lot of these mtdparts definitions are produced by scripts and > > > Makefiles and there are many, many places where \\ have a way of > > > vanishing. > > > > Right. One option would be to use the printf() style escaping and make > > :: to be literal : in the same way %% is literal %. ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/