On Sat, 1 May 2010 21:18:38 +0200
"Dr. H. Nikolaus Schaller" <[email protected]> wrote:
> By looking into source file: this means
> rtc_class_open(CONFIG_RTC_HCTOSYS_DEVICE) returns NULL.
> CONFIG_RTC_HCTOSYS_DEVICE is "rtc0".
The "normal" or standard devices you should get with udev are:
lrwxrwxrwx 1 root root 4 2010-05-01 07:29 /dev/rtc -> rtc0
crw-rw---- 1 root root 254, 0 2010-05-01 07:29 /dev/rtc0
assuming you have the actual device driver(s) loaded.
So I think there are two possibilities for the rtc0 device not
showing up: 1) the i2c dependency is not being met, or 2) maybe
udev is having trouble creating the device.
>
> $ fgrep RTC .config
> # CONFIG_RTC is not set
> CONFIG_RTC_PCF8563=y
> # CONFIG_RTC_JZ is not set
> CONFIG_RTC_LIB=y
> CONFIG_RTC_CLASS=y
> CONFIG_RTC_HCTOSYS=y
> CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
> # CONFIG_RTC_DEBUG is not set
> # RTC interfaces
> CONFIG_RTC_INTF_SYSFS=y
> # CONFIG_RTC_INTF_PROC is not set
> CONFIG_RTC_INTF_DEV=y
> # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
> # CONFIG_RTC_DRV_TEST is not set
> # I2C RTC drivers
> # CONFIG_RTC_DRV_DS1307 is not set
> # CONFIG_RTC_DRV_DS1374 is not set
> # CONFIG_RTC_DRV_DS1672 is not set
> # CONFIG_RTC_DRV_MAX6900 is not set
> # CONFIG_RTC_DRV_RS5C372 is not set
> # CONFIG_RTC_DRV_ISL1208 is not set
> # CONFIG_RTC_DRV_X1205 is not set
> # CONFIG_RTC_DRV_PCF8563 is not set
> CONFIG_RTC_DRV_PCF8583=y
> # CONFIG_RTC_DRV_M41T80 is not set
> # SPI RTC drivers
> # Platform RTC drivers
> # CONFIG_RTC_DRV_CMOS is not set
> # CONFIG_RTC_DRV_DS1553 is not set
> # CONFIG_RTC_DRV_STK17TA8 is not set
> # CONFIG_RTC_DRV_DS1742 is not set
> # CONFIG_RTC_DRV_M48T86 is not set
> # CONFIG_RTC_DRV_M48T59 is not set
> # CONFIG_RTC_DRV_V3020 is not set
> # on-CPU RTC drivers
>
> Hm. Finally I had an idea:
>
> $ find /sys -name '*rtc*'
> /sys/class/misc/rtc
> /sys/class/rtc
> /sys/module/rtc_pcf8583
>
> So it may be as simple as changing
>
> CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
>
> to
>
> CONFIG_RTC_HCTOSYS_DEVICE="rtc"
It looks like you have two Phillips drivers enabled; I would
disable one of them. Have you tried the RTC_JZ driver yet? Or is
it just a stub?
In general, I think the rtc0 device stuff in dmesg really depends on
what gets created under /dev rather than what you see under /sys.
If the right device appears in /sys then you should get something
under /dev (with an appropriate udev rule).
And by old and new rtc drivers I meant the (old) ones under:
Device Drivers --->
Character devices --->
Enhanced Real Time Clock Support (legacy PC RTC driver)
Generic /dev/rtc emulation
...
HPET Timer <= this one works with both
...
vs. the ones under:
Device Drivers --->
Real Time Clock --->
/sys/class/rtc/rtcN (sysfs)
/proc/driver/rtc (procfs for rtc0)
/dev/rtcN (character devices)
...
The first two options under the (old) Char device section only
appear if the (newer) Real Time Clock section is disabled. There
are lots of device-specific drivers in the latter section
(including the Phillips drivers) but not the JZ driver (at least in
the vanilla kernel). Question: does RTC_JZ appear under the bottom
section "on-CPU RTC drivers"?
It looks to me like your "CONFIG_RTC_PCF8563=y" is an older driver,
while the newer one is dsiabled (along with the RTC_JZ driver).
What happens if you disable the first one and enable the second one?
What happens if you enable "CONFIG_RTC_DRV_PCF8563" instead?
My $.02 would be to make sure the (old) ones are disabled and only
enable stuff under the new Real Time Clock section. Not sure about
HPET in this context; I guess you can try it both ways and see...
Here's what I get on an embedded powerpc board with an older 2.6.15
kernel and udev-079-r1 install:
lrwxrwxrwx 1 root root 8 Apr 18 13:15 /dev/rtc -> misc/rtc
so I guess the version of the kernel and/or udev is old enough that
it doesn't even create the rtc0 device (or a symlink). Do you see
anything under /sys/devices like this:
/sys/devices/pnp0/00:05/rtc
/sys/devices/pnp0/00:05/rtc/rtc0
On the above embedded board I only see this:
/sys/class/misc/rtc
Anyway, hope this helps somehow...
Steve
_______________________________________________
Mipsbook-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/mipsbook-devel