xfree86: Fallback to first platform device as primary
When neither of the various bus implementations was able to find a primary bus and device, fallback to using the platform bus as primary bus and the first platform device as primary device. Signed-off-by: Thierry Reding <treding@nvidia.com> Reviewed-by: Rob Clark <robdclark@gmail.com> Tested-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
33aeec8a11
commit
2f0183222b
|
@ -210,6 +210,9 @@ xf86BusProbe(void)
|
|||
#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
|
||||
xf86SbusProbe();
|
||||
#endif
|
||||
#ifdef XSERVER_PLATFORM_BUS
|
||||
xf86platformPrimary();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -594,4 +594,19 @@ void xf86platformVTProbe(void)
|
|||
xf86PlatformReprobeDevice(i, xf86_platform_devices[i].attribs);
|
||||
}
|
||||
}
|
||||
|
||||
void xf86platformPrimary(void)
|
||||
{
|
||||
/* use the first platform device as a fallback */
|
||||
if (primaryBus.type == BUS_NONE) {
|
||||
xf86Msg(X_INFO, "no primary bus or device found\n");
|
||||
|
||||
if (xf86_num_platform_devices > 0) {
|
||||
primaryBus.id.plat = &xf86_platform_devices[0];
|
||||
primaryBus.type = BUS_PLATFORM;
|
||||
|
||||
xf86Msg(X_NONE, "\tfalling back to %s\n", primaryBus.id.plat->attribs->syspath);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -155,6 +155,7 @@ extern _X_EXPORT int
|
|||
xf86PlatformMatchDriver(char *matches[], int nmatches);
|
||||
|
||||
extern void xf86platformVTProbe(void);
|
||||
extern void xf86platformPrimary(void);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue