⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wt_mgt.c

📁 mini-PCI driver for LHWT chipsets
💻 C
字号:
/* Copyright (C) 2005 LHWT Inc. */#include "wtprecomp.h" /******************************************************************************        Global variable definition section******************************************************************************///int pc_debug = VERBOSE;//module_param(pc_debug, int, 0);/******************************************************************************    Driver general functions******************************************************************************/ void wt4_write_reg(WT_ADAPTER *priv, unsigned int value, unsigned int offset, Op_Mode mode){      int t_width[3]={8,16,32};	WT_ADAPTER *Adapter = priv;	     // base0 = priv->MainMemAddress;      printk(" write value (bitwidth %d) to reg 0x%x is 0x%x \n",t_width[mode],offset, value);  	      switch ( mode )      {       case BYTE_OP_TYPE:	   	  WRITE_WT4( offset, value, BYTE_OP);               //    *((volatile unsigned char *)((unsigned char *)(base0) + offset ) ) = value;		 break;       case WORD_OP_TYPE: 		   WRITE_WT4( offset, value, WORD_OP);               //  *((volatile unsigned short *)((unsigned char *)(base0) + offset ) ) = value;		 break;       case DWORD_OP_TYPE:    		   WRITE_WT4( offset, value, DWORD_OP);                 // *((volatile unsigned long *)((unsigned char *)(base0) + offset ) ) = value;		  break;       default:               printk("operation mode is wrong \n");	       break;       }	  }int wt4_read_reg(WT_ADAPTER *priv, unsigned int offset, Op_Mode mode){      int *base0;      unsigned char t_char;	unsigned short t_short;	unsigned int t_long;      base0 = (int *)priv->MainMemAddress;            printk("base0=0x%08x \n " ,((unsigned int)base0));            switch (mode)      {       case BYTE_OP_TYPE:                 t_char = *((volatile unsigned char *)((unsigned char *)(base0) + offset ) );                 printk("The value of reg 0x%08x is 0x%02x \n",offset, t_char);		 return t_char;		 break;       case WORD_OP_TYPE:                 t_short = *((volatile unsigned short *)((unsigned char *)(base0) + offset ) );                 printk("The value of reg 0x%08x is 0x%04x \n",offset,  t_short );		 return  t_short;		 break;       case DWORD_OP_TYPE:                  t_long = *((volatile unsigned long *)((unsigned char *)(base0) + offset ) );                  printk("The value of reg 0x%08x is 0x%08x \n",offset,  t_long );		  return t_long;		  		  break;       default:               printk("operation mode is wrong \n");	       return 0xFFFFFFFF;	       break;       }	  return 0;	  }void wt4_fetch_block(WT_ADAPTER *priv,int t_offset,int t_length,long *t_buffer){      int i;      PWTWLAN_MAINMEM base0;      base0 = priv->MainMemAddress;            for (i=0;i<t_length;i+=4)      {          *t_buffer = *(long*)((char *)base0 + t_offset + i);	  t_buffer++;      }      } 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -