On Tuesday 16 December 2008 00:40:59 Tony Lindgren wrote:
> * Jean Pihet <[email protected]> [081211 09:02]:
> > Hi,
> >
> > Here is a patch to have the OMAP2 OneNAND driver compile on the latest
> > tree. I do not know if this has been addressed already, here is a patch.
>
> Looks like I already applied similar fixes. These are queued up for
> mainline too BTW.
Ok. My patch also changes the request and free omap calls to the standard 
version. I can generate a new patch if needed.

Regards,
Jean.

>
> Regards,
>
> Tony
>
> > Regards,
> > Jean
> >
> >
> >
> > From f95826f916cde9c0d0da79e006f090bc69112a1e Mon Sep 17 00:00:00 2001
> > From: Jean Pihet <[email protected]>
> > Date: Thu, 11 Dec 2008 17:48:31 +0100
> > Subject: [PATCH] ARM: OMAP: use GPIO standard in OneNAND driver
> >
> > This patch replaces some legacy OMAP GPIO calls with the standard
> > calls that work on most platforms.
> >
> > Tested on OMAP3 EVM board.
> >
> > Signed-off-by: Jean Pihet <[email protected]>
> > ---
> >  drivers/mtd/onenand/omap2.c |   13 +++++++------
> >  1 files changed, 7 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c
> > index 762623f..f223303 100644
> > --- a/drivers/mtd/onenand/omap2.c
> > +++ b/drivers/mtd/onenand/omap2.c
> > @@ -34,11 +34,11 @@
> >  #include <linux/delay.h>
> >  #include <linux/dma-mapping.h>
> >  #include <linux/io.h>
> > +#include <linux/gpio.h>
> >
> >  #include <asm/mach/flash.h>
> >  #include <mach/gpmc.h>
> >  #include <mach/onenand.h>
> > -#include <mach/gpio.h>
> >  #include <mach/pm.h>
> >
> >  #include <mach/dma.h>
> > @@ -149,7 +149,7 @@ static int omap2_onenand_wait(struct mtd_info *mtd,
> > int state)
> >
> >                 INIT_COMPLETION(c->irq_done);
> >                 if (c->gpio_irq) {
> > -                       result = omap_get_gpio_datain(c->gpio_irq);
> > +                       result = gpio_get_value(c->gpio_irq);
> >                         if (result == -1) {
> >                                 ctrl = read_reg(c,
> > ONENAND_REG_CTRL_STATUS); intr = read_reg(c, ONENAND_REG_INTERRUPT); @@
> > -629,12 +629,13 @@ static int __devinit omap2_onenand_probe(struct
> > platform_device *pdev)
> >         }
> >
> >         if (c->gpio_irq) {
> > -               if ((r = omap_request_gpio(c->gpio_irq)) < 0) {
> > +               r = gpio_request(c->gpio_irq, "OneNAND Irq");
> > +               if (r < 0) {
> >                         dev_err(&pdev->dev,  "Failed to request GPIO%d
> > for " "OneNAND\n", c->gpio_irq);
> >                         goto err_iounmap;
> >         }
> > -       omap_set_gpio_direction(c->gpio_irq, 1);
> > +       gpio_direction_input(c->gpio_irq);
> >
> >         if ((r = request_irq(gpio_to_irq(c->gpio_irq),
> >                              omap2_onenand_interrupt,
> > IRQF_TRIGGER_RISING, @@ -726,7 +727,7 @@ err_release_dma:
> >                 free_irq(gpio_to_irq(c->gpio_irq), c);
> >  err_release_gpio:
> >         if (c->gpio_irq)
> > -               omap_free_gpio(c->gpio_irq);
> > +               gpio_free(c->gpio_irq);
> >  err_iounmap:
> >         iounmap(c->onenand.base);
> >  err_release_mem_region:
> > @@ -761,7 +762,7 @@ static int __devexit omap2_onenand_remove(struct
> > platform_device *pdev)
> >         platform_set_drvdata(pdev, NULL);
> >         if (c->gpio_irq) {
> >                 free_irq(gpio_to_irq(c->gpio_irq), c);
> > -               omap_free_gpio(c->gpio_irq);
> > +               gpio_free(c->gpio_irq);
> >         }
> >         iounmap(c->onenand.base);
> >         release_mem_region(c->phys_base, ONENAND_IO_SIZE);
> > --
> > 1.5.4.4.21.gc4a6c
> >
> > From f95826f916cde9c0d0da79e006f090bc69112a1e Mon Sep 17 00:00:00 2001
> > From: Jean Pihet <[email protected]>
> > Date: Thu, 11 Dec 2008 17:48:31 +0100
> > Subject: [PATCH] ARM: OMAP: use GPIO standard in OneNAND driver
> >
> > This patch replaces some legacy OMAP GPIO calls with the standard
> > calls that work on most platforms.
> >
> > Tested on OMAP3 EVM board.
> >
> > Signed-off-by: Jean Pihet <[email protected]>
> > ---
> >  drivers/mtd/onenand/omap2.c |   13 +++++++------
> >  1 files changed, 7 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c
> > index 762623f..f223303 100644
> > --- a/drivers/mtd/onenand/omap2.c
> > +++ b/drivers/mtd/onenand/omap2.c
> > @@ -34,11 +34,11 @@
> >  #include <linux/delay.h>
> >  #include <linux/dma-mapping.h>
> >  #include <linux/io.h>
> > +#include <linux/gpio.h>
> >
> >  #include <asm/mach/flash.h>
> >  #include <mach/gpmc.h>
> >  #include <mach/onenand.h>
> > -#include <mach/gpio.h>
> >  #include <mach/pm.h>
> >
> >  #include <mach/dma.h>
> > @@ -149,7 +149,7 @@ static int omap2_onenand_wait(struct mtd_info *mtd,
> > int state)
> >
> >             INIT_COMPLETION(c->irq_done);
> >             if (c->gpio_irq) {
> > -                   result = omap_get_gpio_datain(c->gpio_irq);
> > +                   result = gpio_get_value(c->gpio_irq);
> >                     if (result == -1) {
> >                             ctrl = read_reg(c, ONENAND_REG_CTRL_STATUS);
> >                             intr = read_reg(c, ONENAND_REG_INTERRUPT);
> > @@ -629,12 +629,13 @@ static int __devinit omap2_onenand_probe(struct
> > platform_device *pdev) }
> >
> >     if (c->gpio_irq) {
> > -           if ((r = omap_request_gpio(c->gpio_irq)) < 0) {
> > +           r = gpio_request(c->gpio_irq, "OneNAND Irq");
> > +           if (r < 0) {
> >                     dev_err(&pdev->dev,  "Failed to request GPIO%d for "
> >                             "OneNAND\n", c->gpio_irq);
> >                     goto err_iounmap;
> >     }
> > -   omap_set_gpio_direction(c->gpio_irq, 1);
> > +   gpio_direction_input(c->gpio_irq);
> >
> >     if ((r = request_irq(gpio_to_irq(c->gpio_irq),
> >                          omap2_onenand_interrupt, IRQF_TRIGGER_RISING,
> > @@ -726,7 +727,7 @@ err_release_dma:
> >             free_irq(gpio_to_irq(c->gpio_irq), c);
> >  err_release_gpio:
> >     if (c->gpio_irq)
> > -           omap_free_gpio(c->gpio_irq);
> > +           gpio_free(c->gpio_irq);
> >  err_iounmap:
> >     iounmap(c->onenand.base);
> >  err_release_mem_region:
> > @@ -761,7 +762,7 @@ static int __devexit omap2_onenand_remove(struct
> > platform_device *pdev) platform_set_drvdata(pdev, NULL);
> >     if (c->gpio_irq) {
> >             free_irq(gpio_to_irq(c->gpio_irq), c);
> > -           omap_free_gpio(c->gpio_irq);
> > +           gpio_free(c->gpio_irq);
> >     }
> >     iounmap(c->onenand.base);
> >     release_mem_region(c->phys_base, ONENAND_IO_SIZE);
> > --
> > 1.5.4.4.21.gc4a6c


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to