블로그 (Blog)/개발로그 (Devlogs)

READ_REGISTER, WRITE_REGISTER…

ihmin 2025. 2. 18. 10:29

윈도우즈 드라이버 코드를 리눅스로 포팅할때.. 아래와 같은 함수가 있는데..
그냥 쓸수 있게 아래와 같은 매크로를 만들어보았음.

#define READ_REGISTER_UCHAR(Register)          (*(volatile unsigned char *)(Register))
#define READ_REGISTER_USHORT(Register)         (*(volatile unsigned short *)(Register))
#define READ_REGISTER_ULONG(Register)          (*(volatile unsigned long *)(Register))
#define WRITE_REGISTER_UCHAR(Register, Value)  (*(volatile unsigned char *)(Register) = (Value))
#define WRITE_REGISTER_USHORT(Register, Value) (*(volatile unsigned short *)(Register) = (Value))
#define WRITE_REGISTER_ULONG(Register, Value)  (*(volatile unsigned long *)(Register) = (Value))