diff -ur linux-2.4.6.uc0pre0.orig/drivers/net/Config.in linux-2.4.6.uc0pre0.actiontec/drivers/net/Config.in
--- linux-2.4.6.uc0pre0.orig/drivers/net/Config.in	2004-12-05 18:19:04.000000000 +0100
+++ linux-2.4.6.uc0pre0.actiontec/drivers/net/Config.in	2004-12-05 18:20:15.000000000 +0100
@@ -194,6 +194,22 @@
       dep_tristate '    D-Link DE600 pocket adapter support' CONFIG_DE600 $CONFIG_ISA
       dep_tristate '    D-Link DE620 pocket adapter support' CONFIG_DE620 $CONFIG_ISA
    fi
+   
+   tristate '  CNXT Emac support' CONFIG_CNXT_EMAC
+   if [ "$CONFIG_CNXT_EMAC" != "n" ]; then
+      if [ "$CONFIG_ARCH_CX821XX" = "y" ]; then
+         define_bool CONFIG_CNXT_EMAC_82 y
+      fi
+      choice '    Number of Ethernet Ports'  " \
+         1   CONFIG_NUM_ETHERNET_IS_1 \
+         2   CONFIG_NUM_ETHERNET_IS_2 \
+         3   CONFIG_NUM_ETHERNET_IS_3 \
+         4   CONFIG_NUM_ETHERNET_IS_4 \
+         "  1
+   else
+      define_bool CONFIG_NUM_ETHERNET_IS_0 y
+   fi
+   
    bool '  FEC ethernet controller (of ColdFire 5272)' CONFIG_FEC
    tristate '  CS89x0 support' CONFIG_CS89x0
    if [ "$CONFIG_CS89x0" != "n" ]; then
diff -ur linux-2.4.6.uc0pre0.orig/drivers/net/Makefile linux-2.4.6.uc0pre0.actiontec/drivers/net/Makefile
--- linux-2.4.6.uc0pre0.orig/drivers/net/Makefile	2004-12-05 18:19:04.000000000 +0100
+++ linux-2.4.6.uc0pre0.actiontec/drivers/net/Makefile	2004-12-05 18:20:15.000000000 +0100
@@ -215,6 +215,12 @@
 obj-y		+= ../acorn/net/acorn-net.o
 endif
 
+subdir-$(CONFIG_CNXT_EMAC_82)	+= cnxt_emac
+obj-$(CONFIG_CNXT_EMAC_82)		+= cnxt_emac/emac_drv.o
+ifeq ($(CONFIG_CNXT_EMAC_82),m)
+	mod-subdirs	+= cnxt_emac
+endif
+
 #
 # HIPPI adapters
 #
diff -ur linux-2.4.6.uc0pre0.orig/drivers/net/Space.c linux-2.4.6.uc0pre0.actiontec/drivers/net/Space.c
--- linux-2.4.6.uc0pre0.orig/drivers/net/Space.c	2004-12-05 18:19:04.000000000 +0100
+++ linux-2.4.6.uc0pre0.actiontec/drivers/net/Space.c	2004-12-05 18:20:15.000000000 +0100
@@ -91,6 +91,7 @@
 extern int bionet_probe(struct net_device *);
 extern int pamsnet_probe(struct net_device *);
 extern int cs89x0_probe(struct net_device *dev);
+extern int emac_probe(struct net_device *dev);
 extern int ethertap_probe(struct net_device *dev);
 extern int hplance_probe(struct net_device *dev);
 extern int bagetlance_probe(struct net_device *);
@@ -394,6 +395,13 @@
 	{NULL, 0},
 };
 
+static struct devprobe arm_probes[] __initdata = {
+#ifdef CONFIG_CNXT_EMAC     		/* CX821xx	*/
+	{emac_probe, 0},
+#endif
+	{NULL, 0},
+};
+
 /*
  * Unified ethernet device probe, segmented per architecture and
  * per bus interface. This drives the legacy devices only for now.
@@ -418,6 +426,9 @@
 		return 0;
 	if (probe_list(dev, mips_probes) == 0)
 		return 0;
+	if (probe_list(dev, arm_probes) == 0)
+		return 0;
+		
 	if (probe_list(dev, sgi_probes) == 0)
 		return 0;
 	if (probe_list(dev, eisa_probes) == 0)

