www.pudn.com > sdio-2.6.18-full.rar > ar6000_cs_internal.h
/*
* Copyright (c) 2004-2006 Atheros Communications Inc.
*
* Wireless Network driver for Atheros AR6001
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation;
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
*
*/
#ifndef _AR6000_CS_INTERNAL_H_
#define _AR6000_CS_INTERNAL_H_
#include "ar6000_cs.h"
/* Device structure maintained for each instance of the device
* in the driver.
*/
typedef struct _CFDEVICE_ {
PCFFUNCTION pFunction; //Upper layer driver supporting this device.
CF_PNP_INFO pId; // PNP Info for this device.
void (*pIrqFunction)(void * pContext, A_BOOL *callDSR);/* interrupt routine, synchronous calls allowed */
void * IrqContext; /* irq context */
struct tasklet_struct tasklet;
A_UINT32 mem_start;
A_UINT32 mem_end;
A_UINT8 irq;
void * backPtr; /* backptr to dev_link_t struct */
} CF_DEVICE;
struct ar6000_pccard {
dev_link_t link;
dev_node_t node;
CF_DEVICE CfDevice;//ref. to the CFDevice structure for this device.
#ifdef POLLED_MODE
struct timer_list poll_timer;
#endif
};
#ifdef KERNEL_2_4
typedef void irqreturn_t;
#define IRQ_NONE
#define IRQ_HANDLED
#endif
static void insert_dev_list(struct ar6000_pccard *);
static struct dev_link_t * remove_dev_list(struct ar6000_pccard *);
static void insert_drv_list(PCFFUNCTION);
static PCFFUNCTION remove_drv_list(PCFFUNCTION);
#endif //_AR6000_CS_INTERNAL_H_