From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from fllnx210.ext.ti.com ([198.47.19.17]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1eEu3a-0007TC-8d for linux-mtd@lists.infradead.org; Wed, 15 Nov 2017 09:32:32 +0000 Subject: Re: [PATCH v4 11/16] mtd: onenand: omap2: Do not make delay for GPIO OMAP3 specific To: Ladislav Michl , , CC: Tony Lindgren , Peter Ujfalusi , Boris Brezillon , Kyungmin Park References: <20171111211206.465pgorrjp3eyix6@lenoch> <20171111212406.lgqpj57o4ckxbx4i@lenoch> From: Roger Quadros Message-ID: Date: Wed, 15 Nov 2017 11:31:54 +0200 MIME-Version: 1.0 In-Reply-To: <20171111212406.lgqpj57o4ckxbx4i@lenoch> Content-Type: text/plain; charset="utf-8" Content-Language: en-GB Content-Transfer-Encoding: 7bit List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On 11/11/17 23:24, Ladislav Michl wrote: > Second commit in driver history (782b7a367d81: "[MTD] [OneNAND] OMAP3: > add delay for GPIO") added quirk for waiting until GPIO line settle. > As DMA was disabled for OMAP2 boards, chances are this problem was > not OMAP3 specific and as it is just one register read, previous > test for SoC type is approximately as expensive as read itself. > Make delay unconditional, which allows removing SoC specific code > alltogether. > > Signed-off-by: Ladislav Michl Acked-by: Roger Quadros > --- > Changes: > -v3: new patch > -v4: none > > drivers/mtd/onenand/omap2.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c > index c9ff67100ef4..e4857a41760d 100644 > --- a/drivers/mtd/onenand/omap2.c > +++ b/drivers/mtd/onenand/omap2.c > @@ -57,7 +57,6 @@ struct omap2_onenand { > struct dma_chan *dma_chan; > int freq; > int (*setup)(void __iomem *base, int *freq_ptr); > - u8 flags; > }; > > static void omap2_onenand_dma_complete_func(void *completion) > @@ -148,9 +147,8 @@ static int omap2_onenand_wait(struct mtd_info *mtd, int state) > if (!(syscfg & ONENAND_SYS_CFG1_IOBE)) { > syscfg |= ONENAND_SYS_CFG1_IOBE; > write_reg(c, syscfg, ONENAND_REG_SYS_CFG1); > - if (c->flags & ONENAND_IN_OMAP34XX) > - /* Add a delay to let GPIO settle */ > - syscfg = read_reg(c, ONENAND_REG_SYS_CFG1); > + /* Add a delay to let GPIO settle */ > + syscfg = read_reg(c, ONENAND_REG_SYS_CFG1); > } > > reinit_completion(&c->irq_done); > @@ -470,7 +468,6 @@ static int omap2_onenand_probe(struct platform_device *pdev) > > init_completion(&c->irq_done); > init_completion(&c->dma_done); > - c->flags = pdata->flags; > c->gpmc_cs = pdata->cs; > c->gpio_irq = pdata->gpio_irq; > if (pdata->dma_channel < 0) { > -- cheers, -roger Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki