我的外部RTC是DS1339,驱动采用的是rtc-ds1307.c
在内核里选上了 
<*> I2C support 
以及
 [*]   Set system time from RTC on startup and resume             │ │  
  │ │    (rtc0)  RTC used to set the system time                          │ │  
  │ │    [*]   RTC debug support                                          │ │  
  │ │          *** RTC interfaces ***                                     │ │  
  │ │    [*]   /sys/class/rtc/rtcN (sysfs)                                │ │  
  │ │    [*]   /proc/driver/rtc (procfs for rtc0)                         │ │  
  │ │    [*]   /dev/rtcN (character devices)                              │ │  
  │ │    [*]     RTC UIE emulation on dev interface                       │ │  
  │ │    < >   Test driver/device                       
  │ │          *** I2C RTC drivers ***                                    │ │  
  │ │    <*>   Dallas/Maxim DS1307/37/38/39/40, ST M41T00, EPSON RX-8025  │
但是启动的时候提示找不到rtc:
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
启动完成后看到有:
/dev/i2c-1
/sys/bus/i2c/drivers/rtc-ds1307
但是没有/dev/rtc什么的。
加了些调试信息后发现ds1307_probe并没有被执行。以前接触的驱动都是用platform_driver_register注册的,这个rtc则是
static int __init ds1307_init(void)
{
return i2c_add_driver(&ds1307_driver);
}
在这种情况下,系统是怎么调用和加载驱动的?我往里看了看,没发现它调用probe和执行I2C操作

static struct i2c_board_info __initdata am3517evm_i2c1_boardinfo[]
如下代码:
     {
         I2C_BOARD_INFO("rtc-ds1307",0x68),
         .type = "ds3231",
     },

RTC是DS1339,驱动采用的是rtc-ds1307.c的更多相关文章

  1. linux驱动基础系列--linux rtc子系统

    前言 linux驱动子系统太多了,连时钟也搞了个子系统,这导致一般的时钟芯片的驱动也会涉及到至少2个子系统,一个是时钟芯片接口子系统(比如I2c接口的时钟芯片),一个是内核给所有时钟芯片提供的rtc子 ...

  2. Linux驱动修炼之道-RTC子系统框架与源码分析【转】

    转自:http://helloyesyes.iteye.com/blog/1072433 努力成为linux kernel hacker的人李万鹏原创作品,为梦而战.转载请标明出处 http://bl ...

  3. RTC实时时钟驱动

    RTC(Real-Time Clock)实时时钟为操作系统提供了一个可靠的时间,并且在断电的情况下,RTC实时时钟也可以通过电池供电,一直运行下去. RTC通过STRB/LDRB这两个ARM指令向CP ...

  4. linux内核中rtc框架选用什么接口来注册rtc设备呢?

    1. 有哪些接口? 1.1 devm_rtc_device_register 1.2  devm_rtc_allocate_device和 rtc_register_device 2. 1.1与1.2 ...

  5. 如何单独编译Linux内核源码中的驱动为可加载模块?

    答: 分为两步: 1. 配置某个驱动为模块(如: CONFIG_RTC_XXX=m) 2. 指定路径并编译, 如编译drivers/rtc中的驱动 make SUBDIRS=drivers/rtc m ...

  6. S3C2440上RTC时钟驱动开发实例讲解(转载)

    嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤.一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便.如有错误之处,谢请指正. 共享资源,欢迎转载:http:/ ...

  7. FL2440驱动添加(2): RTC(Real time clock)

    一,Linux下的时间分为两种,系统时间与硬件时间(RTC芯片): 1,系统时间就是运行系统能够直接看到的时间: 2,硬件时间就是RTC芯片中的时间,断电任然有电池供电: linux系统开机时,会从R ...

  8. linux RTC 驱动模型分析【转】

    转自:http://blog.csdn.net/yaozhenguo2006/article/details/6824970 RTC(real time clock)实时时钟,主要作用是给Linux系 ...

  9. linux 实时时钟(RTC)驱动【转】

    转自:http://blog.csdn.net/yaozhenguo2006/article/details/6820218 这个是linux内核文档关于rtc实时时钟部分的说明,此文档主要描述了rt ...

随机推荐

  1. 算法之动态规划(最长递增子序列——LIS)

    最长递增子序列是动态规划中最经典的问题之一,我们从讨论这个问题开始,循序渐进的了解动态规划的相关知识要点. 在一个已知的序列 {a1, a 2,...an}中,取出若干数组成新的序列{ai1, ai ...

  2. response.sendRedirect 的功能是地址重定向(页面跳转)

    response.sendRedirect 的功能是地址重定向(页面跳转) 1.response.sendredirect(url); 新的页面并不能处理旧页面的pagecontext(request ...

  3. AndroidManifest.xml详细分析

    原文地址: http://my.eoe.cn/1087692/archive/5927.html 一.关于AndroidManifest.xmlAndroidManifest.xml 是每个andro ...

  4. Apache thrift - 使用,内部实现及构建一个可扩展的RPC框架

    本文首先介绍了什么是Apache Thrift,接着介绍了Thrift的安装部署及如何利用Thrift来实现一个简单的RPC应用,并简单的探究了一下Thrift的内部实现原理,最后给出一个基于Thri ...

  5. IOS 多线程的一些总结

    IOS 多线程 有三种主要方法 (1)NSThread (2)NSOperation (3)**   下面简单介绍这三个方法 1.NSThread 调用方法如下:         如函数需要输入参数, ...

  6. matlab7.0安装 win7系统详细使用方法附软件下载

    MATLAB 7.0下载地址: 百度网盘下载地址:http://pan.baidu.com/share/link?shareid=414204&uk=2769186556 迅雷快传下载地址:h ...

  7. std::condition_variable(3)复习

    #include <iostream> // std::cout #include <thread> // std::thread #include <mutex> ...

  8. vue之v-bind:style

    <div class="collect" @click="collected=!collected"> <i class="fa f ...

  9. 【BZOJ2794】[Poi2012]Cloakroom 离线+背包

    [BZOJ2794][Poi2012]Cloakroom Description 有n件物品,每件物品有三个属性a[i], b[i], c[i] (a[i]<b[i]).再给出q个询问,每个询问 ...

  10. 巨蟒python全栈开发linux之centos2

    1.一些命令回顾 在vm中,右击"打开终端",输入命令ifconfig,得到的下图算是一个终端,并且我们可以看到服务器的ip是192.168.34.128 我们通过windows上 ...