]> git.neil.brown.name Git - history.git/commitdiff
Import 2.3.18pre2 2.3.18pre2
authorLinus Torvalds <torvalds@linuxfoundation.org>
Fri, 23 Nov 2007 20:27:20 +0000 (15:27 -0500)
committerLinus Torvalds <torvalds@linuxfoundation.org>
Fri, 23 Nov 2007 20:27:20 +0000 (15:27 -0500)
arch/i386/defconfig
drivers/net/pcmcia/Config.in
drivers/net/pcmcia/Makefile
drivers/net/pcmcia/ray_cs.c
include/linux/kernel.h

index 50b12d5f91129b717a44f647ee111ecd06684daf..58e116ce9861b1d8c94ccb49d0e014fc0fab5e18 100644 (file)
@@ -284,7 +284,8 @@ CONFIG_EEXPRESS_PRO100=y
 #
 # PCMCIA network devices
 #
-CONFIG_PCMCIA_RAYCS=m
+# CONFIG_PCMCIA_PCNET is not set
+CONFIG_PCMCIA_RAYCS=y
 
 #
 # Amateur Radio support
index 4585791e0398d3772ff103657748b5447716d720..2fff084618b90d9b1cb2cff42a476b850c4f034e 100644 (file)
@@ -6,8 +6,6 @@ mainmenu_option next_comment
 comment 'PCMCIA network devices'
 
 tristate 'PCMCIA ethernet cards (NE2000 compatibles: DE-650, ...)' CONFIG_PCMCIA_PCNET
-
-# only available as a module right now
-dep_tristate 'Aviator/Raytheon 2.4MHz wireless' CONFIG_PCMCIA_RAYCS m
+tristate 'Aviator/Raytheon 2.4MHz wireless' CONFIG_PCMCIA_RAYCS
 
 endmenu
index 44ccafb15b9750ab44c6ca6ce4a6e679d3f1fedc..3443c964ca46b30fec0808bc35784e8bda7e9a0f 100644 (file)
@@ -8,8 +8,8 @@ SUB_DIRS     :=
 MOD_SUB_DIRS := $(SUB_DIRS)
 ALL_SUB_DIRS := $(SUB_DIRS)
 
-L_TARGET := pcmcia_net.a
-L_OBJS   :=
+O_TARGET := pcmcia_net.o
+O_OBJS   :=
 M_OBJS   :=
 MOD_LIST_NAME := NET_MODULES
 
@@ -22,7 +22,7 @@ else
 endif
 
 ifeq ($(CONFIG_PCMCIA_RAYCS),y)
-LX_OBJS += ray_cs.o
+  OX_OBJS += ray_cs.o
 else
   ifeq ($(CONFIG_PCMCIA_RAYCS),m)
   MX_OBJS += ray_cs.o
index 547c0a4bd090ef0ec893806d034cb30764e008dd..8d2a678d096a137657fd35610df0a46e0546f3de 100644 (file)
@@ -30,6 +30,8 @@
 #include <linux/malloc.h>
 #include <linux/string.h>
 #include <linux/timer.h>
+#include <linux/init.h>
+
 #include <asm/io.h>
 #include <asm/system.h>
 #include <asm/byteorder.h>
@@ -156,7 +158,7 @@ static int hop_dwell = 128;
 MODULE_PARM(hop_dwell,"i");
 
 /* Beacon period in Kus */
-static int beacon_period = 128;
+static int beacon_period = 256;
 MODULE_PARM(beacon_period,"i");
 
 /* power save mode (0 = off, 1 = save power) */
@@ -168,7 +170,7 @@ static char *essid = NULL;
 MODULE_PARM(essid,"s");
 
 /* Default to encapsulation unless translation requested */
-static int translate = 0;
+static int translate = 1;
 MODULE_PARM(translate,"i");
 
 static int country = USA;
