staging: brcm80211: removed unused code and definitions from fullmac
[deliverable/linux.git] / drivers / staging / brcm80211 / brcmfmac / bcmsdbus.h
index 05600e0581a1b7b0951c0cb64053c4bf1e3ceb8a..c4c6e54dbb876455623f9687543089ca86d88451 100644 (file)
 
 #include "sdio_host.h"
 
-#define SDIOH_API_RC_SUCCESS                          (0x00)
-#define SDIOH_API_RC_FAIL                            (0x01)
-#define SDIOH_API_SUCCESS(status) (status == 0)
-
 #define SDIOH_READ              0      /* Read request */
 #define SDIOH_WRITE             1      /* Write request */
 
 #define SDIOH_DATA_PIO          0      /* PIO mode */
 #define SDIOH_DATA_DMA          1      /* DMA mode */
 
-/* callback function, taking one arg */
-typedef void (*sdioh_cb_fn_t) (void *);
+/* internal return code */
+#define SUCCESS        0
+#define ERROR  1
+
+/* Common msglevel constants */
+#define SDH_ERROR_VAL          0x0001  /* Error */
+#define SDH_TRACE_VAL          0x0002  /* Trace */
+#define SDH_INFO_VAL           0x0004  /* Info */
+#define SDH_DEBUG_VAL          0x0008  /* Debug */
+#define SDH_DATA_VAL           0x0010  /* Data */
+#define SDH_CTRL_VAL           0x0020  /* Control Regs */
+#define SDH_LOG_VAL            0x0040  /* Enable bcmlog */
+#define SDH_DMA_VAL            0x0080  /* DMA */
+
+#ifdef BCMDBG
+#define sd_err(x)      \
+       do { \
+               if ((sd_msglevel & SDH_ERROR_VAL) && net_ratelimit()) \
+                       printk x; \
+       } while (0)
+#define sd_trace(x)    \
+       do { \
+               if ((sd_msglevel & SDH_TRACE_VAL) && net_ratelimit()) \
+                       printk x; \
+       } while (0)
+#define sd_info(x)     \
+       do { \
+               if ((sd_msglevel & SDH_INFO_VAL) && net_ratelimit()) \
+                       printk x; \
+       } while (0)
+#define sd_debug(x)    \
+       do { \
+               if ((sd_msglevel & SDH_DEBUG_VAL) && net_ratelimit()) \
+                       printk x; \
+       } while (0)
+#define sd_data(x)     \
+       do { \
+               if ((sd_msglevel & SDH_DATA_VAL) && net_ratelimit()) \
+                       printk x; \
+       } while (0)
+#define sd_ctrl(x)     \
+       do { \
+               if ((sd_msglevel & SDH_CTRL_VAL) && net_ratelimit()) \
+                       printk x; \
+       } while (0)
+#else
+#define sd_err(x)
+#define sd_trace(x)
+#define sd_info(x)
+#define sd_debug(x)
+#define sd_data(x)
+#define sd_ctrl(x)
+#endif
+
+struct brcmf_sdreg {
+       int func;
+       int offset;
+       int value;
+};
+
+struct sdioh_info {
+       struct osl_info *osh;           /* osh handler */
+       bool client_intr_enabled;       /* interrupt connnected flag */
+       bool intr_handler_valid;        /* client driver interrupt handler valid */
+       void (*intr_handler)(void *);   /* registered interrupt handler */
+       void *intr_handler_arg; /* argument to call interrupt handler */
+       u16 intmask;            /* Current active interrupts */
+       void *sdos_info;        /* Pointer to per-OS private data */
+
+       uint irq;               /* Client irq */
+       int intrcount;          /* Client interrupts */
+       bool sd_blockmode;      /* sd_blockmode == false => 64 Byte Cmd 53s. */
+       /*  Must be on for sd_multiblock to be effective */
+       bool use_client_ints;   /* If this is false, make sure to restore */
+       int client_block_size[SDIOD_MAX_IOFUNCS];       /* Blocksize */
+       u8 num_funcs;   /* Supported funcs on client */
+       u32 com_cis_ptr;
+       u32 func_cis_ptr[SDIOD_MAX_IOFUNCS];
+       uint max_dma_len;
+       uint max_dma_descriptors;       /* DMA Descriptors supported by this controller. */
+       /*      SDDMA_DESCRIPTOR        SGList[32]; *//* Scatter/Gather DMA List */
+};
+
+struct brcmf_sdmmc_instance {
+       struct sdioh_info *sd;
+       struct sdio_func *func[SDIOD_MAX_IOFUNCS];
+       u32 host_claimed;
+};
+
+/* Allocate/init/free per-OS private data */
+extern int  brcmf_sdioh_osinit(struct sdioh_info *sd);
+extern void brcmf_sdioh_osfree(struct sdioh_info *sd);
+
+/* Core interrupt enable/disable of device interrupts */
+extern void brcmf_sdioh_dev_intr_on(struct sdioh_info *sd);
+extern void brcmf_sdioh_dev_intr_off(struct sdioh_info *sd);
 
 /* attach, return handler on success, NULL if failed.
  *  The handler shall be provided by all subsequent calls. No local cache
@@ -45,25 +135,17 @@ typedef void (*sdioh_cb_fn_t) (void *);
  */
 extern struct sdioh_info *brcmf_sdioh_attach(void *cfghdl, uint irq);
 extern int brcmf_sdioh_detach(struct sdioh_info *si);
