#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/fs.h>
#include <linux/cdev.h>
#include <linux/device.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/interrupt.h>
#include <asm/uaccess.h>
#include <linux/clk.h>
#include <linux/wait.h>
#include <linux/delay.h>
#include <linux/sched.h>
#define DEVICE_NAME "adc_driver"
#define pADCCON 0x58000000
#define pADCDAT0 0x5800000C
MODULE_LICENSE ("GPL");
unsigned long *vADCCON; /*ADC控制寄存器地址*/
unsigned long *vADCDAT0;/*ADCDAT0寄存器地址*/
int major = 250;
int minor = 0;
struct class *my_class;
wait_queue_head_t my_queue;
int sleep_flag = 0;
int number_of_devices = 1;
struct cdev cdev;
s3c2410 A/D驱动
本文档详细介绍了如何为S3C2410开发ADC驱动,包括初始化、时钟获取、中断处理函数、读取数据的阻塞方式,以及设备注册和卸载的过程。
摘要由CSDN通过智能技术生成