aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_pdc2027x.c
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2006-09-26 12:53:38 -0400
committerJeff Garzik <jeff@garzik.org>2006-09-26 13:34:27 -0400
commitc961922b73dab429a759f560952fd4c3f60bd6b3 (patch)
treecbd6d6424d508fd208ae9992c1cf11b3b8a91fb1 /drivers/ata/pata_pdc2027x.c
parent4735ebedf37731160e3d3efc9fc9d4939c66fefa (diff)
[PATCH] libata-eh: Remove layering violation and duplication when handling absent ports
This removes the layering violation where drivers have to fiddle directly with EH flags. Instead we now recognize -ENOENT means "no port" and do the handling in the core code. This also removes an instance of a call to disable the port, and an identical printk from each driver doing this. Even better - future rule changes will be in one place only. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/pata_pdc2027x.c')
-rw-r--r--drivers/ata/pata_pdc2027x.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/ata/pata_pdc2027x.c b/drivers/ata/pata_pdc2027x.c
index 31ab9c886209..bd4ed6734edc 100644
--- a/drivers/ata/pata_pdc2027x.c
+++ b/drivers/ata/pata_pdc2027x.c
@@ -36,7 +36,7 @@
36#include <asm/io.h> 36#include <asm/io.h>
37 37
38#define DRV_NAME "pata_pdc2027x" 38#define DRV_NAME "pata_pdc2027x"
39#define DRV_VERSION "0.74-ac3" 39#define DRV_VERSION "0.74-ac5"
40#undef PDC_DEBUG 40#undef PDC_DEBUG
41 41
42#ifdef PDC_DEBUG 42#ifdef PDC_DEBUG
@@ -311,10 +311,8 @@ static inline int pdc2027x_port_enabled(struct ata_port *ap)
311static int pdc2027x_prereset(struct ata_port *ap) 311static int pdc2027x_prereset(struct ata_port *ap)
312{ 312{
313 /* Check whether port enabled */ 313 /* Check whether port enabled */
314 if (!pdc2027x_port_enabled(ap)) { 314 if (!pdc2027x_port_enabled(ap))
315 printk(KERN_INFO "ata%u: port disabled. ignoring.\n", ap->id); 315 return -ENOENT;
316 return 0;
317 }
318 pdc2027x_cbl_detect(ap); 316 pdc2027x_cbl_detect(ap);
319 return ata_std_prereset(ap); 317 return ata_std_prereset(ap);
320} 318}