1 路径:

drivers/staging/android/logger.c

drivers/staging/android/logger.h

2 创建的设备节点(在drivers/staging/android/logger.h定义):

dev/log_events /* system/hardware events */

dev/log_radio /* radio-related messages */

dev/log_main /* everything else */

dev/log_system /* system/framework messages */


3 查看static int __init logger_init(void)函数:

593 static int __init logger_init(void)
594 {
595 int ret;
596
597 ret = init_log(&log_main);
598 if (unlikely(ret))
599 goto out;
600
601 ret = init_log(&log_events);
602 if (unlikely(ret))
603 goto out;
604
605 ret = init_log(&log_radio);
606 if (unlikely(ret))
607 goto out;
608
609 ret = init_log(&log_system);
610 if (unlikely(ret))
611 goto out;
612
613 out:
614 return ret;
615 }

其中参数“log_main” 是有DEFINE_LOGGER_DEVICE(log_main, LOGGER_LOG_MAIN, 64*1024)定义的。

同时可参考如下宏声明:

535 /*
536 * Defines a log structure with name 'NAME' and a size of 'SIZE' bytes, which
537 * must be a power of two, greater than LOGGER_ENTRY_MAX_LEN, and less than
538 * LONG_MAX minus LOGGER_ENTRY_MAX_LEN.
539 */
540 #define DEFINE_LOGGER_DEVICE(VAR, NAME, SIZE) \
541 static unsigned char _buf_ ## VAR[SIZE]; \
542 static struct logger_log VAR = { \
543 .buffer = _buf_ ## VAR, \
544 .misc = { \
545 .minor = MISC_DYNAMIC_MINOR, \
546 .name = NAME, \
547 .fops = &logger_fops, \
548 .parent = NULL, \
549 }, \
550 .wq = __WAIT_QUEUE_HEAD_INITIALIZER(VAR .wq), \
551 .readers = LIST_HEAD_INIT(VAR .readers), \
552 .mutex = __MUTEX_INITIALIZER(VAR .mutex), \
553 .w_off = 0, \
554 .head = 0, \
555 .size = SIZE, \
556 };

注意:misc注册的fop结构体。



更多相关文章

  1. Ubuntu 下创建启动器
  2. 2011.09.09 ——— android 2.2 修改安装路径
  3. android复合控件
  4. Android之 drawTextOnpath
  5. Android(安卓)添加自定义BOOT_COMPLETED广播避免延迟
  6. 【自定义控件】 ------- GridView
  7. Android在内存中读取数据
  8. android解压zip包
  9. Android(安卓)自定义控件打造史上最简单的侧滑菜单

随机推荐

  1. android 图片占用进程的内存算法
  2. Android(安卓)Gradle 插件
  3. Android(安卓)Zip文件解压缩代码
  4. [Android] 使用Matrix矩阵类对图像进行缩
  5. Android中Launcher实例
  6. Android(安卓)Studio配置Android(安卓)An
  7. Android(安卓)教程之实现动作感应技术
  8. 安卓视频播放器 一行代码快速实现视频播
  9. android多媒体
  10. Android(安卓)Studio使用教程(一)