root/usr/src/uts/common/io/ipw/ipw2100.h
/*
 * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 */

#ifndef _SYS_IPW2100_H
#define _SYS_IPW2100_H

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Intel Wireless PRO/2100 mini-PCI adapter driver
 * ipw2100.h: common definitions and interface to user land application
 */
#include <sys/types.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>

#define IPW2100_DRV_NAME  "ipw"
#define IPW2100_DRV_DESC  "Intel Wireless 2100"

/*
 * Debug functionalities
 */
#define IPW2100_DBG_INIT        (0x00000001)  /* initialization */
#define IPW2100_DBG_GLD         (0x00000002)  /* GLD */
#define IPW2100_DBG_WIFI        (0x00000004)  /* WiFi */
#define IPW2100_DBG_DMA         (0x00000008)  /* DMA */
#define IPW2100_DBG_CSR         (0x00000010)  /* low-level CSR access */
#define IPW2100_DBG_FW          (0x00000020)  /* uc & fw */
#define IPW2100_DBG_RING        (0x00000040)  /* ring operations */
#define IPW2100_DBG_IOCTL       (0x00000080)  /* ioctl */
#define IPW2100_DBG_INT         (0x00000100)  /* interrupt */
#define IPW2100_DBG_TABLE       (0x00000200)  /* ipw2100 tables */
#define IPW2100_DBG_HWCAP       (0x00001000)  /* hardware capabilities */
#define IPW2100_DBG_SOFTINT     (0x00008000)  /* softinterrupt */
#define IPW2100_DBG_STATISTIC   (0x00010000)  /* statistic */
#define IPW2100_DBG_FATAL       (0x00020000)  /* interrup report error */
#define IPW2100_DBG_BRUSSELS    (0x00040000)  /* brussels support */

extern uint32_t ipw2100_debug;
extern void     ipw2100_dbg(dev_info_t *dip, int level, const char *fmt, ...);

#ifdef  DEBUG
#define IPW2100_DBG(l, x)       do {                            \
        _NOTE(CONSTANTCONDITION)                                \
        if ((l) & ipw2100_debug)                                \
            ipw2100_dbg x;                                      \
        _NOTE(CONSTANTCONDITION)                                \
} while (0)
#else
#define IPW2100_DBG(l, x)
#endif

#define IPW2100_WARN(x)   ipw2100_dbg x
#define IPW2100_REPORT(x) ipw2100_dbg x

#ifdef __cplusplus
}
#endif

#endif /* _SYS_IPW2100_H */