[systemd-devel] [PATCH 2/2] udev: fix for devices without PCI

Rob Clark robdclark at gmail.com
Sun Mar 3 10:24:51 PST 2013


On Sun, Mar 3, 2013 at 1:22 PM, Kay Sievers <kay at vrfy.org> wrote:
> On Sun, Mar 3, 2013 at 7:10 PM, Rob Clark <robdclark at gmail.com> wrote:
>> On Sun, Mar 3, 2013 at 1:06 PM, Kay Sievers <kay at vrfy.org> wrote:
>>> On Sun, Mar 3, 2013 at 6:55 PM, Rob Clark <robdclark at gmail.com> wrote:
>>>> On many arm embedded SoC's (phones, tablets, etc), there is no PCI bus.
>>>> So it is not an error if names_pci() fails to find a parent PCI device.
>>>
>>> As the comment in the code lines above states, all these names work on
>>> for PCI based setups.
>>>
>>> Other buses and architectures would need proper code to handle them,
>>> not just skip over the pci prefix. We cannot do that.
>>
>> Of course, if you have a better idea in mind, I am all-ears.  I'm not
>> a systemd/udev expert, so certainly don't claim that it is the best
>> fix.  It would be nice for this to work somehow properly on the
>> various PCI-less systems out there.
>
> It depends on the bus type used for the parent device(s), we would
> need to compose a stable and predictable name from the properties of
> the parent device(s). In most cases it's probably a simple "platform"
> bus hack, which we will see.
>
> What does:
>   ls -l /sys/class/net
> print on these systems?

yeah, it is a platform device... devices/platform/msm_hsusb/gadget/net/rndis0:

[robclark at touchpad:~]$ ls -l /sys/class/net
total 0
lrwxrwxrwx 1 root root 0 Mar  3 13:16 dummy0 -> ../../devices/virtual/net/dummy0
lrwxrwxrwx 1 root root 0 Mar  3 13:16 lo -> ../../devices/virtual/net/lo
lrwxrwxrwx 1 root root 0 Mar  3 13:16 rmnet0 -> ../../devices/virtual/net/rmnet0
lrwxrwxrwx 1 root root 0 Mar  3 13:16 rmnet1 -> ../../devices/virtual/net/rmnet1
lrwxrwxrwx 1 root root 0 Mar  3 13:16 rmnet2 -> ../../devices/virtual/net/rmnet2
lrwxrwxrwx 1 root root 0 Mar  3 13:16 rmnet3 -> ../../devices/virtual/net/rmnet3
lrwxrwxrwx 1 root root 0 Mar  3 13:16 rmnet4 -> ../../devices/virtual/net/rmnet4
lrwxrwxrwx 1 root root 0 Mar  3 13:16 rmnet5 -> ../../devices/virtual/net/rmnet5
lrwxrwxrwx 1 root root 0 Mar  3 13:16 rmnet6 -> ../../devices/virtual/net/rmnet6
lrwxrwxrwx 1 root root 0 Mar  3 13:16 rmnet7 -> ../../devices/virtual/net/rmnet7
lrwxrwxrwx 1 root root 0 Mar  3 13:17 rndis0 ->
../../devices/platform/msm_hsusb/gadget/net/rndis0
lrwxrwxrwx 1 root root 0 Mar  3 13:16 sit0 -> ../../devices/virtual/net/sit0


> There are only a few chars left to use for network names, so just
> using the platform name would probably not work in some cases. Not
> sure if someone has an idea, what to do here ...
>
> Kay


More information about the systemd-devel mailing list