Re: [patch v3 1/1] ata: Add iMX pata support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jul 26, 2011 at 12:04:27PM +0200, Arnaud Patard wrote:
> Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> writes:
> 
> > Hi Arnaud,
> 
> Hi,
> >
> > On Sun, Jul 24, 2011 at 08:38:07PM +0200, Arnaud Patard wrote:
> >> Add basic support for pata on iMX. It has been tested only on imx51.
> >> SDMA support will probably be added later so this version supports only
> >> PIO.
> >> 
> >> v2:
> >>   - enable only when needed IORDY
> >>   - use dev_get_drvdata
> >> v3:
> >>   - add missing clk_put() calls
> >>   - use platform_get_irq()
> >>   - fix resume code to avoid disabling IORDY on resume
> >> 
> >> Signed-off-by: Arnaud Patard <arnaud.patard@xxxxxxxxxxx>
> >> Index: linux-2.6-submit/drivers/ata/Kconfig
> >> ===================================================================
> >> --- linux-2.6-submit.orig/drivers/ata/Kconfig	2011-07-22 23:29:06.000000000 +0200
> >> +++ linux-2.6-submit/drivers/ata/Kconfig	2011-07-22 23:30:58.000000000 +0200
> >> @@ -467,6 +467,15 @@ config PATA_ICSIDE
> >>  	  interface card.  This is not required for ICS partition support.
> >>  	  If you are unsure, say N to this.
> >>  
> >> +config PATA_IMX
> >> +	tristate "PATA support for Freescale iMX (Experimental)"
> >> +	depends on ARCH_MX5 && EXPERIMENTAL
> >
> > Should this really depend on EXPERIMENTAL? This driver looks pretty
> > straightforward.
> 
> I've been wondering about it but given that it has been tested only on
> efika platforms, I prefered to keep it. If you think it's better to
> remove it, fine. I'll do it.

Only the efika platform registers the device, so there's no risk to
harm other boards.

> >
> > IS_ERR(priv->clk)
> >
> > (also for the checks below)
> >
> > Does it really make sense to continue when the clock failed?
> 
> if you have uboot version like the one I have, the clock will be already
> enabled before booting linux so the driver will work. Maybe too fragile ?
> I've changed the checks on my local version and about to test it. Let me
> know if you think it should really be a failure, in order to avoid
> having to send a new version only to make it a failure.

Yes, it should be a failure.

> >> +	ap->ioaddr.cmd_addr = devm_ioremap(&pdev->dev,
> >> +					io_res->start + PATA_IMX_DRIVE_DATA,
> >> +					0x20);
> >> +	ap->ioaddr.ctl_addr = devm_ioremap(&pdev->dev,
> >> +					io_res->start + PATA_IMX_DRIVE_CONTROL,
> >> +					0x04);
> >
> > It looks strange to ioremap the register offsets again. Why not just a
> >
> > 	ap->ioaddr.cmd_addr = priv->host_regs + PATA_IMX_DRIVE_DATA
> > 	ap->ioaddr.ctl_addr = priv->host_regs + PATA_IMX_DRIVE_CONTROL
> >
> > Hm, probably copied from the pxa driver, but this uses different
> > resources which makes different ioremaps necessary.
> 
> There are holes in the register map in the manual, that's why I used
> several ioremap. I prefer staying near to what the manual says and avoid
> remapping unknown registers.

Having holes in the register space is a very common case, no need to do
several ioremaps. Besides, ioremap will give you a whole page anyway.

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux