资源简介
Broadcom Corporation BCM4311, BCM4312, BCM4313, BCM4321, BCM4322, BCM43224, BCM43225, BCM43227 and BCM43228 Based Wireless NICs linux SRC driver 64bit
代码片段和文件信息
/*
* Linux OS Independent layer
*
* Copyright (C) 2015 Broadcom Corporation. All Rights Reserved.
*
* Permission to use copy modify and/or distribute this software for any
* purpose with or without fee is hereby granted provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED “AS IS“ AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
* SPECIAL DIRECT INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE DATA OR PROFITS WHETHER IN AN ACTION
* OF CONTRACT NEGLIGENCE OR OTHER TORTIOUS ACTION ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* $Id: linux_osl.c 383331 2013-02-06 10:27:24Z $
*/
#define LINUX_PORT
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define PCI_CFG_RETRY 10
#define OS_HANDLE_MAGIC 0x1234abcd
#define BCM_MEM_FILENAME_LEN 24
typedef struct bcm_mem_link {
struct bcm_mem_link *prev;
struct bcm_mem_link *next;
uint size;
int line;
void *osh;
char file[BCM_MEM_FILENAME_LEN];
} bcm_mem_link_t;
struct osl_info {
osl_pubinfo_t pub;
uint magic;
void *pdev;
atomic_t malloced;
atomic_t pktalloced;
uint failed;
uint bustype;
bcm_mem_link_t *dbgmem_list;
spinlock_t dbgmem_lock;
spinlock_t pktalloc_lock;
};
#define OSL_PKTTAG_CLEAR(p) \
do { \
struct sk_buff *s = (struct sk_buff *)(p); \
ASSERT(OSL_PKTTAG_SZ == 32); \
*(uint32 *)(&s->cb[0]) = 0; *(uint32 *)(&s->cb[4]) = 0; \
*(uint32 *)(&s->cb[8]) = 0; *(uint32 *)(&s->cb[12]) = 0; \
*(uint32 *)(&s->cb[16]) = 0; *(uint32 *)(&s->cb[20]) = 0; \
*(uint32 *)(&s->cb[24]) = 0; *(uint32 *)(&s->cb[28]) = 0; \
} while (0)
uint32 g_assert_type = FALSE;
static int16 linuxbcmerrormap[] =
{ 0
-EINVAL
-EINVAL
-EINVAL
-EINVAL
-EINVAL
-EINVAL
-EINVAL
-EINVAL
-EINVAL
-EINVAL
-EINVAL
-EINVAL
-EINVAL
-E2BIG
-E2BIG
-EBUSY
-EINVAL
-EINVAL
-EINVAL
-EINVAL
-EFAULT
-ENOMEM
-EOPNOTSUPP
-EMSGSIZE
-EINVAL
-EPERM
-ENOMEM
-EINVAL
-ERANGE
-EINVAL
-EINVAL
-EINVAL
-EINVAL
-EINVAL
-EIO
-ENODEV
-EINVAL
-EIO
-EIO
-ENODEV
-EINVAL
-ENODATA
-EINVAL
#if BCME_LAST != -43
#error “You need to add a OS error translation in the linuxbcmerrormap \
for new error code defined in bcmutils.h“
#endif
};
int
osl_error(int bcmerror)
{
if (bcmerror > 0)
bcmerror = 0;
else if (bcmerror < BCME_LAST)
bcmerror = BCME_ERROR;
return linuxbcmerrormap[-bcmerror];
}
extern uint8* dhd_os_prealloc(void *osh int section int size);
osl_t *
osl_attach(void *pdev uint b
- 上一篇:浙大pat题目合集1001-1151
- 下一篇:机器人动力学与控制 高等教育出版社
相关资源
- VSPD虚拟串口破解版Virtual Serial Port D
- OPC的X86和X64运行时库V2.0V3.0
- h.264码流分析软件Elecard StreamEye Tools
- IETabMulti(Enhance)v1.0.0.1免费版_91736
- megacli-8.00.48_linux_32-64
- magic mouse win7 64位驱动
- awfulcycle_1749064.zip
- Juniper Networks Network Connect 7.1.0.17943 x
- h264中文协议(中英文对照)H264解码手
- DL/T645-2007测试软件 抄表工具 电表通讯
- 虚拟电表工具支持DL/T645-1997 DL/T645-2
- Quartus9.1 32位和64位的破解文件亲测
- mt6701u_linux_usb_driver
- LCD12864不带字库芯片使用手册
- rtl8192eu_linux x86_64
- DLT/645规约 97/07通信协议调试器
- 2017年电子设计大赛_滚球控制系统源代
- Unity 精伦电子阅读器 二次开发 亲测
- bcm943602cs wifi驱动、蓝牙驱动 64位
- tomcat-8.5.31免安装版
- glew-1.6.0-win64.zip
- truetable11.0I(支持win7-X64)破解版
- openblas vs2013 x64 库dll和lib
- 实达D2550BIOSX64.rar
- 基于LabVIEW的虚拟示波器218364
- OpenCodecSetup64位解码器
- 图像传感器 ov5640 数据手册
- 黑苹果 5G Wi-Fi 驱动, RTLWlanU_MacOS10.
- 三星br1640录音笔驱动程序
- H.264视频监控最佳指导
评论
共有 条评论