[PATCH 6/9] ARM: imx: define gpt register offset per device type

Shawn Guo shawnguo at kernel.org
Tue May 19 01:09:24 PDT 2015


On Fri, May 15, 2015 at 10:34:03AM +0200, Arnd Bergmann wrote:
> On Friday 15 May 2015 16:11:44 shawnguo at kernel.org wrote:
> >  {
> >         switch (imxtm.type) {
> >         case GPT_TYPE_IMX1:
> > +               imxtm.reg_tstat = MX1_2_TSTAT;
> > +               imxtm.reg_tcn = MX1_2_TCN;
> > +               imxtm.reg_tcmp = MX1_2_TCMP;
> >                 imxtm.gpt_setup_tctl = imx1_gpt_setup_tctl;
> >                 clockevent_mxc.set_next_event = mx1_2_set_next_event;
> >                 break;
> >         case GPT_TYPE_IMX21:
> > +               imxtm.reg_tstat = MX1_2_TSTAT;
> > +               imxtm.reg_tcn = MX1_2_TCN;
> > +               imxtm.reg_tcmp = MX1_2_TCMP;
> >                 imxtm.gpt_setup_tctl = imx21_gpt_setup_tctl;
> >                 clockevent_mxc.set_next_event = mx1_2_set_next_event;
> >                 break;
> >         case GPT_TYPE_IMX31:
> > +               imxtm.reg_tstat = V2_TSTAT;
> > +               imxtm.reg_tcn = V2_TCN;
> > +               imxtm.reg_tcmp = V2_TCMP;
> >                 imxtm.gpt_setup_tctl = imx31_gpt_setup_tctl;
> >                 clockevent_mxc.set_next_event = v2_set_next_event;
> >                 break;
> >         case GPT_TYPE_IMX6DL:
> > +               imxtm.reg_tstat = V2_TSTAT;
> > +               imxtm.reg_tcn = V2_TCN;
> > +               imxtm.reg_tcmp = V2_TCMP;
> >                 imxtm.gpt_setup_tctl = imx6dl_gpt_setup_tctl;
> >                 clockevent_mxc.set_next_event = v2_set_next_event;
> >                 break;
> > 
> 
> Hi Shawn,
> 
> I think this could be expressed in a nicer way by defining a structure
> that contains all the settings you derive from the type here, and then
> setting a pointer to that structure based on the compatible string.

Yeah, good suggestion.  Will change.

Shawn



More information about the linux-arm-kernel mailing list