• Huacai Chen's avatar
    linux: Fix platform device probe for DT-based PCI · 9fbd3e43
    Huacai Chen authored
    On a DT-base PCI platform, the sysfs path of vga device is like this:
    /sys/devices/platform/bus@10000000/1a000000.pci/pci0000:00/0000:00:11.0/0000:04:00.0.
    
    Then the ID_PATH from udev is platform-1a000000.pci-pci-0000:04:00.0 and
    the BusID will be pci-0000:04:00.0, which causes Xorg start fail. This
    is because config_udev_odev_setup_attribs() use strstr() to search the
    first "pci-" in ID_PATH. To fix this, we implement a strrstr() function
    and use it to search the last "pci-" in ID_PATH, which can get a correct
    BusID.
    Signed-off-by: default avatarHuacai Chen <chenhc@lemote.com>
    9fbd3e43
udev.c 17.6 KB