mv_os.h

来自「6440linuxDriver的源代码」· C头文件 代码 · 共 160 行

H
160
字号
#if !defined(LINUX_OS_H)#define LINUX_OS_H#ifndef LINUX_VERSION_CODE#   include <linux/version.h>#endif#ifndef AUTOCONF_INCLUDED#   include <linux/config.h>#endif /* AUTOCONF_INCLUDED */#include <linux/list.h>#include <linux/module.h>#include <linux/interrupt.h>#include <linux/kernel.h>#include <linux/errno.h>#include <linux/types.h>#include <linux/string.h>#include <linux/timer.h>#include <linux/time.h>#include <linux/reboot.h>#include <linux/ioport.h>#include <linux/delay.h>#include <linux/proc_fs.h>#include <linux/stat.h>#include <linux/cdev.h>#include <linux/spinlock.h>#include <linux/pci.h>#include <linux/completion.h>#include <linux/blkdev.h>#include <linux/vmalloc.h>#include <linux/kthread.h>#include <linux/nmi.h>#include <asm/uaccess.h>#include <asm/io.h>#include <asm/div64.h>#if defined(__AC_DBG__) && defined(CONFIG_X86)#include <linux/timex.h>#include <asm/msr.h>#endif /* __AC_DBG__ */#include <scsi/scsi.h>#include <scsi/scsi_cmnd.h>#include <scsi/scsi_device.h>#include <scsi/scsi_host.h>#include <scsi/scsi_transport.h>/* OS specific flags */#define  _OS_LINUX            1#define _64_BIT_COMPILER      1#ifdef CONFIG_64BIT#   define __KCONF_64BIT__#endif /* CONFIG_64BIT */#if defined(__LITTLE_ENDIAN)#   define __MV_BIG_ENDIAN__     0#   define __MV_LITTLE_ENDIAN__  1#elif defined(__BIG_ENDIAN)#   define __MV_BIG_ENDIAN__     1#   define __MV_LITTLE_ENDIAN__  0#else#   error "error in endianness"#endif #if defined(__LITTLE_ENDIAN_BITFIELD)#   define __MV_BIG_ENDIAN_BITFIELD__      0#   define __MV_LITTLE_ENDIAN_BITFIELD__   1#elif defined(__BIG_ENDIAN_BITFIELD)#   define __MV_BIG_ENDIAN_BITFIELD__      1#   define __MV_LITTLE_ENDIAN_BITFIELD__   0#else#   error "error in endianness"#endif #ifdef __MV_DEBUG__#  define MV_DEBUG#else#   ifdef MV_DEBUG#      undef MV_DEBUG#   endif /* MV_DEBUG */#endif /* __MV_DEBUG__ */#ifndef NULL#   define NULL 0#endif/* * * Primary Data Type Definition  * */#include "com_define.h" /* the use of it should be controlled ... carefully */#include "color_print.h"#define MV_INLINE inline#define CDB_INQUIRY_EVPD    1 //TBD/* os-dependent data structures */#define OSSW_DECLARE_SPINLOCK(x)  spinlock_t xtypedef void (*OSSW_TIMER_FUNCTION)(unsigned long);typedef unsigned long OSSW_TIMER_DATA;#define OSSW_DECLARE_TIMER(x)   struct timer_list x/* OS macro definition */#define MV_MAX_TRANSFER_SECTOR  (MV_MAX_TRANSFER_SIZE >> 9)/*Driver Version for Command Line Interface Query.*/#define VER_MAJOR           1 /* VER_MINOR 4 for RAID, 3 for non-RAID */#ifdef RAID_DRIVER#   define VER_MINOR        4#   define VER_BUILD        1#else  /* RAID_DRIVER */#   define VER_MINOR        3#   define VER_BUILD        8#endif /* RAID_DRIVER *//* OEM Account definition */#define VER_OEM_GENERIC     0#define VER_OEM_INTEL       1#define VER_OEM_ASUS        2#ifdef __OEM_INTEL__#   define VER_OEM          VER_OEM_INTEL#elif defined(__OEM__ASUS__)#   define VER_OEM          VER_OEM_ASUS#else#   define VER_OEM          VER_OEM_GENERIC#endif /* __OEM_INTEL__ */#ifdef RAID_DRIVER#   define VER_TEST         "rc2"#else#   define VER_TEST         ".1"#endif /* RAID_DRIVER */#define mv_driver_name   "odin"#define mv_product_name  "ODIN"/* call VER_VAR_TO_STRING */#define NUM_TO_STRING(num1, num2, num3, num4) #num1"."#num2"."#num3"."#num4#define VER_VAR_TO_STRING(major, minor, oem, build) NUM_TO_STRING(major, \								  minor, \								  oem,   \								  build)#define mv_version_linux   VER_VAR_TO_STRING(VER_MAJOR, VER_MINOR,       \					     VER_OEM, VER_BUILD) VER_TEST#endif /* LINUX_OS_H */

⌨️ 快捷键说明

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