sparc: Fix multiple RTC detections on SUN4D
Sorry about the slow response. Had some memory issues with the testbox. On SUN4D machines there is one RTC-chip located on each systemboard, when booting all of these will be probed. Registering a second RTC with the kernel fails, and breaks the rtc: [ 0.212000] kobject (f02625f0): tried to init an initialized object, somethi [ 0.212000] [f0141418 : platform_device_register+0x4/0x18 ] [f01edbc4 : cloc [ 0.216000] ------------[ cut here ]------------ [ 0.216000] WARNING: at fs/sysfs/dir.c:487 sysfs_add_one+0x84/0xa4() [ 0.216000] sysfs: cannot create duplicate filename '/devices/platform/rtc-m [ 0.216000] Modules linked in: [ 0.216000] [f00c1988 : sysfs_add_one+0x84/0xa4 ] [f00c1f70 : create_dir+0x4 [ 0.216000] ---[ end trace 139ce121c98e96c9 ]--- [ 0.220000] kobject_add_internal failed for rtc-m48t59.0 with -EEXIST, don't [ 0.220000] [f013d568 : device_add+0xc8/0x610 ] [f014134c : platform_device_ [ 0.220000] Registering RTC device failed Later on in the boot the following happens: [ 23.116000] drivers/rtc/hctosys.c: unable to open rtc device (rtc0) The suggested fix searches the supplied RTC node for a address property which only one RTC per system appears to have and registers only this RTC with the kernel. (Tested on SS20/SUN4M and SS1000E/SUN4D). Signed-off-by: Kjetil Oftedal <oftedal@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing
Please register or sign in to comment