| Index: chromeos/drivers/ath6kl/hif/sdio/linux_sdio/include/hif_internal.h | 
| diff --git a/chromeos/drivers/ath6kl/hif/sdio/linux_sdio/include/hif_internal.h b/chromeos/drivers/ath6kl/hif/sdio/linux_sdio/include/hif_internal.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..2ac093079a47b386f3775b1557f3dc52d79193fe | 
| --- /dev/null | 
| +++ b/chromeos/drivers/ath6kl/hif/sdio/linux_sdio/include/hif_internal.h | 
| @@ -0,0 +1,72 @@ | 
| +//------------------------------------------------------------------------------ | 
| +// <copyright file="hif_internal.h" company="Atheros"> | 
| +//    Copyright (c) 2004-2007 Atheros Corporation.  All rights reserved. | 
| +// | 
| +// 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. | 
| +// | 
| +// | 
| +//------------------------------------------------------------------------------ | 
| +//============================================================================== | 
| +// internal header file for hif layer | 
| +// | 
| +// Author(s): ="Atheros" | 
| +//============================================================================== | 
| +#include "a_config.h" | 
| +#include "athdefs.h" | 
| +#include "a_types.h" | 
| +#include "a_osapi.h" | 
| +#include "hif.h" | 
| +#include "../../../common/hif_sdio_common.h" | 
| + | 
| +#define BUS_REQUEST_MAX_NUM                64 | 
| + | 
| +#define SDIO_CLOCK_FREQUENCY_DEFAULT       25000000 | 
| +#define SDWLAN_ENABLE_DISABLE_TIMEOUT      20 | 
| +#define FLAGS_CARD_ENAB                    0x02 | 
| +#define FLAGS_CARD_IRQ_UNMSK               0x04 | 
| + | 
| +#define HIF_MBOX_BLOCK_SIZE                HIF_DEFAULT_IO_BLOCK_SIZE | 
| +#define HIF_MBOX0_BLOCK_SIZE               1 | 
| +#define HIF_MBOX1_BLOCK_SIZE               HIF_MBOX_BLOCK_SIZE | 
| +#define HIF_MBOX2_BLOCK_SIZE               HIF_MBOX_BLOCK_SIZE | 
| +#define HIF_MBOX3_BLOCK_SIZE               HIF_MBOX_BLOCK_SIZE | 
| + | 
| +typedef struct bus_request { | 
| +    struct bus_request *next;       /* link list of available requests */ | 
| +    struct bus_request *inusenext;  /* link list of in use requests */ | 
| +    struct semaphore sem_req; | 
| +    A_UINT32 address;               /* request data */ | 
| +    A_UCHAR *buffer; | 
| +    A_UINT32 length; | 
| +    A_UINT32 request; | 
| +    void *context; | 
| +    A_STATUS status; | 
| +} BUS_REQUEST; | 
| + | 
| +struct hif_device { | 
| +    struct sdio_func *func; | 
| +    spinlock_t asynclock; | 
| +    struct task_struct* async_task;             /* task to handle async commands */ | 
| +    struct semaphore sem_async;                 /* wake up for async task */ | 
| +    int    async_shutdown;                      /* stop the async task */ | 
| +    struct completion async_completion;          /* thread completion */ | 
| +    BUS_REQUEST   *asyncreq;                    /* request for async tasklet */ | 
| +    BUS_REQUEST *taskreq;                       /*  async tasklet data */ | 
| +    spinlock_t lock; | 
| +    BUS_REQUEST *s_busRequestFreeQueue;         /* free list */ | 
| +    BUS_REQUEST busRequest[BUS_REQUEST_MAX_NUM]; /* available bus requests */ | 
| +    void     *claimedContext; | 
| +    HTC_CALLBACKS htcCallbacks; | 
| +    A_UINT8     *dma_buffer; | 
| +}; | 
| + | 
| +#define HIF_DMA_BUFFER_SIZE (32 * 1024) | 
| +#define CMD53_FIXED_ADDRESS 1 | 
| +#define CMD53_INCR_ADDRESS  2 | 
|  |