[PATCH v2 02/11] msm: Generalize timer register mappings

Daniel Walker dwalker at codeaurora.org
Mon Jan 24 17:57:56 EST 2011


On Mon, 2011-01-24 at 14:44 -0800, David Brown wrote:
> On Mon, Jan 24 2011, Daniel Walker wrote:
> 
> > On Wed, 2011-01-19 at 12:25 -0800, David Brown wrote:
> >> +       int global_offset = 0;
> >> +
> >> +       if (cpu_is_msm7x01()) {
> >> +               msm_clocks[MSM_CLOCK_GPT].regbase = MSM_CSR_BASE;
> >> +               msm_clocks[MSM_CLOCK_DGT].regbase = MSM_CSR_BASE + 0x10;
> >> +       } else if (cpu_is_msm7x30()) {
> >> +               msm_clocks[MSM_CLOCK_GPT].regbase = MSM_CSR_BASE + 0x04;
> >> +               msm_clocks[MSM_CLOCK_DGT].regbase = MSM_CSR_BASE + 0x24;
> >> +       } else if (cpu_is_qsd8x50()) {
> >> +               msm_clocks[MSM_CLOCK_GPT].regbase = MSM_CSR_BASE;
> >> +               msm_clocks[MSM_CLOCK_DGT].regbase = MSM_CSR_BASE + 0x10;
> >> +       } else if (cpu_is_msm8x60()) {
> >> +               msm_clocks[MSM_CLOCK_GPT].regbase = MSM_TMR_BASE + 0x04;
> >> +               msm_clocks[MSM_CLOCK_DGT].regbase = MSM_TMR_BASE + 0x24;
> >> +
> >> +               /* Use CPU0's timer as the global timer. */
> >> +               global_offset = MSM_TMR0_BASE - MSM_TMR_BASE;
> >> +       } else
> >> +               BUG(); 
> >
> > Ifdef's here would be OK I think, your already using the "runtime"
> > checks ..
> 
> The point of the change is to get rid of the ifdefs so that we can
> dynamically detect which target we are on.  Yes, there are other places
> where it doesn't work, but we'll get there gradually.

I'm not suggesting you do something you can't do right now ..

For instance you could make,

#define MSM_MSM7XXX_DGT_BASE          (MSM_TMR_BASE + 0x10)

and use that instead of what you have above.

Daniel

-- 

Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.




More information about the linux-arm-kernel mailing list