[PATCH V4 05/62] ST SPEAr: Formalized timer support
viresh kumar
viresh.kumar at st.com
Tue Jan 18 22:53:15 EST 2011
Jamie,
Thanks for reviewing our patches.
On 01/19/2011 05:20 AM, Jamie Iles wrote:
> Hi,
>
> On Tue, Jan 18, 2011 at 12:41:33PM +0530, Viresh Kumar wrote:
>> --- a/arch/arm/mach-spear3xx/spear3xx.c
>> +++ b/arch/arm/mach-spear3xx/spear3xx.c
>> @@ -523,5 +523,35 @@ struct pmx_dev pmx_plgpio_45_46_49_50 = {
>> .mode_count = ARRAY_SIZE(pmx_plgpio_45_46_49_50_modes),
>> .enb_on_reset = 1,
>> };
>> +#endif /* CONFIG_MACH_SPEAR310 || CONFIG_MACH_SPEAR320 */
>>
>> -#endif
>> +static void __init spear3xx_timer_init(void)
>> +{
>> + char pclk_name[] = "pll3_48m_clk";
>> + struct clk *gpt_clk, *pclk;
>> +
>> + /* get the system timer clock */
>> + gpt_clk = clk_get_sys("gpt0", NULL);
>> + if (!gpt_clk) {
>> + pr_err("%s:couldn't get clk for gpt\n", __func__);
>> + BUG();
>> + }
>> +
>> + /* get the suitable parent clock for timer*/
>> + pclk = clk_get(NULL, pclk_name);
>> + if (!pclk) {
>> + pr_err("%s:couldn't get %s as parent for gpt\n",
>> + __func__, pclk_name);
>> + BUG();
>> + }
>
> These should probably be using IS_ERR() rather than checking against NULL to
> be consistent with the API.
>
Ok.
> [...]
>> diff --git a/arch/arm/mach-spear6xx/spear600_evb.c b/arch/arm/mach-spear6xx/spear600_evb.c
>> index daff8d0..bdd5b76 100644
>> --- a/arch/arm/mach-spear6xx/spear600_evb.c
>> +++ b/arch/arm/mach-spear6xx/spear600_evb.c
>> @@ -42,10 +42,11 @@ static void __init spear600_evb_init(void)
>> amba_device_register(amba_devs[i], &iomem_resource);
>> }
>>
>> +
>
> Nitpick, why the extra newline?
>
Will be removed.
>> MACHINE_START(SPEAR600, "ST-SPEAR600-EVB")
>> .boot_params = 0x00000100,
>> .map_io = spear6xx_map_io,
>> .init_irq = spear6xx_init_irq,
>> - .timer = &spear_sys_timer,
>> + .timer = &spear6xx_timer,
>> .init_machine = spear600_evb_init,
>> MACHINE_END
>> diff --git a/arch/arm/mach-spear6xx/spear6xx.c b/arch/arm/mach-spear6xx/spear6xx.c
>> index f2fe14e..ea4c356 100644
>> --- a/arch/arm/mach-spear6xx/spear6xx.c
>> +++ b/arch/arm/mach-spear6xx/spear6xx.c
>> @@ -155,3 +155,34 @@ void __init spear6xx_map_io(void)
>> /* This will initialize clock framework */
>> clk_init();
>> }
>> +
>> +static void __init spear6xx_timer_init(void)
>> +{
>> + char pclk_name[] = "pll3_48m_clk";
>> + struct clk *gpt_clk, *pclk;
>> +
>> + /* get the system timer clock */
>> + gpt_clk = clk_get_sys("gpt0", NULL);
>> + if (!gpt_clk) {
>> + pr_err("%s:couldn't get clk for gpt\n", __func__);
>> + BUG();
>> + }
>> +
>> + /* get the suitable parent clock for timer*/
>> + pclk = clk_get(NULL, pclk_name);
>> + if (!pclk) {
>> + pr_err("%s:couldn't get %s as parent for gpt\n",
>> + __func__, pclk_name);
>> + BUG();
>> + }
>
> As above, IS_ERR() would be better here.
>
Ok.
--
viresh
More information about the linux-arm-kernel
mailing list