[PATCH 1/4] ARM: at91: remove at91sam9263 legacy board support

Paul Bolle pebolle at tiscali.nl
Mon Dec 22 01:28:48 PST 2014


On Mon, 2014-12-01 at 17:09 +0100, Nicolas Ferre wrote:
> Le 01/12/2014 12:52, Paul Bolle a écrit :
> > On Wed, 2014-11-19 at 11:31 +0100, Nicolas Ferre wrote:
> >> Remove legacy support for at91sam9rl boards.
> >> This include board files removal plus all legacy code for non DT boards
> >> support.
> >> Use the Device Tree for running this board with newer kernels.
> >>
> >> Signed-off-by: Nicolas Ferre <nicolas.ferre at atmel.com>
> >> ---
> > 
> > There's some further cleanup possible after this patch. I noticed that
> > when it landed in today's linux-next (ie, next-20141201) as commit
> > 4403ac46edcd ("ARM: at91: remove at91sam9263 legacy board support").
> > 
> >>  arch/arm/configs/at91sam9263_defconfig   |  151 ---
> >>  arch/arm/mach-at91/Kconfig.non_dt        |   21 -
> >>  arch/arm/mach-at91/Makefile              |    4 -
> >>  arch/arm/mach-at91/at91sam9263.c         |  399 --------
> >>  arch/arm/mach-at91/at91sam9263_devices.c | 1538 ------------------------------
> >>  arch/arm/mach-at91/board-sam9263ek.c     |  493 ----------
> >>  6 files changed, 2606 deletions(-)
> >>  delete mode 100644 arch/arm/configs/at91sam9263_defconfig
> >>  delete mode 100644 arch/arm/mach-at91/at91sam9263_devices.c
> >>  delete mode 100644 arch/arm/mach-at91/board-sam9263ek.c
> >>
> >> [...]
> >> diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c
> >> deleted file mode 100644
> >> index cef0e2f57068..000000000000
> >> --- a/arch/arm/mach-at91/at91sam9263_devices.c
> >> +++ /dev/null
> >> [...]
> >> -/* --------------------------------------------------------------------
> >> - *  RTT
> >> - * -------------------------------------------------------------------- */
> >> -
> >> -static struct resource rtt0_resources[] = {
> >> -	{
> >> -		.start	= AT91SAM9263_BASE_RTT0,
> >> -		.end	= AT91SAM9263_BASE_RTT0 + SZ_16 - 1,
> >> -		.flags	= IORESOURCE_MEM,
> >> -	}, {
> >> -		.flags	= IORESOURCE_MEM,
> >> -	}, {
> >> -		.flags  = IORESOURCE_IRQ,
> >> -	}
> >> -};
> >> -
> >> -static struct platform_device at91sam9263_rtt0_device = {
> >> -	.name		= "at91_rtt",
> >> -	.id		= 0,
> >> -	.resource	= rtt0_resources,
> >> -};
> >> -
> >> -static struct resource rtt1_resources[] = {
> >> -	{
> >> -		.start	= AT91SAM9263_BASE_RTT1,
> >> -		.end	= AT91SAM9263_BASE_RTT1 + SZ_16 - 1,
> >> -		.flags	= IORESOURCE_MEM,
> >> -	}, {
> >> -		.flags	= IORESOURCE_MEM,
> >> -	}, {
> >> -		.flags  = IORESOURCE_IRQ,
> >> -	}
> >> -};
> >> -
> >> -static struct platform_device at91sam9263_rtt1_device = {
> >> -	.name		= "at91_rtt",
> >> -	.id		= 1,
> >> -	.resource	= rtt1_resources,
> >> -};
> >> -
> >> -#if IS_ENABLED(CONFIG_RTC_DRV_AT91SAM9)
> >> -static void __init at91_add_device_rtt_rtc(void)
> >> -{
> >> -	struct platform_device *pdev;
> >> -	struct resource *r;
> >> -
> >> -	switch (CONFIG_RTC_DRV_AT91SAM9_RTT) {
> > 
> > This and...
> > 
> >> -	case 0:
> >> -		/*
> >> -		 * The second resource is needed only for the chosen RTT:
> >> -		 * GPBR will serve as the storage for RTC time offset
> >> -		 */
> >> -		at91sam9263_rtt0_device.num_resources = 3;
> >> -		at91sam9263_rtt1_device.num_resources = 1;
> >> -		pdev = &at91sam9263_rtt0_device;
> >> -		r = rtt0_resources;
> >> -		break;
> >> -	case 1:
> >> -		at91sam9263_rtt0_device.num_resources = 1;
> >> -		at91sam9263_rtt1_device.num_resources = 3;
> >> -		pdev = &at91sam9263_rtt1_device;
> >> -		r = rtt1_resources;
> >> -		break;
> >> -	default:
> >> -		pr_err("at91sam9263: only supports 2 RTT (%d)\n",
> >> -		       CONFIG_RTC_DRV_AT91SAM9_RTT);
> > 
> > this are the only places were the Kconfig symbol RTC_DRV_AT91SAM9_RTT
> > was used. It is useless now. That matches its help text, that reads:
> >     This option is only relevant for legacy board support and
> >     won't be used when booting a DT board.
> > 
> >> -		return;
> >> -	}
> >> -
> >> -	pdev->name = "rtc-at91sam9";
> >> -	r[1].start = AT91SAM9263_BASE_GPBR + 4 * CONFIG_RTC_DRV_AT91SAM9_GPBR;
> >> -	r[1].end = r[1].start + 3;
> >> -	r[2].start = NR_IRQS_LEGACY + AT91_ID_SYS;
> >> -	r[2].end = NR_IRQS_LEGACY + AT91_ID_SYS;
> >> -}
> >> -#else
> >> -static void __init at91_add_device_rtt_rtc(void)
> >> -{
> >> -	/* Only one resource is needed: RTT not used as RTC */
> >> -	at91sam9263_rtt0_device.num_resources = 1;
> >> -	at91sam9263_rtt1_device.num_resources = 1;
> >> -}
> >> -#endif
> >> -
> >> -static void __init at91_add_device_rtt(void)
> >> -{
> >> -	at91_add_device_rtt_rtc();
> >> -	platform_device_register(&at91sam9263_rtt0_device);
> >> -	platform_device_register(&at91sam9263_rtt1_device);
> >> -}
> > 
> > Is a patch to remove that symbol from drivers/rtc/Kconfig queued
> > somewhere?
> 
> Hi Paul,
> 
> In fact these config options are flagged as being useless for !DT. As
> the modifications of this Kconfig (in a "drivers" branch) and the
> removal of !DT boards (in a "cleaup" branch) will happen in 3.19, I was
> planning to come back to these 2 options by removing them later in order
> to avoid to solve a merge conflict.
> 
> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/drivers/rtc/Kconfig?id=3969eb48ad7f3f3bef61f5474b7214e601fd2d75
> 
> As you can see in the commit above, they have been properly tagged by Boris.

Yes, those two lines were noticed by me (see above). 

> So, I suggest to get rid of them during 3.19-rc phase.

There's still an entry for RTC_DRV_AT91SAM9_RTT in next-20141221 (and
v3.19-rc1). So this I send this message as a reminder that this cleanup
is still needed.

Thanks,


Paul Bolle




More information about the linux-arm-kernel mailing list