/* Mandatory */ static Bool DUMMYProbe(DriverPtr drv, int flags) { Bool foundScreen = FALSE; int numDevSections, numUsed; GDevPtr *devSections; int i; if (flags & PROBE_DETECT) return FALSE; /* * Find the config file Device sections that match this * driver, and return if there are none. */ if ((numDevSections = xf86MatchDevice(DUMMY_DRIVER_NAME, &devSections)) <= 0) { return FALSE; } numUsed = numDevSections; if (numUsed > 0) { for (i = 0; i < numUsed; i++) { ScrnInfoPtr pScrn = NULL; int entityIndex = xf86ClaimNoSlot(drv,DUMMY_CHIP,devSections[i],TRUE); /* Allocate a ScrnInfoRec and claim the slot */ if ((pScrn = xf86AllocateScreen(drv,0 ))) { xf86AddEntityToScreen(pScrn,entityIndex); pScrn->driverVersion = VERSION; pScrn->driverName = DUMMY_DRIVER_NAME; pScrn->name = DUMMY_NAME; pScrn->Probe = DUMMYProbe; pScrn->PreInit = DUMMYPreInit; pScrn->ScreenInit = DUMMYScreenInit; pScrn->SwitchMode = DUMMYSwitchMode; pScrn->AdjustFrame = DUMMYAdjustFrame; pScrn->EnterVT = DUMMYEnterVT; pScrn->LeaveVT = DUMMYLeaveVT; pScrn->FreeScreen = DUMMYFreeScreen; pScrn->ValidMode = DUMMYValidMode; foundScreen = TRUE; } } } return foundScreen; }
static Bool NestedProbe(DriverPtr drv, int flags) { Bool foundScreen = FALSE; int numDevSections; GDevPtr *devSections; int i; ScrnInfoPtr pScrn; int entityIndex; if (flags & PROBE_DETECT) return FALSE; if ((numDevSections = xf86MatchDevice(NESTED_DRIVER_NAME, &devSections)) <= 0) { return FALSE; } if (numDevSections > 0) { for(i = 0; i < numDevSections; i++) { pScrn = NULL; entityIndex = xf86ClaimNoSlot(drv, NESTED_CHIP, devSections[i], TRUE); pScrn = xf86AllocateScreen(drv, 0); if (pScrn) { xf86AddEntityToScreen(pScrn, entityIndex); pScrn->driverVersion = NESTED_VERSION; pScrn->driverName = NESTED_DRIVER_NAME; pScrn->name = NESTED_NAME; pScrn->Probe = NestedProbe; pScrn->PreInit = NestedPreInit; pScrn->ScreenInit = NestedScreenInit; pScrn->SwitchMode = NestedSwitchMode; pScrn->AdjustFrame = NestedAdjustFrame; pScrn->EnterVT = NestedEnterVT; pScrn->LeaveVT = NestedLeaveVT; pScrn->FreeScreen = NestedFreeScreen; pScrn->ValidMode = NestedValidMode; foundScreen = TRUE; } } } return foundScreen; }