Subject: RTC woes

From: "Marc LeFevre" <[email-masked]>
Date: Tue, 19 Feb 2008 09:34:52 -0700

Hi:

I'm new to the list.  I have an e500-based embedded Linux system running a
2.6.22 kernel.  I have a PCF8563T i2c based RTC chip attached to the PPC i2c
bus.  In my kernel config file I have selected CONFIG_RTC_INTF_DEV=y and
CONFIG_RTC_DRV_PCF8563=y.  I do a mknod  for /dev/rtc as c 10 135 (standard
Linux) and link /dev/rtc0 to it.

When I boot, get the following message:

drivers/rtc/hctosys.c: unable to open rtc device (rtc0)

and, of course I cannot access /dev/rtc after booting.  I can, however, talk
to the rtc if I use /dev/i2c and a generic i2c read and write utility.

When I look in /proc/devices, I see that rtc has taken major number 254
which puzzles me. RTC should not need a dynamic major number, right?  I have
perused the drivers in linux/drivers/rtc and don't find any of them calling
register_chrdev() to get a dynamic major number.  So here are my questions:

1)       Shouldn't rtc automagically use major/minor 10/135?

2)       How can I find where in the source it asks for a dynamic major
number?

3)       Does the PPC have some quirks regarding i2c operation that are at
the root of this problem?

BYW, I tried making the rtc device file as c 254 0 to match what's in
/proc/devices and that gives me the same bejavior.

Thanks in advance for any help you can offer.

Marc