From da6a24089aa37a15cfc370654756dd1016e568e1 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 26 Jul 2006 23:16:34 +0000 Subject: 2006-07-27 Stefan Siegl * 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. --- i386/linux/Makefile.in | 37 ++++++++++++++++++++++++++++++++++++- i386/linux/configure.ac | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+), 1 deletion(-) (limited to 'i386') diff --git a/i386/linux/Makefile.in b/i386/linux/Makefile.in index ea422fb..b13663f 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 407e998..5c5dfc0 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 -- cgit v1.2.3