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

Commit 205056a3 authored by Jean-Christophe PLAGNIOL-VILLARD's avatar Jean-Christophe PLAGNIOL-VILLARD Committed by Nicolas Ferre
Browse files

ARM: at91/rtc-at91sam9: each SoC can select the RTT device to use



For the RTT as RTC driver rtc-at91sam9, the platform_device structure
is filled during SoC initialization. This will allow to convert this
RTC driver as a standard platform driver.

Signed-off-by: default avatarJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
parent b5514952
Loading
Loading
Loading
Loading
+11 −0
Original line number Original line Diff line number Diff line
@@ -728,8 +728,19 @@ static struct platform_device at91sam9260_rtt_device = {
	.num_resources	= ARRAY_SIZE(rtt_resources),
	.num_resources	= ARRAY_SIZE(rtt_resources),
};
};



#if IS_ENABLED(CONFIG_RTC_DRV_AT91SAM9)
static void __init at91_add_device_rtt_rtc(void)
{
	at91sam9260_rtt_device.name = "rtc-at91sam9";
}
#else
static void __init at91_add_device_rtt_rtc(void) {}
#endif

static void __init at91_add_device_rtt(void)
static void __init at91_add_device_rtt(void)
{
{
	at91_add_device_rtt_rtc();
	platform_device_register(&at91sam9260_rtt_device);
	platform_device_register(&at91sam9260_rtt_device);
}
}


+10 −0
Original line number Original line Diff line number Diff line
@@ -614,8 +614,18 @@ static struct platform_device at91sam9261_rtt_device = {
	.num_resources	= ARRAY_SIZE(rtt_resources),
	.num_resources	= ARRAY_SIZE(rtt_resources),
};
};


#if IS_ENABLED(CONFIG_RTC_DRV_AT91SAM9)
static void __init at91_add_device_rtt_rtc(void)
{
	at91sam9261_rtt_device.name = "rtc-at91sam9";
}
#else
static void __init at91_add_device_rtt_rtc(void) {}
#endif

static void __init at91_add_device_rtt(void)
static void __init at91_add_device_rtt(void)
{
{
	at91_add_device_rtt_rtc();
	platform_device_register(&at91sam9261_rtt_device);
	platform_device_register(&at91sam9261_rtt_device);
}
}


+25 −0
Original line number Original line Diff line number Diff line
@@ -992,8 +992,33 @@ static struct platform_device at91sam9263_rtt1_device = {
	.num_resources	= ARRAY_SIZE(rtt1_resources),
	.num_resources	= ARRAY_SIZE(rtt1_resources),
};
};


#if IS_ENABLED(CONFIG_RTC_DRV_AT91SAM9)
static void __init at91_add_device_rtt_rtc(void)
{
	struct platform_device *pdev;

	switch (CONFIG_RTC_DRV_AT91SAM9_RTT) {
	case 0:
		pdev = &at91sam9263_rtt0_device;
		break;
	case 1:
		pdev = &at91sam9263_rtt1_device;
		break;
	default:
		pr_err("at91sam9263: support only 2 RTT (%d)\n",
			 CONFIG_RTC_DRV_AT91SAM9_RTT);
		return;
	}

	pdev->name = "rtc-at91sam9";
}
#else
static void __init at91_add_device_rtt_rtc(void) {}
#endif

static void __init at91_add_device_rtt(void)
static void __init at91_add_device_rtt(void)
{
{
	at91_add_device_rtt_rtc();
	platform_device_register(&at91sam9263_rtt0_device);
	platform_device_register(&at91sam9263_rtt0_device);
	platform_device_register(&at91sam9263_rtt1_device);
	platform_device_register(&at91sam9263_rtt1_device);
}
}
+10 −0
Original line number Original line Diff line number Diff line
@@ -1204,8 +1204,18 @@ static struct platform_device at91sam9g45_rtt_device = {
	.num_resources	= ARRAY_SIZE(rtt_resources),
	.num_resources	= ARRAY_SIZE(rtt_resources),
};
};


#if IS_ENABLED(CONFIG_RTC_DRV_AT91SAM9)
static void __init at91_add_device_rtt_rtc(void)
{
	at91sam9g45_rtt_device.name = "rtc-at91sam9";
}
#else
static void __init at91_add_device_rtt_rtc(void) {}
#endif

static void __init at91_add_device_rtt(void)
static void __init at91_add_device_rtt(void)
{
{
	at91_add_device_rtt_rtc();
	platform_device_register(&at91sam9g45_rtt_device);
	platform_device_register(&at91sam9g45_rtt_device);
}
}


+10 −0
Original line number Original line Diff line number Diff line
@@ -693,8 +693,18 @@ static struct platform_device at91sam9rl_rtt_device = {
	.num_resources	= ARRAY_SIZE(rtt_resources),
	.num_resources	= ARRAY_SIZE(rtt_resources),
};
};


#if IS_ENABLED(CONFIG_RTC_DRV_AT91SAM9)
static void __init at91_add_device_rtt_rtc(void)
{
	at91sam9rl_rtt_device.name = "rtc-at91sam9";
}
#else
static void __init at91_add_device_rtt_rtc(void) {}
#endif

static void __init at91_add_device_rtt(void)
static void __init at91_add_device_rtt(void)
{
{
	at91_add_device_rtt_rtc();
	platform_device_register(&at91sam9rl_rtt_device);
	platform_device_register(&at91sam9rl_rtt_device);
}
}


Loading