@@ -952,36 +954,6 @@ int ray_event(event_t event, int priority,
     DEBUG(2,"ray_event ending\n");
 } /* ray_event */
 /*===========================================================================*/
-int init_module(void)
-{
-    int rc;
-    servinfo_t serv;
-    
-    DEBUG(1, "%s\n", rcsid);
-    CardServices(GetCardServicesInfo, &serv);
-    if (serv.Revision != CS_RELEASE_CODE) {
-        printk(KERN_NOTICE "ray: Card Services release does not match!\n");
-        return -1;
-    }
-    rc = register_pcmcia_driver(&dev_info, &ray_attach, &ray_detach);
-    DEBUG(1, "raylink init_module register_pcmcia_driver returns 0x%x\n",rc);
-    proc_register(&proc_root, &ray_cs_proc_entry);
-    if (translate != 0) translate = 1;
-    return 0;
-} /* init_module */
-/*===========================================================================*/
-void cleanup_module(void)
-{
-    DEBUG(0, "ray_cs: cleanup_module\n");
-
-    unregister_pcmcia_driver(&dev_info);
-    while (dev_list != NULL) {
-        if (dev_list->state & DEV_CONFIG) ray_release((u_long)dev_list);
-        ray_detach(dev_list);
-    }
-    proc_unregister(&proc_root, ray_cs_proc_entry.low_ino);
-} /* cleanup_module */
-/*===========================================================================*/
 int ray_dev_init(struct net_device *dev)
 {
     int i;
@@ -2325,3 +2297,52 @@ int  build_auth_frame(ray_dev_t *local, UCHAR *dest, int auth_type)
     return 0;
 } /* End build_auth_frame */
 /*===========================================================================*/
+int init_ray_cs(void)
+{
+    int rc;
+    servinfo_t serv;
+    
+    DEBUG(1, "%s\n", rcsid);
+    CardServices(GetCardServicesInfo, &serv);
+    if (serv.Revision != CS_RELEASE_CODE) {
+        printk(KERN_NOTICE "ray: Card Services release does not match!\n");
+        return -1;
+    }
+    rc = register_pcmcia_driver(&dev_info, &ray_attach, &ray_detach);
+    DEBUG(1, "raylink init_module register_pcmcia_driver returns 0x%x\n",rc);
+    proc_register(&proc_root, &ray_cs_proc_entry);
+    if (translate != 0) translate = 1;
+    return 0;
+} /* init_module */
+
+static char init_ess_id[ESSID_SIZE];
+
+static int __init essid_setup(char *str)
+{
+       strncpy(init_ess_id, str, ESSID_SIZE);
+       essid = init_ess_id;
+       return 1;
+}
+
+__setup("essid=", essid_setup);
+
+/*===========================================================================*/
+#ifdef MODULE
+int init_module(void)
+{
+       init_ray_cs();
+}
+
+void cleanup_module(void)
+{
+    DEBUG(0, "ray_cs: cleanup_module\n");
+
+    unregister_pcmcia_driver(&dev_info);
+    while (dev_list != NULL) {
+        if (dev_list->state & DEV_CONFIG) ray_release((u_long)dev_list);
+        ray_detach(dev_list);
+    }
+    proc_unregister(&proc_root, ray_cs_proc_entry.low_ino);
+} /* cleanup_module */
+#endif
+/*===========================================================================*/
index a35071e0b491e9241e1dc6d5d1b3123e3cac50ad..e8df4d7301b584d3ecb0aa2701f8be9f8822c4a9 100644 (file)
@@ -96,7 +96,7 @@ struct sysinfo {
        unsigned short procs;           /* Number of current processes */
        unsigned long totalbig;         /* Total big memory size */
        unsigned long freebig;          /* Available big memory size */
-       char _f[22-2*sizeof(long)];     /* Padding: libc5 uses this.. */
+       char _f[12];                    /* Padding to 64 bytes: libc5 uses this.. */
 };
 
 #endif