summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2016-04-13 17:05:55 -0400
committerAdam Jackson <ajax@redhat.com>2016-04-27 17:09:15 -0400
commit27f85fc523102f89c3fc1546ae500816ccbffc8a (patch)
treed34cc5648ea6f62755a60685a355a2bbd36f5762
parentadaf1fe744df8d37acdb8b157abc5034b8ea1073 (diff)
Don't build split alpine and laguna support
Before: text data bss dec hex filename 25772 2040 16 27828 6cb4 src/.libs/cirrus_alpine.so 11429 1552 112 13093 3325 src/.libs/cirrus_drv.so 21968 2016 16 24000 5dc0 src/.libs/cirrus_laguna.so 59169 5608 114 64921 fd99 (TOTALS) After: text data bss dec hex filename 47831 3840 112 51783 ca47 src/.libs/cirrus_drv.so So, in the worst case, you're using roughly two more pages for (clean, evictable) text, but two fewer (dirty) pages for data and bss. Fixing this also allows the X server to clean up module loading a bit by enforcing the _drv.so suffix, and since this is the only driver pulling such shenanigans... Reviewed-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Adam Jackson <ajax@redhat.com>
-rw-r--r--src/Makefile.am24
-rw-r--r--src/cir_driver.c43
2 files changed, 8 insertions, 59 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 36b8d8b..2ceb828 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -35,32 +35,20 @@ cirrus_drv_la_SOURCES = \
CirrusClk.c \
cir_shadow.c \
cir_pcirename.h \
- compat-api.h
-
-cirrus_alpine_la_LTLIBRARIES = cirrus_alpine.la
-cirrus_alpine_la_LDFLAGS = -module -avoid-version
-cirrus_alpine_ladir = @moduledir@/drivers
-cirrus_alpine_la_SOURCES = \
+ compat-api.h \
alp_driver.c \
alp.h \
alp_hwcurs.c \
- alp_i2c.c
-if XAA
-cirrus_alpine_la_SOURCES += \
- alp_xaa.c \
- alp_xaam.c
-endif
-
-cirrus_laguna_la_LTLIBRARIES = cirrus_laguna.la
-cirrus_laguna_la_LDFLAGS = -module -avoid-version
-cirrus_laguna_ladir = @moduledir@/drivers
-cirrus_laguna_la_SOURCES = \
+ alp_i2c.c \
lg_driver.c \
lg.h \
lg_hwcurs.c \
lg_i2c.c
+
if XAA
-cirrus_laguna_la_SOURCES += \
+cirrus_drv_la_SOURCES += \
+ alp_xaa.c \
+ alp_xaam.c
lg_xaa.c \
lg_xaa.h
endif
diff --git a/src/cir_driver.c b/src/cir_driver.c
index 2df4a2e..bbd8bbc 100644
--- a/src/cir_driver.c
+++ b/src/cir_driver.c
@@ -43,9 +43,6 @@ static const OptionInfoRec * CIRAvailableOptions(int chipid, int busid);
static void CIRIdentify(int flags);
static Bool CIRProbe(DriverPtr drv, int flags);
-static Bool lg_loaded = FALSE;
-static Bool alp_loaded = FALSE;
-
#define CIR_VERSION 4000
#define CIR_NAME "CIRRUS"
#define CIR_DRIVER_NAME "cirrus"
@@ -170,16 +167,10 @@ CIRAvailableOptions(int chipid, int busid)
case PCI_CHIP_GD5464:
case PCI_CHIP_GD5464BD:
case PCI_CHIP_GD5465:
- if (lg_loaded)
- return LgAvailableOptions(chipid);
- else
- return NULL;
+ return LgAvailableOptions(chipid);
default:
- if (alp_loaded)
- return AlpAvailableOptions(chipid);
- else
- return NULL;
+ return AlpAvailableOptions(chipid);
}
}
@@ -199,25 +190,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;
@@ -272,19 +244,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]);
}