--- xf86-video-cirrus-1.4.0.orig/src/cir_driver.c	2012-03-24 02:48:17.000000000 +0100
+++ xf86-video-cirrus-1.4.0/src/cir_driver.c	2013-11-14 14:22:54.000000000 +0100
@@ -206,25 +206,6 @@ CIRProbe(DriverPtr drv, int flags)
     ErrorF("CirProbe\n");
 #endif
   
-    /*
-     * For PROBE_DETECT, make sure both sub-modules are loaded before
-     * calling xf86MatchPciInstances(), because the AvailableOptions()
-     * functions may be called before xf86MatchPciInstances() returns.
-     */
-    
-    if (flags & PROBE_DETECT) {
-	if (!lg_loaded) {
-	    if (xf86LoadDrvSubModule(drv, "cirrus_laguna")) {
-		lg_loaded = TRUE;
-	    }
-	}
-	if (!alp_loaded) {
-	    if (xf86LoadDrvSubModule(drv, "cirrus_alpine")) {
-		alp_loaded = TRUE;
-	    }
-	}
-    }
-
     if ((numDevSections = xf86MatchDevice(CIR_DRIVER_NAME,
 					  &devSections)) <= 0) {
 	return FALSE;
@@ -261,19 +242,8 @@ CIRProbe(DriverPtr drv, int flags)
 		     PCI_DEV_DEVICE_ID(pPci) == PCI_CHIP_GD5464 ||
 		     PCI_DEV_DEVICE_ID(pPci) == PCI_CHIP_GD5464BD ||
 		     PCI_DEV_DEVICE_ID(pPci) == PCI_CHIP_GD5465)) {
- 	    
- 	    if (!lg_loaded) {
- 		if (!xf86LoadDrvSubModule(drv, "cirrus_laguna")) 
-		    continue;
- 		lg_loaded = TRUE;
- 	    }
 	    pScrn = LgProbe(usedChips[i]);
  	} else {
- 	    if (!alp_loaded) {
- 		if (!xf86LoadDrvSubModule(drv, "cirrus_alpine")) 
- 		    continue;
- 		alp_loaded = TRUE;
- 	    }
  	    pScrn = AlpProbe(usedChips[i]);
  	}
  	
