On Tue, Nov 10, 2015 at 10:27:23PM +0000, Trent Piepho wrote: > This boolean parameter tells you if the FPGA is programmed or not. It > can be accessed from the shell as "$fpga.programmed". One could use > this to not program the FPGA if it's already programmed. > > There is an annoying limitation of the way barebox puts parameters > into the shell env: it requires they have no periods in the device > name. It uses the first period to divide the variable name into a > device and parameter name, which doesn't work correctly if the device > name has a period in it. Yeah, that's really annoying, and so far I haven't found a good way to work around this issue. > > Since the names of any devices created from the OF device tree have a > period in them, this is a problem. They not only have a period in them, they can also begin with a number which makes the string invalid as a variable name. > > So what I did here was create a new device. Yes, that's what I did in this case sometimes aswell. > Its parent will be the OF > device for the fpgamgr and it will in turn be the parent of the > firmware cdev. Previously the cdev's parent was the OF device. This > device won't have period in the name and the parameter is attached to > it. Even without the period limitation, doing this gives a nicer name > "fpga.programmed" instead of "ff706000.fpgamgr.programmed". > > The fpgamgr code had a pointer to the OF device in its private state. > I changed this to be a struct for the new "fpga" device, which is then > used in all the places the former pointer was (nothing but dev_dbg, > etc. calls). > > Signed-off-by: Trent Piepho <tpiepho@xxxxxxxxxxxxxx> Patch looks good, applied. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox