diff mbox

ARM: shmobile: Armadillo800EVA-reference: Remove usage of shmobile_timer

Message ID 1361223490-20106-1-git-send-email-hechtb+renesas@gmail.com (mailing list archive)
State Superseded
Headers show

Commit Message

Bastian Hecht Feb. 18, 2013, 9:38 p.m. UTC
The struct sys_timer is gone since the patch "ARM: delete struct
sys_timer". Since then we can't use shmobile_timer any longer. Setting
.init_time directly to eva_earlytimer_init fixes the resulting compile
error and makes the code shorter as well.

Signed-off-by: Bastian Hecht <hechtb+renesas@gmail.com>
---
 .../board-armadillo800eva-reference.c              |   12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

Comments

Kuninori Morimoto Feb. 19, 2013, 1:15 a.m. UTC | #1
Hi Bastian

> The struct sys_timer is gone since the patch "ARM: delete struct
> sys_timer". Since then we can't use shmobile_timer any longer. Setting
> .init_time directly to eva_earlytimer_init fixes the resulting compile
> error and makes the code shorter as well.

I guess it is 6bb27d7349db51b50c40534710fe164ca0d58902
Can you please add commit number too ?
It is easy to check.

something like

the patch "ARM: delete struct sys_timer"
(6bb27d7349db51b50c40534710fe164ca0d58902)


> 
> Signed-off-by: Bastian Hecht <hechtb+renesas@gmail.com>
> ---
>  .../board-armadillo800eva-reference.c              |   12 ++----------
>  1 file changed, 2 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
> index 623754d..ae20979 100644
> --- a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
> +++ b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
> @@ -219,14 +219,6 @@ static void __init eva_earlytimer_init(void)
>  	eva_clock_init();
>  }
>  
> -static void __init eva_add_early_devices(void)
> -{
> -	r8a7740_add_early_devices_dt();
> -
> -	/* override timer setup with board-specific code */
> -	shmobile_timer.init = eva_earlytimer_init;
> -}
> -
>  #define RESCNT2 IOMEM(0xe6188020)
>  static void eva_restart(char mode, const char *cmd)
>  {
> @@ -241,13 +233,13 @@ static const char *eva_boards_compat_dt[] __initdata = {
>  
>  DT_MACHINE_START(ARMADILLO800EVA_DT, "armadillo800eva-reference")
>  	.map_io		= r8a7740_map_io,
> -	.init_early	= eva_add_early_devices,
> +	.init_early	= r8a7740_add_early_devices_dt,
>  	.init_irq	= r8a7740_init_irq_of,
>  	.nr_irqs	= NR_IRQS_LEGACY,
>  	.handle_irq	= shmobile_handle_irq_intc,
>  	.init_machine	= eva_init,
>  	.init_late	= shmobile_init_late,
> -	.init_time	= shmobile_timer_init,
> +	.init_time	= eva_earlytimer_init,
>  	.dt_compat	= eva_boards_compat_dt,
>  	.restart	= eva_restart,
>  MACHINE_END
> -- 
> 1.7.9.5
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


Best regards
---
Kuninori Morimoto
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Simon Horman Feb. 19, 2013, 1:21 a.m. UTC | #2
On Mon, Feb 18, 2013 at 03:38:10PM -0600, Bastian Hecht wrote:
> The struct sys_timer is gone since the patch "ARM: delete struct
> sys_timer". Since then we can't use shmobile_timer any longer. Setting
> .init_time directly to eva_earlytimer_init fixes the resulting compile
> error and makes the code shorter as well.

Hi Bastian,

Magnus seems to be very keen on the idea that -reference code
shouldn't use early timer or early devices if possible.

Is it possible to re-work this patch so that armadillo800eva-reference
doesn't use early timer?

> 
> Signed-off-by: Bastian Hecht <hechtb+renesas@gmail.com>
> ---
>  .../board-armadillo800eva-reference.c              |   12 ++----------
>  1 file changed, 2 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
> index 623754d..ae20979 100644
> --- a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
> +++ b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
> @@ -219,14 +219,6 @@ static void __init eva_earlytimer_init(void)
>  	eva_clock_init();
>  }
>  
> -static void __init eva_add_early_devices(void)
> -{
> -	r8a7740_add_early_devices_dt();
> -
> -	/* override timer setup with board-specific code */
> -	shmobile_timer.init = eva_earlytimer_init;
> -}
> -
>  #define RESCNT2 IOMEM(0xe6188020)
>  static void eva_restart(char mode, const char *cmd)
>  {
> @@ -241,13 +233,13 @@ static const char *eva_boards_compat_dt[] __initdata = {
>  
>  DT_MACHINE_START(ARMADILLO800EVA_DT, "armadillo800eva-reference")
>  	.map_io		= r8a7740_map_io,
> -	.init_early	= eva_add_early_devices,
> +	.init_early	= r8a7740_add_early_devices_dt,
>  	.init_irq	= r8a7740_init_irq_of,
>  	.nr_irqs	= NR_IRQS_LEGACY,
>  	.handle_irq	= shmobile_handle_irq_intc,
>  	.init_machine	= eva_init,
>  	.init_late	= shmobile_init_late,
> -	.init_time	= shmobile_timer_init,
> +	.init_time	= eva_earlytimer_init,
>  	.dt_compat	= eva_boards_compat_dt,
>  	.restart	= eva_restart,
>  MACHINE_END
> -- 
> 1.7.9.5
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bastian Hecht Feb. 19, 2013, 3:05 p.m. UTC | #3
Hi Simon,

2013/2/18 Simon Horman <horms@verge.net.au>:
> On Mon, Feb 18, 2013 at 03:38:10PM -0600, Bastian Hecht wrote:
>> The struct sys_timer is gone since the patch "ARM: delete struct
>> sys_timer". Since then we can't use shmobile_timer any longer. Setting
>> .init_time directly to eva_earlytimer_init fixes the resulting compile
>> error and makes the code shorter as well.
>
> Hi Bastian,
>
> Magnus seems to be very keen on the idea that -reference code
> shouldn't use early timer or early devices if possible.
>
> Is it possible to re-work this patch so that armadillo800eva-reference
> doesn't use early timer?

Hmm I wonder if this is just a naming convention here. If I rename
eva_earlytimer_init() to eva_timer_init() the only thing that might
disturb us is that we call shmobile_EARLYtimer_init() inside it. But
this function only sets a callback named LATE_time_init. So we don't
break any timings.

So are you ok if I rename eva_earlytimer_init() to eva_timer_init()?

Thanks,

 Bastian


>>
>> Signed-off-by: Bastian Hecht <hechtb+renesas@gmail.com>
>> ---
>>  .../board-armadillo800eva-reference.c              |   12 ++----------
>>  1 file changed, 2 insertions(+), 10 deletions(-)
>>
>> diff --git a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
>> index 623754d..ae20979 100644
>> --- a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
>> +++ b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
>> @@ -219,14 +219,6 @@ static void __init eva_earlytimer_init(void)
>>       eva_clock_init();
>>  }
>>
>> -static void __init eva_add_early_devices(void)
>> -{
>> -     r8a7740_add_early_devices_dt();
>> -
>> -     /* override timer setup with board-specific code */
>> -     shmobile_timer.init = eva_earlytimer_init;
>> -}
>> -
>>  #define RESCNT2 IOMEM(0xe6188020)
>>  static void eva_restart(char mode, const char *cmd)
>>  {
>> @@ -241,13 +233,13 @@ static const char *eva_boards_compat_dt[] __initdata = {
>>
>>  DT_MACHINE_START(ARMADILLO800EVA_DT, "armadillo800eva-reference")
>>       .map_io         = r8a7740_map_io,
>> -     .init_early     = eva_add_early_devices,
>> +     .init_early     = r8a7740_add_early_devices_dt,
>>       .init_irq       = r8a7740_init_irq_of,
>>       .nr_irqs        = NR_IRQS_LEGACY,
>>       .handle_irq     = shmobile_handle_irq_intc,
>>       .init_machine   = eva_init,
>>       .init_late      = shmobile_init_late,
>> -     .init_time      = shmobile_timer_init,
>> +     .init_time      = eva_earlytimer_init,
>>       .dt_compat      = eva_boards_compat_dt,
>>       .restart        = eva_restart,
>>  MACHINE_END
>> --
>> 1.7.9.5
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Simon Horman Feb. 22, 2013, 9:44 p.m. UTC | #4
On Tue, Feb 19, 2013 at 09:05:16AM -0600, Bastian Hecht wrote:
> Hi Simon,
> 
> 2013/2/18 Simon Horman <horms@verge.net.au>:
> > On Mon, Feb 18, 2013 at 03:38:10PM -0600, Bastian Hecht wrote:
> >> The struct sys_timer is gone since the patch "ARM: delete struct
> >> sys_timer". Since then we can't use shmobile_timer any longer. Setting
> >> .init_time directly to eva_earlytimer_init fixes the resulting compile
> >> error and makes the code shorter as well.
> >
> > Hi Bastian,
> >
> > Magnus seems to be very keen on the idea that -reference code
> > shouldn't use early timer or early devices if possible.
> >
> > Is it possible to re-work this patch so that armadillo800eva-reference
> > doesn't use early timer?
> 
> Hmm I wonder if this is just a naming convention here. If I rename
> eva_earlytimer_init() to eva_timer_init() the only thing that might
> disturb us is that we call shmobile_EARLYtimer_init() inside it. But
> this function only sets a callback named LATE_time_init. So we don't
> break any timings.
> 
> So are you ok if I rename eva_earlytimer_init() to eva_timer_init()?

Perhaps I am missing something.

In eva_earlytimer_init() I see a call to shmobile_earlytimer_init()
amongst other things. And this seems to be the kind of early timer
initialisation that Magnus has asked -reference code not to use.

If you look at the setup code in setup-emev2.c and in particular
the use and contents emev2_init_delay() then you can see the kind of setup
that Magnus is advocating.

This is also reflected in "[PATCH v2 0/8] ARM: shmobile: kzm9g reference
SMP and cleanup". In particular:

* [PATCH v2 5/8] ARM: shmobile: sh73a0: Do not use early devices with DT reference
* [PATCH v2 6/8] ARM: shmobile: kzm9g: Do not use early devices
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bastian Hecht Feb. 27, 2013, 4:32 p.m. UTC | #5
Hi Simon,

2013/2/22 Simon Horman <horms@verge.net.au>:
> On Tue, Feb 19, 2013 at 09:05:16AM -0600, Bastian Hecht wrote:
>> Hi Simon,
>>
>> 2013/2/18 Simon Horman <horms@verge.net.au>:
>> > On Mon, Feb 18, 2013 at 03:38:10PM -0600, Bastian Hecht wrote:
>> >> The struct sys_timer is gone since the patch "ARM: delete struct
>> >> sys_timer". Since then we can't use shmobile_timer any longer. Setting
>> >> .init_time directly to eva_earlytimer_init fixes the resulting compile
>> >> error and makes the code shorter as well.
>> >
>> > Hi Bastian,
>> >
>> > Magnus seems to be very keen on the idea that -reference code
>> > shouldn't use early timer or early devices if possible.
>> >
>> > Is it possible to re-work this patch so that armadillo800eva-reference
>> > doesn't use early timer?
>>
>> Hmm I wonder if this is just a naming convention here. If I rename
>> eva_earlytimer_init() to eva_timer_init() the only thing that might
>> disturb us is that we call shmobile_EARLYtimer_init() inside it. But
>> this function only sets a callback named LATE_time_init. So we don't
>> break any timings.
>>
>> So are you ok if I rename eva_earlytimer_init() to eva_timer_init()?
>
> Perhaps I am missing something.
>
> In eva_earlytimer_init() I see a call to shmobile_earlytimer_init()
> amongst other things. And this seems to be the kind of early timer
> initialisation that Magnus has asked -reference code not to use.
>
> If you look at the setup code in setup-emev2.c and in particular
> the use and contents emev2_init_delay() then you can see the kind of setup
> that Magnus is advocating.
>
> This is also reflected in "[PATCH v2 0/8] ARM: shmobile: kzm9g reference
> SMP and cleanup". In particular:
>
> * [PATCH v2 5/8] ARM: shmobile: sh73a0: Do not use early devices with DT reference
> * [PATCH v2 6/8] ARM: shmobile: kzm9g: Do not use early devices

Thanks for guidance to these patches! On which branch does this
patchset apply? Or are they even already applied on some publicly
available branch?

Cheers,
 Bastian
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Simon Horman Feb. 28, 2013, 9:18 a.m. UTC | #6
On Wed, Feb 27, 2013 at 10:32:17AM -0600, Bastian Hecht wrote:
> Hi Simon,
> 
> 2013/2/22 Simon Horman <horms@verge.net.au>:
> > On Tue, Feb 19, 2013 at 09:05:16AM -0600, Bastian Hecht wrote:
> >> Hi Simon,
> >>
> >> 2013/2/18 Simon Horman <horms@verge.net.au>:
> >> > On Mon, Feb 18, 2013 at 03:38:10PM -0600, Bastian Hecht wrote:
> >> >> The struct sys_timer is gone since the patch "ARM: delete struct
> >> >> sys_timer". Since then we can't use shmobile_timer any longer. Setting
> >> >> .init_time directly to eva_earlytimer_init fixes the resulting compile
> >> >> error and makes the code shorter as well.
> >> >
> >> > Hi Bastian,
> >> >
> >> > Magnus seems to be very keen on the idea that -reference code
> >> > shouldn't use early timer or early devices if possible.
> >> >
> >> > Is it possible to re-work this patch so that armadillo800eva-reference
> >> > doesn't use early timer?
> >>
> >> Hmm I wonder if this is just a naming convention here. If I rename
> >> eva_earlytimer_init() to eva_timer_init() the only thing that might
> >> disturb us is that we call shmobile_EARLYtimer_init() inside it. But
> >> this function only sets a callback named LATE_time_init. So we don't
> >> break any timings.
> >>
> >> So are you ok if I rename eva_earlytimer_init() to eva_timer_init()?
> >
> > Perhaps I am missing something.
> >
> > In eva_earlytimer_init() I see a call to shmobile_earlytimer_init()
> > amongst other things. And this seems to be the kind of early timer
> > initialisation that Magnus has asked -reference code not to use.
> >
> > If you look at the setup code in setup-emev2.c and in particular
> > the use and contents emev2_init_delay() then you can see the kind of setup
> > that Magnus is advocating.
> >
> > This is also reflected in "[PATCH v2 0/8] ARM: shmobile: kzm9g reference
> > SMP and cleanup". In particular:
> >
> > * [PATCH v2 5/8] ARM: shmobile: sh73a0: Do not use early devices with DT reference
> > * [PATCH v2 6/8] ARM: shmobile: kzm9g: Do not use early devices
> 
> Thanks for guidance to these patches! On which branch does this
> patchset apply? Or are they even already applied on some publicly
> available branch?

These changes should be present in both next and topic/all+next.
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bastian Hecht Feb. 28, 2013, 4:52 p.m. UTC | #7
2013/2/28 Simon Horman <horms@verge.net.au>:
> On Wed, Feb 27, 2013 at 10:32:17AM -0600, Bastian Hecht wrote:
>> Hi Simon,
>>
>> 2013/2/22 Simon Horman <horms@verge.net.au>:
>> > On Tue, Feb 19, 2013 at 09:05:16AM -0600, Bastian Hecht wrote:
>> >> Hi Simon,
>> >>
>> >> 2013/2/18 Simon Horman <horms@verge.net.au>:
>> >> > On Mon, Feb 18, 2013 at 03:38:10PM -0600, Bastian Hecht wrote:
>> >> >> The struct sys_timer is gone since the patch "ARM: delete struct
>> >> >> sys_timer". Since then we can't use shmobile_timer any longer. Setting
>> >> >> .init_time directly to eva_earlytimer_init fixes the resulting compile
>> >> >> error and makes the code shorter as well.
>> >> >
>> >> > Hi Bastian,
>> >> >
>> >> > Magnus seems to be very keen on the idea that -reference code
>> >> > shouldn't use early timer or early devices if possible.
>> >> >
>> >> > Is it possible to re-work this patch so that armadillo800eva-reference
>> >> > doesn't use early timer?
>> >>
>> >> Hmm I wonder if this is just a naming convention here. If I rename
>> >> eva_earlytimer_init() to eva_timer_init() the only thing that might
>> >> disturb us is that we call shmobile_EARLYtimer_init() inside it. But
>> >> this function only sets a callback named LATE_time_init. So we don't
>> >> break any timings.
>> >>
>> >> So are you ok if I rename eva_earlytimer_init() to eva_timer_init()?
>> >
>> > Perhaps I am missing something.
>> >
>> > In eva_earlytimer_init() I see a call to shmobile_earlytimer_init()
>> > amongst other things. And this seems to be the kind of early timer
>> > initialisation that Magnus has asked -reference code not to use.
>> >
>> > If you look at the setup code in setup-emev2.c and in particular
>> > the use and contents emev2_init_delay() then you can see the kind of setup
>> > that Magnus is advocating.
>> >
>> > This is also reflected in "[PATCH v2 0/8] ARM: shmobile: kzm9g reference
>> > SMP and cleanup". In particular:
>> >
>> > * [PATCH v2 5/8] ARM: shmobile: sh73a0: Do not use early devices with DT reference
>> > * [PATCH v2 6/8] ARM: shmobile: kzm9g: Do not use early devices
>>
>> Thanks for guidance to these patches! On which branch does this
>> patchset apply? Or are they even already applied on some publicly
>> available branch?
>
> These changes should be present in both next and topic/all+next.

Yeah git remote update is my friend... thanks!

Ok I've prepared the patches. I think it would make sense to split it
into 2 parts and keep the first patch as it is and have a separate one
for removing all the early device stuff. I've prepared it in an
identical way as you cleaned up the code.
If you prefer 1 patch just tell me. Same if you want me to rebase
these patches on some specific branch.

Cheers,

 Bastian
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
index 623754d..ae20979 100644
--- a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
+++ b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
@@ -219,14 +219,6 @@  static void __init eva_earlytimer_init(void)
 	eva_clock_init();
 }
 
-static void __init eva_add_early_devices(void)
-{
-	r8a7740_add_early_devices_dt();
-
-	/* override timer setup with board-specific code */
-	shmobile_timer.init = eva_earlytimer_init;
-}
-
 #define RESCNT2 IOMEM(0xe6188020)
 static void eva_restart(char mode, const char *cmd)
 {
@@ -241,13 +233,13 @@  static const char *eva_boards_compat_dt[] __initdata = {
 
 DT_MACHINE_START(ARMADILLO800EVA_DT, "armadillo800eva-reference")
 	.map_io		= r8a7740_map_io,
-	.init_early	= eva_add_early_devices,
+	.init_early	= r8a7740_add_early_devices_dt,
 	.init_irq	= r8a7740_init_irq_of,
 	.nr_irqs	= NR_IRQS_LEGACY,
 	.handle_irq	= shmobile_handle_irq_intc,
 	.init_machine	= eva_init,
 	.init_late	= shmobile_init_late,
-	.init_time	= shmobile_timer_init,
+	.init_time	= eva_earlytimer_init,
 	.dt_compat	= eva_boards_compat_dt,
 	.restart	= eva_restart,
 MACHINE_END