Re: [RFC] Option to disable mapping genrtc calls to ppc_md calls
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2005-01-20 22:27:54
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2005-01-20 22:27:54
On Tue, 2005-01-18 at 11:25 -0500, Dan Malek wrote:
On Jan 18, 2005, at 11:15 AM, Tom Rini wrote:quoted
On Mon, Jan 17, 2005 at 02:10:00PM -0700, Mark A. Greer wrote:quoted
quoted
There are 2 reasons to not use the ppc_md.get_rtc_time() et. al. interfaces: 1) They are called before the i2c driver is initialized and even loaded if its a module.There are three reasons. You don't want to use an I2c rtc clock at all in these functions because they get can get called from the clock interrupt to update the time in the rtc. If it does happen to work, it creates long latencies in the timer interrupt. If the i2c requires an interrupt, they system will crash or hang.
I have the same problem and I think the solution is to fix the clock interrupt to not do this at interrupt time, but delay to a work queue instead.
A system using an I2C RTC should find some way to access the clock from application space as a standard I2C device and manage time/clock from the application, not from the kernel.
gack ? Ben.