mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Ladislav Michl <ladis@linux-mips.org>
Cc: Andrey Smirnov <andrew.smirnov@gmail.com>,
	Barebox List <barebox@lists.infradead.org>
Subject: Re: [PATCH] of: Add .of suffix to device names from devicetree
Date: Fri, 4 Jan 2019 09:12:45 +0100	[thread overview]
Message-ID: <20190104081245.k4apq6qhvvibwt7e@pengutronix.de> (raw)
In-Reply-To: <20181231111258.GA6011@lenoch>

On Mon, Dec 31, 2018 at 12:12:58PM +0100, Ladislav Michl wrote:
> On Wed, Nov 14, 2018 at 09:52:33AM +0100, Sascha Hauer wrote:
> > Previous implementation used to add a number to the device names
> > for devices registered from the device tree which did not have a 'reg'
> > property, thus a device node named "state" resulted in a device name
> > "state.<x>". Current implementation skips that number and we get a
> > device named "state". This conflicts with our barebox state
> > implementation which tries to register a device named "state" itself.
> > We could rename the state device nodes of all our device trees, but it
> > causes less trouble to rename the devices.
> > 
> > This adds a ".of" suffix to the device names for devices registered from
> > the device tree which also has the nice effect that they now can easily
> > be recognized.
> 
> Well, that also breaks scripting based on device name (example):
> -if [ ${fffa4000.gadget@fffa4000.vbus} != 1 ]
> +if [ ${fffa4000.gadget@fffa4000.of.vbus} != 1 ]
>  then
>         echo "No USB Device cable plugged, normal boot"
>         exit 0
> 
> I can live with that, but would welcome suggestions how to write above
> code in some nicer way.

This only becomes a problem when you peristently store an environment and
update barebox afterwards.

I generally avoid scripting as much as I can. It's good to be able to do
scripting, but it's even better to not have to. Scripting is great for
hacking and development but IMHO is bad in production. Correct error
handling is hard to archieve in scripts, even more so in a restricted
shell like hush. Then with scripts it's tempting to store them on the
device. When this is done you can run into surprising compatibility
issues like above, so you are doomed to maintain compatibility to some
ancient scripts that might be on your device.

With the example you have given I would rather write the corresponding C
code which is much easier to maintain.

Sidenote: Your script example only works because your devices base
address happens to be in the a-f hexadecimal range. Shell variables
cannot start with a number, so 800a4000.gadget@800a4000.vbus would not
work.

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@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

      reply	other threads:[~2019-01-04  8:12 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-14  8:52 Sascha Hauer
2018-11-14 12:48 ` Jan Lübbe
2018-11-14 15:59 ` Andrey Smirnov
2018-11-15  9:33   ` Sascha Hauer
2018-12-31 11:12 ` Ladislav Michl
2019-01-04  8:12   ` Sascha Hauer [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190104081245.k4apq6qhvvibwt7e@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=andrew.smirnov@gmail.com \
    --cc=barebox@lists.infradead.org \
    --cc=ladis@linux-mips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox