🆕 键盘驱动上半部

This commit is contained in:
fslongjin
2022-03-16 13:54:26 +08:00
parent fcb3930ab7
commit 832442af6a
8 changed files with 176 additions and 13 deletions

View File

@ -122,7 +122,7 @@ void (*interrupt_table[24])(void) =
* @param irq_name 中断名
* @return int
*/
int irq_register(ul irq_num, void *arg, void (*handler)(ul irq_num, ul parameter, struct pt_regs *regs), ul paramater, hardware_int_controller *controller, char *irq_name)
int irq_register(ul irq_num, void *arg, void (*handler)(ul irq_num, ul parameter, struct pt_regs *regs), ul paramater, hardware_intr_controller *controller, char *irq_name)
{
// 由于为I/O APIC分配的中断向量号是从32开始的因此要减去32才是对应的interrupt_desc的元素
irq_desc_t *p = &interrupt_desc[irq_num - 32];

View File

@ -88,7 +88,7 @@ extern void do_IRQ(struct pt_regs *regs, ul number);
*/
typedef struct hardware_int_type
typedef struct hardware_intr_type
{
// 使能中断操作接口
void (*enable)(ul irq_num);
@ -101,12 +101,12 @@ typedef struct hardware_int_type
void (*uninstall)(ul irq_num);
// 应答中断操作接口
void (*ack)(ul irq_num);
} hardware_int_controller;
} hardware_intr_controller;
// 中断描述结构体
typedef struct
{
hardware_int_controller *controller;
hardware_intr_controller *controller;
// 中断名
char *irq_name;
// 中断处理函数的参数
@ -132,7 +132,7 @@ irq_desc_t interrupt_desc[IRQ_NUM] = {0};
* @param irq_name 中断名
* @return int
*/
int irq_register(ul irq_num, void *arg, void (*handler)(ul irq_num, ul parameter, struct pt_regs *regs), ul paramater, hardware_int_controller *controller, char *irq_name);
int irq_register(ul irq_num, void *arg, void (*handler)(ul irq_num, ul parameter, struct pt_regs *regs), ul paramater, hardware_intr_controller *controller, char *irq_name);
/**
* @brief 中断注销函数