Commit 09a304b6 authored by Linus Torvalds's avatar Linus Torvalds

Import 2.3.18pre2

parent 9af6f6e4
...@@ -284,7 +284,8 @@ CONFIG_EEXPRESS_PRO100=y ...@@ -284,7 +284,8 @@ CONFIG_EEXPRESS_PRO100=y
# #
# PCMCIA network devices # PCMCIA network devices
# #
CONFIG_PCMCIA_RAYCS=m # CONFIG_PCMCIA_PCNET is not set
CONFIG_PCMCIA_RAYCS=y
# #
# Amateur Radio support # Amateur Radio support
......
...@@ -6,8 +6,6 @@ mainmenu_option next_comment ...@@ -6,8 +6,6 @@ mainmenu_option next_comment
comment 'PCMCIA network devices' comment 'PCMCIA network devices'
tristate 'PCMCIA ethernet cards (NE2000 compatibles: DE-650, ...)' CONFIG_PCMCIA_PCNET tristate 'PCMCIA ethernet cards (NE2000 compatibles: DE-650, ...)' CONFIG_PCMCIA_PCNET
tristate 'Aviator/Raytheon 2.4MHz wireless' CONFIG_PCMCIA_RAYCS
# only available as a module right now
dep_tristate 'Aviator/Raytheon 2.4MHz wireless' CONFIG_PCMCIA_RAYCS m
endmenu endmenu
...@@ -8,8 +8,8 @@ SUB_DIRS := ...@@ -8,8 +8,8 @@ SUB_DIRS :=
MOD_SUB_DIRS := $(SUB_DIRS) MOD_SUB_DIRS := $(SUB_DIRS)
ALL_SUB_DIRS := $(SUB_DIRS) ALL_SUB_DIRS := $(SUB_DIRS)
L_TARGET := pcmcia_net.a O_TARGET := pcmcia_net.o
L_OBJS := O_OBJS :=
M_OBJS := M_OBJS :=
MOD_LIST_NAME := NET_MODULES MOD_LIST_NAME := NET_MODULES
...@@ -22,7 +22,7 @@ else ...@@ -22,7 +22,7 @@ else
endif endif
ifeq ($(CONFIG_PCMCIA_RAYCS),y) ifeq ($(CONFIG_PCMCIA_RAYCS),y)
LX_OBJS += ray_cs.o OX_OBJS += ray_cs.o
else else
ifeq ($(CONFIG_PCMCIA_RAYCS),m) ifeq ($(CONFIG_PCMCIA_RAYCS),m)
MX_OBJS += ray_cs.o MX_OBJS += ray_cs.o
......
...@@ -30,6 +30,8 @@ ...@@ -30,6 +30,8 @@
#include <linux/malloc.h> #include <linux/malloc.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/timer.h> #include <linux/timer.h>
#include <linux/init.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/byteorder.h> #include <asm/byteorder.h>
...@@ -156,7 +158,7 @@ static int hop_dwell = 128; ...@@ -156,7 +158,7 @@ static int hop_dwell = 128;
MODULE_PARM(hop_dwell,"i"); MODULE_PARM(hop_dwell,"i");
/* Beacon period in Kus */ /* Beacon period in Kus */
static int beacon_period = 128; static int beacon_period = 256;
MODULE_PARM(beacon_period,"i"); MODULE_PARM(beacon_period,"i");
/* power save mode (0 = off, 1 = save power) */ /* power save mode (0 = off, 1 = save power) */
...@@ -168,7 +170,7 @@ static char *essid = NULL; ...@@ -168,7 +170,7 @@ static char *essid = NULL;
MODULE_PARM(essid,"s"); MODULE_PARM(essid,"s");
/* Default to encapsulation unless translation requested */ /* Default to encapsulation unless translation requested */
static int translate = 0; static int translate = 1;
MODULE_PARM(translate,"i"); MODULE_PARM(translate,"i");
static int country = USA; static int country = USA;
...@@ -952,36 +954,6 @@ int ray_event(event_t event, int priority, ...@@ -952,36 +954,6 @@ int ray_event(event_t event, int priority,
DEBUG(2,"ray_event ending\n"); DEBUG(2,"ray_event ending\n");
} /* ray_event */ } /* 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 ray_dev_init(struct net_device *dev)
{ {
int i; int i;
...@@ -2325,3 +2297,52 @@ int build_auth_frame(ray_dev_t *local, UCHAR *dest, int auth_type) ...@@ -2325,3 +2297,52 @@ int build_auth_frame(ray_dev_t *local, UCHAR *dest, int auth_type)
return 0; return 0;
} /* End build_auth_frame */ } /* 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
/*===========================================================================*/
...@@ -96,7 +96,7 @@ struct sysinfo { ...@@ -96,7 +96,7 @@ struct sysinfo {
unsigned short procs; /* Number of current processes */ unsigned short procs; /* Number of current processes */
unsigned long totalbig; /* Total big memory size */ unsigned long totalbig; /* Total big memory size */
unsigned long freebig; /* Available 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 #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment