[PATCH v3 1/7] ARM: OMAP2xxx: hwmod: Convert SHAM crypto device data to hwmod

Mark A. Greer mgreer at animalcreek.com
Fri Nov 9 12:07:03 EST 2012


On Fri, Nov 09, 2012 at 06:10:20PM +0200, Kasatkin, Dmitry wrote:
> Hello,

Thanks for your comments, Dmitry.

> On Wed, Nov 7, 2012 at 4:57 AM, Mark A. Greer <mgreer at animalcreek.com> wrote:
> > From: "Mark A. Greer" <mgreer at animalcreek.com>
> >
> > Convert the device data for the OMAP2 SHAM crypto IP from
> > explicit platform_data to hwmod.
> >
> > CC: Paul Walmsley <paul at pwsan.com>
> > Signed-off-by: Mark A. Greer <mgreer at animalcreek.com>
> > ---

> > diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
> > index cba60e0..f18fa50 100644
> > --- a/arch/arm/mach-omap2/devices.c
> > +++ b/arch/arm/mach-omap2/devices.c

> > @@ -501,16 +485,24 @@ static struct platform_device sham_device = {
> >  static void omap_init_sham(void)
> >  {
> >         if (cpu_is_omap24xx()) {
> > -               sham_device.resource = omap2_sham_resources;
> > -               sham_device.num_resources = omap2_sham_resources_sz;
> > +               struct omap_hwmod *oh;
> > +               struct platform_device *pdev;
> > +
> > +               oh = omap_hwmod_lookup("sham");
> > +               if (!oh)
> > +                       return;
> > +
> > +               pdev = omap_device_build("omap-sham", -1, oh, NULL, 0, NULL,
> > +                                        0, 0);
> > +               WARN(IS_ERR(pdev), "Can't build omap_device for omap-sham\n");
> >         } else if (cpu_is_omap34xx()) {
> >                 sham_device.resource = omap3_sham_resources;
> >                 sham_device.num_resources = omap3_sham_resources_sz;
> > +               platform_device_register(&sham_device);
> 
> Why changes are only for OMAP2?
> OMAP3 is also the same class.

This patch is specifically for omap2.
A following patch does the same for omap3.

> > diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
> > index 1a1287d..bb314c5 100644
> > --- a/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
> > +++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
> > @@ -138,6 +138,15 @@ static struct omap_hwmod_addr_space omap2_rng_addr_space[] = {
> >         { }
> >  };
> >
> > +struct omap_hwmod_addr_space omap2xxx_sham_addrs[] = {
> > +       {
> > +               .pa_start       = 0x480a4000,
> > +               .pa_end         = 0x480a4000 + 0x64 - 1,
> > +               .flags          = ADDR_TYPE_RT
> > +       },
> > +       { }
> > +};
> 
> Why not using macros as it was before?
> 
> OMAP24XX_SEC_SHA1MD5_BASE

I am following the precedent set in the existing code of that file
which uses the actual address instead of a macro (except for uart).

I have no preference but I believe that is how Paul prefers it.

Paul?



More information about the linux-arm-kernel mailing list