Rather than dumping all your dtbo files into /lib/firmware you can instead dump them into a subdirectory.
For example, if using nomel’s excellent pre-generated dtbo’s for GPIO: https://github.com/nomel/beaglebone
Instead of copying all the files in gpio-header/generated over to /lib/firmware - create a new subdirectory called in /lib/firmware called gpio, then copy all the files to /lib/firmware/gpio
Then the following will work:
echo gpio/gpio-P9.12:00A0 > /sys/devices/bone_capemgr.*/slots
Even better, in my mind, you can use a symlink. So for the leds, I tried the following:
1) Cloned his repository to /home/ubuntu/repos/beaglebone
2) As root, ran
ln -s /home/ubuntu/repos/beaglebone/led-header/generated /lib/firmware/leds
Then the following will also work:
echo leds/led-P9.42:00A0 > /sys/devices/bone_capemgr.9/slots
This has the added benefit that as the files and directory are still under my regular userid's ownership, I can pull updates to the repository to have them available, as well as editing/adding my own files without resorting to using the root userid.