[PATCH] [POWERPC] Add interrupt resource for RTC CMOS driver
Kumar Gala
galak at kernel.crashing.org
Fri Aug 17 15:03:18 EST 2007
The RTC CMOS driver expects the interrupt to be a resource of the platform
device. Use a fixed interrupt value of 8 since on PPC if we are using this
its off an i8259 which we ensure has interrupt numbers 0..15.
Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
---
arch/powerpc/sysdev/rtc_cmos_setup.c | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/sysdev/rtc_cmos_setup.c b/arch/powerpc/sysdev/rtc_cmos_setup.c
index e276048..1d2be7d 100644
--- a/arch/powerpc/sysdev/rtc_cmos_setup.c
+++ b/arch/powerpc/sysdev/rtc_cmos_setup.c
@@ -20,14 +20,16 @@ static int __init add_rtc(void)
{
struct device_node *np;
struct platform_device *pd;
- struct resource res;
+ struct resource res[2];
int ret;
+ memset(&res, 0, sizeof(res));
+
np = of_find_compatible_node(NULL, NULL, "pnpPNP,b00");
if (!np)
return -ENODEV;
- ret = of_address_to_resource(np, 0, &res);
+ ret = of_address_to_resource(np, 0, &res[0]);
of_node_put(np);
if (ret)
return ret;
@@ -36,11 +38,16 @@ static int __init add_rtc(void)
* RTC_PORT(x) is hardcoded in asm/mc146818rtc.h. Verify that the
* address provided by the device node matches.
*/
- if (res.start != RTC_PORT(0))
+ if (res[0].start != RTC_PORT(0))
return -EINVAL;
+ res[1].start = 8;
+ res[1].end = 8;
+ res[1].flags = IORESOURCE_IRQ;
+
pd = platform_device_register_simple("rtc_cmos", -1,
- &res, 1);
+ &res[0], 2);
+
if (IS_ERR(pd))
return PTR_ERR(pd);
--
1.5.2.2
More information about the Linuxppc-dev
mailing list