-extern int brcmf_sdioh_interrupt_register(struct sdioh_info *si,
-                                            sdioh_cb_fn_t fn, void *argh);
-extern int brcmf_sdioh_interrupt_deregister(struct sdioh_info *si);
 
-/* query whether SD interrupt is enabled or not */
 extern int
-brcmf_sdioh_interrupt_query(struct sdioh_info *si, bool *onoff);
+brcmf_sdioh_interrupt_register(struct sdioh_info *si,
+                              void (*sdioh_cb_fn)(void *), void *argh);
+
+extern int brcmf_sdioh_interrupt_deregister(struct sdioh_info *si);
 
 /* enable or disable SD interrupt */
 extern int
 brcmf_sdioh_interrupt_set(struct sdioh_info *si, bool enable_disable);
 
-#if defined(BCMDBG)
-extern bool brcmf_sdioh_interrupt_pending(struct sdioh_info *si);
-#endif
-
-extern int brcmf_sdioh_claim_host_and_lock(struct sdioh_info *si);
-extern int brcmf_sdioh_release_host_and_unlock(struct sdioh_info *si);
-
 /* read or write one byte using cmd52 */
 extern int
 brcmf_sdioh_request_byte(struct sdioh_info *si, uint rw, uint fnc, uint addr,
@@ -91,9 +173,6 @@ brcmf_sdioh_cfg_read(struct sdioh_info *si, uint fuc, u32 addr, u8 *data);
 extern int
 brcmf_sdioh_cfg_write(struct sdioh_info *si, uint fuc, u32 addr, u8 *data);
 
-/* query number of io functions */
-extern uint brcmf_sdioh_query_iofnum(struct sdioh_info *si);
-
 /* handle iovars */
 extern int brcmf_sdioh_iovar_op(struct sdioh_info *si, const char *name,
                          void *params, int plen, void *arg, int len, bool set);
@@ -101,14 +180,11 @@ extern int brcmf_sdioh_iovar_op(struct sdioh_info *si, const char *name,
 /* Issue abort to the specified function and clear controller as needed */
 extern int brcmf_sdioh_abort(struct sdioh_info *si, uint fnc);
 
-/* Start and Stop SDIO without re-enumerating the SD card. */
-extern int brcmf_sdioh_start(struct sdioh_info *si, int stage);
-extern int brcmf_sdioh_stop(struct sdioh_info *si);
+/* Watchdog timer interface for pm ops */
+extern void brcmf_sdio_wdtmr_enable(bool enable);
 
-/* Reset and re-initialize the device */
-extern int brcmf_sdioh_reset(struct sdioh_info *si);
+extern uint sd_msglevel;       /* Debug message level */
 
-/* Helper function */
-void *brcmf_sdcard_get_sdioh(struct brcmf_sdio *sdh);
+extern struct brcmf_sdmmc_instance *gInstance;
 
 #endif                         /* _sdio_api_h_ */
This page took 0.026541 seconds and 5 git commands to generate.