linux: Fix platform device probe for DT-based PCI

On a DT-base PCI platform, the sysfs path of vga device is like this:

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

(backported from commit 9fbd3e43)

Reviewed-by: Dave Airlie <>
Signed-off-by: Huacai Chen <>
3 jobs for server-1.20-branch in 5 minutes and 6 seconds (queued for 1 second)