From 67717e224181527987cce800fa2ddb5c8c1e9315 Mon Sep 17 00:00:00 2001
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Date: Wed, 16 Jul 2008 20:33:44 +0200
Subject: [PATCH] icside: always try to probe first interface

Try to probe first interface even if ide_hwifs[]'s slot for the second
interface cannot be obtained.

While at it:

- Add DRV_NAME define and use it for request_dma() instead of hwif->name.

Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
 drivers/ide/arm/icside.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/drivers/ide/arm/icside.c b/drivers/ide/arm/icside.c
index c8d860060329..52f58c885783 100644
--- a/drivers/ide/arm/icside.c
+++ b/drivers/ide/arm/icside.c
@@ -21,6 +21,8 @@
 #include <asm/dma.h>
 #include <asm/ecard.h>
 
+#define DRV_NAME "icside"
+
 #define ICS_IDENT_OFFSET		0x2280
 
 #define ICS_ARCIN_V5_INTRSTAT		0x0000
@@ -546,27 +548,27 @@ icside_register_v6(struct icside_state *state, struct expansion_card *ec)
 	ide_init_port_hw(hwif, &hw[0]);
 	default_hwif_mmiops(hwif);
 
+	idx[0] = hwif->index;
+
 	mate = ide_find_port();
-	if (mate == NULL)
-		return -ENODEV;
+	if (mate) {
+		ide_init_port_hw(mate, &hw[1]);
+		default_hwif_mmiops(mate);
 
-	ide_init_port_hw(mate, &hw[1]);
-	default_hwif_mmiops(mate);
+		idx[1] = mate->index;
+	}
 
 	state->hwif[0]    = hwif;
 	state->hwif[1]    = mate;
 
 	ecard_set_drvdata(ec, state);
 
-	if (ec->dma != NO_DMA && !request_dma(ec->dma, hwif->name)) {
+	if (ec->dma != NO_DMA && !request_dma(ec->dma, DRV_NAME)) {
 		d.init_dma = icside_dma_init;
 		d.port_ops = &icside_v6_port_ops;
 		d.dma_ops = NULL;
 	}
 
-	idx[0] = hwif->index;
-	idx[1] = mate->index;
-
 	ide_device_add(idx, &d);
 
 	return 0;
-- 
2.30.9