summaryrefslogtreecommitdiff
path: root/i386/linux
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2006-07-26 23:16:34 +0000
committerThomas Schwinge <tschwinge@gnu.org>2009-06-18 00:26:39 +0200
commitda6a24089aa37a15cfc370654756dd1016e568e1 (patch)
tree4c64dda9f78349458e65af7694535d7570a74590 /i386/linux
parent0f5e02cac96eaeb7645c4ff4470809e97cd86bfa (diff)
2006-07-27 Stefan Siegl <stesie@brokenpipe.de>
* i386/linux/configure.ac (pcmcia, wireless): New driver classes. (i82365, 3c574_cs, 3c589_cs, axnet_cs, fmvj18x_cs, nmclan_cs, pcnet_cs) (smc91c92_cs, xirc2ps_cs, orinoco_cs): New drivers. * i386/linux/Makefile.in (linux-pcmcia-cs-modules-files) (linux-pcmcia-cs-clients-files, linux-pcmcia-cs-wireless-files): New variables. Add `vpath's to the files locations. (all-linux-files): Add the three new variables. (linux-pcmcia-cs-modules-flags, linux-pcmcia-cs-clients-flags) (linux-pcmcia-cs-wireless-flags): New variables. (linux-flags): Add code to handle the above files and flags.
Diffstat (limited to 'i386/linux')
-rw-r--r--i386/linux/Makefile.in37
-rw-r--r--i386/linux/configure.ac48
2 files changed, 84 insertions, 1 deletions
diff --git a/i386/linux/Makefile.in b/i386/linux/Makefile.in
index ea422fb0..b13663ff 100644
--- a/i386/linux/Makefile.in
+++ b/i386/linux/Makefile.in
@@ -115,8 +115,25 @@ vpath %.c $(linuxsrcdir)/dev/drivers/scsi
vpath %.c $(linuxsrcdir)/src/drivers/scsi
+# pcmcia-cs.
+
+linux-pcmcia-cs-modules-files = pcmcia.c cs.c ds.c rsrc_mgr.c bulkmem.c \
+ cistpl.c pci_fixup.c i82365.c
+vpath %.c $(linuxsrcdir)/pcmcia-cs/modules
+vpath %.c $(linuxsrcdir)/pcmcia-cs/glue
+
+linux-pcmcia-cs-clients-files = 3c574_cs.c 3c589_cs.c axnet_cs.c fmvj18x_cs.c \
+ nmclan_cs.c pcnet_cs.c smc91c92_cs.c xirc2ps_cs.c
+vpath %.c $(linuxsrcdir)/pcmcia-cs/clients
+
+linux-pcmcia-cs-wireless-files = hermes.c orinoco.c orinoco_cs.c
+vpath %.c $(linuxsrcdir)/pcmcia-cs/wireless
+
+
all-linux-files = $(linux-c-files) $(linux-block-files) \
- $(linux-net-files) $(linux-pci-files) $(linux-scsi-files)
+ $(linux-net-files) $(linux-pci-files) $(linux-scsi-files) \
+ $(linux-pcmcia-cs-modules-files) $(linux-pcmcia-cs-clients-files) \
+ $(linux-pcmcia-cs-wireless-files)
# These are always used.
objfiles := $(subst .c,.o, $(linux-c-files) $(linux-pci-files)) genhd.o
@@ -152,6 +169,12 @@ linux-pci-flags = -I$(linuxsrcdir)/dev/drivers/pci \
-I$(linuxsrcdir)/src/drivers/pci
linux-scsi-flags = -I$(linuxsrcdir)/dev/drivers/scsi \
-I$(linuxsrcdir)/src/drivers/scsi
+linux-pcmcia-cs-modules-flags = -I$(linuxsrcdir)/pcmcia-cs/include \
+ -include $(linuxsrcdir)/pcmcia-cs/glue/pcmcia_glue.h
+linux-pcmcia-cs-clients-flags = -I$(linuxsrcdir)/pcmcia-cs/include \
+ -DPCMCIA_CLIENT -include $(linuxsrcdir)/pcmcia-cs/glue/pcmcia_glue.h
+linux-pcmcia-cs-wireless-flags = -I$(linuxsrcdir)/pcmcia-cs/include \
+ -include $(linuxsrcdir)/pcmcia-cs/glue/wireless_glue.h
linux-asm-spec-flags = -D__KERNEL__ -D__ASSEMBLY__ -traditional \
-Idev/include -I$(linuxdir)/dev/include -I$(linuxdir)/src/include \
-I$(srcdir)/dev/include -I$(linuxsrcdir)/dev/include \
@@ -184,6 +207,18 @@ linux-flags: Makefile
echo $$i-linux-flags \
'= $$(linux-gen-flags) $$(linux-scsi-flags)' >> $@; \
done
+ for i in $(linux-pcmcia-cs-modules-files); do \
+ echo $$i-linux-flags \
+ '= $$(linux-pcmcia-cs-modules-flags) $$(linux-gen-flags)' >> $@; \
+ done
+ for i in $(linux-pcmcia-cs-clients-files); do \
+ echo $$i-linux-flags \
+ '= $$(linux-pcmcia-cs-clients-flags) $$(linux-gen-flags)' >>$@; \
+ done
+ for i in $(linux-pcmcia-cs-wireless-files); do \
+ echo $$i-linux-flags \
+ '= $$(linux-pcmcia-cs-wireless-flags) $$(linux-gen-flags)' >> $@; \
+ done
for i in $(linux-asm-files); do \
echo $$i-linux-flags '= $$(linux-asm-spec-flags)' >> $@; \
done
diff --git a/i386/linux/configure.ac b/i386/linux/configure.ac
index 407e9984..5c5dfc03 100644
--- a/i386/linux/configure.ac
+++ b/i386/linux/configure.ac
@@ -104,6 +104,11 @@ AC_DRIVER_CLASS([scsi], [CONFIG_SCSI], [ \
AC_DRIVER_CLASS([net], [CONFIG_INET], [ \
auto_irq.o net.o Space.o dev.o net_init.o pci-scan.o])
+AC_DRIVER_CLASS([pcmcia], [CONFIG_PCMCIA], [ \
+ pcmcia.o cs.o ds.o rsrc_mgr.o bulkmem.o cistpl.o pci_fixup.o])
+
+AC_DRIVER_CLASS([wireless], [CONFIG_WIRELESS], [])
+
dnl Strictly speaking, we could have a `linux' option too, but it's
dnl not possible to built a useful kernel without at least one Linux
dnl driver, so that's not really necessary.
@@ -223,5 +228,48 @@ linux_DRIVER([epic], [EPIC], [epic100], [net])
linux_DRIVER([tlan], [TLAN], [tlan], [net])
linux_DRIVER([viarhine], [VIA_RHINE], [via-rhine], [net])
+
+dnl PCMCIA device support.
+
+linux_DRIVER([i82365], [I82365], [i82365], [pcmcia])
+
+dnl PCMCIA device drivers.
+
+linux_DRIVER([3c574_cs], [3C574_CS], [3c574_cs], [pcmcia])
+linux_DRIVER([3c589_cs], [3C589_CS], [3c589_cs], [pcmcia])
+linux_DRIVER([axnet_cs], [AXNET_CS], [axnet_cs], [pcmcia])
+linux_DRIVER([fmvj18x_cs], [FMVJ18X_CS], [fmvj18x_cs], [pcmcia])
+linux_DRIVER([nmclan_cs], [NMCLAN_CS], [nmclan_cs], [pcmcia])
+AC_DRIVER([pcnet_cs], [CONFIG_PCNET_CS], [pcnet_cs.o 8390.o], [pcmcia])
+linux_DRIVER([smc91c92_cs], [SMC91C92_CS], [smc91c92_cs], [pcmcia])
+linux_DRIVER([xirc2ps_cs], [XIRC2PS_CS], [xirc2ps_cs], [pcmcia])
+
+dnl Wireless device support.
+
+AC_DEFUN([AC_WIRELESS_CS_DRIVER], [
+ AC_DRIVER([$1], [CONFIG_$2], [$3], [wireless])
+ if test x"${driver_class_pcmcia_selected+set}" != xset; then
+ driver_class_pcmcia_selected=yes
+ AC_DEFINE_UNQUOTED([$driver_class_pcmcia_option], [1])
+ device_drivers="$device_drivers $driver_class_pcmcia_files"
+ fi
+])
+
+dnl Wireless device drivers.
+
+AC_WIRELESS_CS_DRIVER([orinoco_cs], [ORINOCO_CS], [ \
+ hermes.o orinoco.o orinoco_cs.o])
+
+dnl If any PCMCIA devices have been enabled, make sure to include the network
+dnl glue as well...
+if test x"${driver_class_pcmcia_selected+set}" = xset; then
+ if test x"${driver_class_net_selected+set}" != xset; then
+ driver_class_net_selected=yes
+ AC_DEFINE_UNQUOTED([$driver_class_net_option], [1])
+ device_drivers="$device_drivers $driver_class_net_files"
+ fi
+fi
+
+
AC_CONFIG_FILES([Makefile Makerules])
AC_OUTPUT