[PATCH 07/10] crypto: omap-aes - Add Device Tree Support

Mark A. Greer mgreer at animalcreek.com
Mon Jan 7 18:29:50 EST 2013


On Fri, Dec 28, 2012 at 02:06:02AM -0800, Russ Dill wrote:
> On Fri, Dec 21, 2012 at 10:04 AM, Mark A. Greer <mgreer at animalcreek.com> wrote:
> > From: "Mark A. Greer" <mgreer at animalcreek.com>
> >
> > Add Device Tree suport to the omap-aes crypto
> > driver.  Currently, only support for OMAP2 and
> > OMAP3 is being added but support for OMAP4 will
> > be added in a subsequent patch.
> >
> > CC: Dmitry Kasatkin <dmitry.kasatkin at intel.com>
> > Signed-off-by: Mark A. Greer <mgreer at animalcreek.com>
> > ---
> >  drivers/crypto/omap-aes.c | 119 ++++++++++++++++++++++++++++++++++++----------
> >  1 file changed, 93 insertions(+), 26 deletions(-)
> >
> > diff --git a/drivers/crypto/omap-aes.c b/drivers/crypto/omap-aes.c
> > index faf522f..68bf22d 100644
> > --- a/drivers/crypto/omap-aes.c
> > +++ b/drivers/crypto/omap-aes.c
> > @@ -25,6 +25,9 @@
> >  #include <linux/dmaengine.h>
> >  #include <linux/omap-dma.h>
> >  #include <linux/pm_runtime.h>
> > +#include <linux/of.h>
> > +#include <linux/of_device.h>
> > +#include <linux/of_address.h>
> >  #include <linux/io.h>
> >  #include <linux/crypto.h>
> >  #include <linux/interrupt.h>
> > @@ -819,11 +822,93 @@ static struct crypto_alg algs[] = {
> >  }
> >  };
> >
> > +#ifdef CONFIG_OF
> > +static const struct of_device_id omap_aes_of_match[] = {
> > +       {
> > +               .compatible     = "ti,omap2-aes",
> > +       },
> > +       {},
> > +};
> > +MODULE_DEVICE_TABLE(of, omap_aes_of_match);
> 
> I think you mean for the above section to be outside of the '#ifdef
> CONFIG_OF' block.

Yes, I need to rework that.

> > +static int omap_aes_get_res_of(struct omap_aes_dev *dd,
> > +               struct device *dev, struct resource *res)
> > +{
> > +       struct device_node *node = dev->of_node;
> > +       const struct of_device_id *match;
> > +       int err = 0;
> > +
> > +       match = of_match_device(of_match_ptr(omap_aes_of_match), dev);
> > +       if (!match) {
> > +               dev_err(dev, "no compatible OF match\n");
> > +               err = -EINVAL;
> > +               goto err;
> > +       }
> > +
> > +       err = of_address_to_resource(node, 0, res);
> > +       if (err < 0) {
> > +               dev_err(dev, "can't translate OF node address\n");
> > +               err = -EINVAL;
> > +               goto err;
> > +       }
> > +
> > +       dd->dma_out = -1; /* Dummy value that's unused */
> > +       dd->dma_in = -1; /* Dummy value that's unused */
> > +
> > +err:
> > +       return err;
> > +}
> > +#else
> > +static int omap_aes_get_res_dev(struct omap_aes_dev *dd,
> > +               struct device *dev, struct resource *res)
> > +{
> > +       return -EINVAL;
> > +}
> 
> And I think you mean this one to be omap_aes_get_res_of

I do. :(

Thanks Russ. 

Mark
--



More information about the linux-arm-kernel mailing list