Re: barebox state alias with same name as node doesn't work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 17, 2019 at 8:16 AM Ian Abbott <abbotti@xxxxxxxxx> wrote:
>
> Hi,
>
> All the examples of "barebox,state" compatible nodes I can find in
> Barebox seem to follow this basic pattern:
>
> / {
>    /* ... */
>    aliases {
>      /* ... */
>      state = &state;
>    };
>    /* ... */
>    state: state {
>      magic = <0xdeadbeef>; /* or whatever */
>      compatible = "barebox,state";
>      /* ... */
>    };
>    /* ... */
> };
>
> Note that the alias name is the same as the node name in the above example.
>
> However, when I try to follow that pattern for my own board, I get an
> error (-EINVAL):
>
> ERROR: register_device: already registered state
>
> This is because the node "state" has been already registered as a device
> called "state" by of_platform_device_create() (via of_probe() and
> of_arm_init()).  Later, the state device driver is initialized and
> state_probe() is called on the device that was previously registered.
> state_probe() calls state_new_from_node() which calls of_alias_get() to
> get the name of the alias for this device (the alias is also called
> "state" in this example), and calls state_new() with this alias name.
> state_new() allocates a struct state with an embedded struct device_d,
> sets the device name to the alias name it was called with ("state"), and
> calls register_device() to register this embedded struct device_d.  The
> call to register_device() fails with return value -EINVAL because the
> name is not unique.
>
> I'm wondering if this has ever worked or whether there is a regression
> bug.  I fixed it on my board by renaming node to "state_nor", keeping
> the alias name as "state".
>
> I'm currently using Barebox 2018.12.0, but I don't see any relevant
> changes in Barebox 2019.01.0 or barebox-next.
>

This should be fixed by:
http://lists.infradead.org/pipermail/barebox/2018-November/035432.html
I don't think it is a part of 2018.12.0, though

Thanks,
Andrey Smirnov

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux