首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

linux2.6.37中at24.c驱动的研讨

2012-09-11 
linux2.6.37中at24.c驱动的探讨今天看到内核源码驱动中at24eeprom系列的驱动程序(driver/misc/eeprom/at24

linux2.6.37中at24.c驱动的探讨
今天看到内核源码驱动中at24eeprom系列的驱动程序(driver/misc/eeprom/at24.c),这个驱动使用了sysfs的机制,建立了bin_attribute的属性结构体,并没有建立类似普通字符驱动中file_operation结构体(包含read.wtire等函数),所以我想请假下大家如何调用bin_attribute中show和store函数(对应eeprom的读写函数)。是否直接读写二进制属性文件?但读写eeprom具体地址和数据改如何传入内核呢?希望大家对这套机制熟悉的大师能指点指点。
----------------------------------------------------------------------
struct bin_attribute {
struct attributeattr;
size_tsize;
void*private;
ssize_t (*read)(struct file *, struct kobject *, struct bin_attribute *,
char *, loff_t, size_t);
ssize_t (*write)(struct file *,struct kobject *, struct bin_attribute *,
char *, loff_t, size_t);
int (*mmap)(struct file *, struct kobject *, struct bin_attribute *attr,
struct vm_area_struct *vma);
};

[解决办法]
知道了,使用lseek()指定到指定位置,在进行读写操作
其实就是对设备文件看成一个二进制文件进行操作了。
OK了

热点排行