1.如何建立一个sys调试节点
2017-12-29 09:30
323 查看
sys_debug_inode.c
xxxx.c 其他模块调用,如tp驱动中的使用
#include <linux/kobject.h> #include <linux/sysfs.h> #include <linux/export.h> #include <linux/init.h> static struct kobject *parent_kobj; static void __init psysfs_init(void) { parent_kobj = kobject_create_and_add("jun_debug",NULL); } void jun_create_sysfs(const char *name,struct attribute_group group) { struct kobject *debug_kobj; debug_kobj = kobject_create_and_add(name,parent_kobj); if (debug_kobj) sysfs_create_group(debug_kobj, &group ); } EXPORT_SYMBOL_GPL(jun_create_sysfs); core_initcall(psysfs_init);//高优先级别调用该函数创建 sys/jun_debug/ 目录
xxxx.c 其他模块调用,如tp驱动中的使用
static ssize_t gslx680_show_monitor(struct kobject *kobj, struct kobj_attribute *attr,char *buf) { return sprintf(buf, "gsl_log_enable = %d\n", gsl_monitor); } static ssize_t gslx680_store_monitor(struct kobject *kobj, struct kobj_attribute *attr,const char *buf, size_t count) { gsl_monitor = (int)simple_strtoul(buf, NULL, 10); return count; } static struct kobj_attribute monitor_attr = { .attr = { .name = "monitor", .mode = S_IRUGO |S_IWUGO, }, .show = &gslx680_show_monitor, .store = &gslx680_store_monitor, }; static struct attribute *debug_attrs[] = { &monitor_attr.attr, NULL }; static struct attribute_group debug_attrs_group = { .attrs = debug_attrs, }; extern void jun_create_sysfs(const char *name, struct attribute_group group); static int tpd_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id) { ... jun_create_sysfs("tpd",debug_attrs_group); ... } //这样就创建了 sys/jun_debug/tpd/monitor 文件
相关文章推荐
- 建立一个带附加头结点的单链表.实现测长/打印/删除结点/插入结点/逆置/查找中间节点/查找倒数第k个节点/判断是否有环
- 如何在MyEclipse中建立一个代理服务器
- 如何建立一个 XML 的开发环境
- Visual Basic 2005 - 如何建立一个主控描绘的TreeView控件
- 如何创建一个类只能在堆(栈)上建立对象
- jquery如何获取某一个兄弟节点
- 用Slickedit建立一个linux嵌入式调试系统
- 【比原链】如何连上一个比原节点
- 如何建立一个带登陆页面的Struts数据库应用程序
- 在Linux上,如何知道一个可执行文件是否包含调试信息呢?
- JAVA学习提高之----如何用Eclipse和Tomcat Plugin来建立一个开发环境(个人实践)
- 请教如何建立一个企业邮箱?
- 如何在二叉树中找到一个节点的后继节点
- 如何建立一个XML的开发环境
- 如何为自己的小型企业建立一个服务器机房?
- 【译】建立属于你的个人高效系统——效率专家 Mike Vardy 教你如何设置一个简单的个人高效系统
- 如何根据一个数组建立最大堆
- 单向链表中,如何在给定节点前快速插入一个节点?
- Flex中如何通过Tree类的setItemIcon事件给Tree节点设置一个个性化图标
- Android驱动利用sys节点进行调试