}
static void fifth_drv_exit(void)
{
unregister_chrdev(fifthmajor,'buttons');
class_device_unregister(fifth_drv_class_dev);
class_destroy(fifth_drv_class);
iounmap(gpfcon);
iounmap(gpgcon);
printk('unregister buttons_drvn');
}
module_init(fifth_drv_init);
module_exit(fifth_drv_exit);
MODULE_LICENSE('GPL');
將測試程序與驅動程序編譯后測試成功。以上就是異步通知的應用實現。

[
1] [
2]

關鍵字:Linux驅動 異步通知
引用地址:
Linux驅動之異步通知的應用
推薦閱讀最新更新時間:2025-06-05 12:17
Linux-2.6.39在Tiny6410上的移植 - 外設驅動移植
Linux內核版本號:linux 2.6.39 交叉編譯工具:arm-linux-gcc 4.5.1 Linux內核下載:www.kernel.org 開發板:友善之臂Tiny6410 LCD:友善之臂S70 一、移植LED驅動 打開arch/arm/mach-s3c64xx/mach-mini6410.c添加下列代碼: 1 static struct gpio_led tiny6410_gpio_led = { 2 = { 3 .name = led1 , //設備名 4 .gpio = S3C64XX_GPK(4), //GPK4 5 .act
[單片機]
ARM Linux字符設備驅動程序
1、主設備號和次設備號(二者一起為設備號): 一個字符設備或塊設備都有一個主設備號和一個次設備號。主設備號用來標識與設備文件相連的驅動程序,用來反 映設備類型。次設備號被驅動程序用來辨別操作的是哪個設備,用來區分同類型的設備。 linux內核中,設備號用dev_t來描述,2.6.28中定義如下: typedef u_long dev_t; 在32位機中是4個字節,高12位表示主設備號,低12位表示次設備號。 可以使用下列宏從dev_t中獲得主次設備號: 也可以使用下列宏通過主次設備號生成dev_t: MAJOR(dev_t dev); MKDEV(int major,int
[單片機]
linux-2.6.32在mini2440開發板上移植 移植I2C-EEPROM 驅動
1 在內核中配置I2C 驅動 Linux-2.6.32.2 對S2C2440 的I2C 接口提供了完善的驅動,因此我們只需在內核中配置一下即可使用。 在內核源代碼目錄執行:make menuconfig,進入內核配置主菜單,依次選擇進入如下子菜單: Device Drivers --- * I2C support --- I2C Hardware Bus support --- 如圖,我們看到這里已經選擇好了“ * S3C2410 I2C Driver”,這里的S3C2410 也可以適用于S3C2440,因為它們的I2C 端口及寄存器定義都是完全相同的。 以上配置所對
[單片機]
友善之臂Mini2440之嵌入式Linux下Nand Flash驅動分析
一、Nand Flash驅動源碼文件含義 在Linux內核中,MTD源代碼放在/driver/mtd目錄下,該目錄中包含chips、devices、maps、nand、onenand和ubi六個子目錄。其中只有nand和onenand目錄中的代碼才與Nand驅動有關,nand目錄中的代碼比較通用,而onenand目錄中的代碼相對于nand中的代碼而言簡化了許多,是三星公司開發的另類nand Flash。市場占有率不是很高。所以,開發基于MTD的nand驅動程序,基本上只需要關注nand目錄了,包括Kconfig、Makefile以及如下重要文件: 1、nand_base.c 定義了Nand驅動中對nand芯片最基本的操
[單片機]
關于Linux下AT91SAM9261的RS485驅動
AT91SAM9261和ATMEL其它型號的ARM處理器使用高度相似的USART外設,因 而驅動程序也具有高度的相似性,而且USART硬件支持485模式,用RTS信號作為485的收發控制。在使用中,只要將其置為485模式,其余的操作和 普通的232操作一模一樣,RTS的翻轉是自動的。 我的板子上使用USART0擴展了一個485接口,而Linux原有串口驅動只支持普通的232模式,為了在Linux下方便地使用485接口,需要對原來的驅動程序稍加改動。 有關的文件 arch/arm/mach-at91/目錄下: at91sam9261_devices.c中的相關函數(不用改): at91_add_device_serial()
[單片機]
Linux2.6.32移植到MINI2440(4)移植+分析DM9000網卡驅動
開發環境: 主機:fedora 14 虛擬機:vmware workstation 10 交叉編譯工具:arm-linux-gcc 4.3.2 開發板:mini2440(2m nor ,64m sdram,256m nand) 內核版本:linux2.6.32.2 上一篇帖子的uImage可以起yaffs2文件系統,但是起不了nfs,我的yaffs2使用nfs打包來的,換一個內核可以起,bootargs也沒有問題,可能是這里網卡沒有移植造成的,移植結束之后再看能不能起,因為nfs對后面做驅動開發優勢比較大,方便調試看現象,不需要每次都燒寫進去,所以還是需要能夠起nfs的。DM9000內核
[單片機]
編譯基于ARM LINUX的驅動模塊的Makefile
KERNELDIR = /home/wenhao/platform/linux-2.6.34 PWD := $(shell pwd) CROSS_COMPILE = /usr/local/arm/4.3.2/bin/arm-linux- CC = $(CROSS_COMPILE)gcc obj-m := key.o modules: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules clean: rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions .PHONY: modules clean
[單片機]
s3c2410觸摸屏在linux下的驅動分析 一
觸摸屏驅動在/kernel/drivers/char/s3c2410-ts.c 文件中。 該驅動總要有以下重要數據結構: 1.觸摸屏的file_operations static struct file_operations s3c2410_fops={ owner: THIS_MODULE, open: s3c2410_ts_open, read: s3c2410_ts_read, release: s3c2410_ts_release, #ifdef USE_ASYNC fasync: s3c2410_ts_fasync, #endif poll: s3c2410_ts_poll, }; 2.全局變量T
[單片機]