Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ada3ea6f authored by Kumar Gala's avatar Kumar Gala
Browse files

[POWERPC] Add interrupt resource for RTC CMOS driver



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: default avatarKumar Gala <galak@kernel.crashing.org>
parent 28e8351a
Loading
Loading
Loading
Loading
+13 −4
Original line number Original line Diff line number Diff line
@@ -20,14 +20,16 @@ static int __init add_rtc(void)
{
{
	struct device_node *np;
	struct device_node *np;
	struct platform_device *pd;
	struct platform_device *pd;
	struct resource res;
	struct resource res[2];
	int ret;
	int ret;


	memset(&res, 0, sizeof(res));

	np = of_find_compatible_node(NULL, NULL, "pnpPNP,b00");
	np = of_find_compatible_node(NULL, NULL, "pnpPNP,b00");
	if (!np)
	if (!np)
		return -ENODEV;
		return -ENODEV;


	ret = of_address_to_resource(np, 0, &res);
	ret = of_address_to_resource(np, 0, &res[0]);
	of_node_put(np);
	of_node_put(np);
	if (ret)
	if (ret)
		return ret;
		return ret;
@@ -36,11 +38,18 @@ static int __init add_rtc(void)
	 * RTC_PORT(x) is hardcoded in asm/mc146818rtc.h.  Verify that the
	 * RTC_PORT(x) is hardcoded in asm/mc146818rtc.h.  Verify that the
	 * address provided by the device node matches.
	 * address provided by the device node matches.
	 */
	 */
	if (res.start != RTC_PORT(0))
	if (res[0].start != RTC_PORT(0))
		return -EINVAL;
		return -EINVAL;


	/* 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. */
	res[1].start = 8;
	res[1].end = 8;
	res[1].flags = IORESOURCE_IRQ;

	pd = platform_device_register_simple("rtc_cmos", -1,
	pd = platform_device_register_simple("rtc_cmos", -1,
					     &res, 1);
					     &res[0], 2);

	if (IS_ERR(pd))
	if (IS_ERR(pd))
		return PTR_ERR(pd);
		return PTR_ERR(pd);