[PATCH] Allow use platform_ide driver without ALT-registers

Sascha Hauer s.hauer at pengutronix.de
Wed Apr 18 14:43:51 EDT 2012


On Wed, Apr 18, 2012 at 10:25:10PM +0400, Alexander Shiyan wrote:
> 
> Signed-off-by: Alexander Shiyan <shc_work at mail.ru>

Applied, thanks

Sascha

> ---
>  drivers/ata/intf_platform_ide.c |   12 +++++++++---
>  1 files changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/ata/intf_platform_ide.c b/drivers/ata/intf_platform_ide.c
> index 1955a9c..af20e05 100644
> --- a/drivers/ata/intf_platform_ide.c
> +++ b/drivers/ata/intf_platform_ide.c
> @@ -64,10 +64,16 @@ static void platform_ide_setup_port(void *reg_base, void *alt_base,
>  	ioaddr->status_addr = reg_base + (IDE_REG_STATUS << shift);
>  	ioaddr->command_addr = reg_base + (IDE_REG_CMD << shift);
>  
> -	ioaddr->altstatus_addr = alt_base + (IDE_REG_ALT_STATUS << shift);
> -	ioaddr->ctl_addr = alt_base + (IDE_REG_DEV_CTL << shift);
> -
> -	ioaddr->alt_dev_addr = alt_base + (IDE_REG_DRV_ADDR << shift);
> +	if (alt_base) {
> +		ioaddr->altstatus_addr = alt_base + (IDE_REG_ALT_STATUS << shift);
> +		ioaddr->ctl_addr = alt_base + (IDE_REG_DEV_CTL << shift);
> +
> +		ioaddr->alt_dev_addr = alt_base + (IDE_REG_DRV_ADDR << shift);
> +	} else {
> +		ioaddr->altstatus_addr = ioaddr->status_addr;
> +		ioaddr->ctl_addr = ioaddr->status_addr;
> +		/* ioaddr->alt_dev_addr not used in driver */
> +	}
>  }
>  
>  static int platform_ide_probe(struct device_d *dev)
> -- 
> 1.7.3.4
> 
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
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 |



More information about the barebox mailing list