Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 45861
b: refs/heads/master
c: b229a7b
h: refs/heads/master
i:
  45859: 9e33b33
v: v3
  • Loading branch information
Alan authored and Jeff Garzik committed Jan 25, 2007
1 parent 69a7f8b commit f016503
Show file tree
Hide file tree
Showing 8 changed files with 22 additions and 23 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a52865c239b1bc4f62e387509b1ad3415e476ee5
refs/heads/master: b229a7b0aed808f2ef6a5e9dbf78b0f17cefb4d0
6 changes: 4 additions & 2 deletions trunk/drivers/ata/ata_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,15 @@ static void generic_error_handler(struct ata_port *ap)
/**
* generic_set_mode - mode setting
* @ap: interface to set up
* @unused: returned device on error
*
* Use a non standard set_mode function. We don't want to be tuned.
* The BIOS configured everything. Our job is not to fiddle. We
* read the dma enabled bits from the PCI configuration of the device
* and respect them.
*/

static void generic_set_mode(struct ata_port *ap)
static int generic_set_mode(struct ata_port *ap, struct ata_device **unused)
{
int dma_enabled = 0;
int i;
Expand All @@ -82,7 +83,7 @@ static void generic_set_mode(struct ata_port *ap)

for (i = 0; i < ATA_MAX_DEVICES; i++) {
struct ata_device *dev = &ap->device[i];
if (ata_dev_enabled(dev)) {
if (ata_dev_ready(dev)) {
/* We don't really care */
dev->pio_mode = XFER_PIO_0;
dev->dma_mode = XFER_MW_DMA_0;
Expand All @@ -99,6 +100,7 @@ static void generic_set_mode(struct ata_port *ap)
}
}
}
return 0;
}

static struct scsi_host_template generic_sht = {
Expand Down
14 changes: 2 additions & 12 deletions trunk/drivers/ata/libata-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -2431,18 +2431,8 @@ int ata_set_mode(struct ata_port *ap, struct ata_device **r_failed_dev)
int i, rc = 0, used_dma = 0, found = 0;

/* has private set_mode? */
if (ap->ops->set_mode) {
/* FIXME: make ->set_mode handle no device case and
* return error code and failing device on failure.
*/
for (i = 0; i < ATA_MAX_DEVICES; i++) {
if (ata_dev_ready(&ap->device[i])) {
ap->ops->set_mode(ap);
break;
}
}
return 0;
}
if (ap->ops->set_mode)
return ap->ops->set_mode(ap, r_failed_dev);

/* step 1: calculate xfer_mask */
for (i = 0; i < ATA_MAX_DEVICES; i++) {
Expand Down
4 changes: 3 additions & 1 deletion trunk/drivers/ata/pata_it821x.c
Original file line number Diff line number Diff line change
Expand Up @@ -476,14 +476,15 @@ static unsigned int it821x_passthru_qc_issue_prot(struct ata_queued_cmd *qc)
/**
* it821x_smart_set_mode - mode setting
* @ap: interface to set up
* @unused: device that failed (error only)
*
* Use a non standard set_mode function. We don't want to be tuned.
* The BIOS configured everything. Our job is not to fiddle. We
* read the dma enabled bits from the PCI configuration of the device
* and respect them.
*/

static void it821x_smart_set_mode(struct ata_port *ap)
static int it821x_smart_set_mode(struct ata_port *ap, struct ata_device **unused)
{
int dma_enabled = 0;
int i;
Expand Down Expand Up @@ -512,6 +513,7 @@ static void it821x_smart_set_mode(struct ata_port *ap)
}
}
}
return 0;
}

/**
Expand Down
5 changes: 3 additions & 2 deletions trunk/drivers/ata/pata_ixp4xx_cf.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@
#include <scsi/scsi_host.h>

#define DRV_NAME "pata_ixp4xx_cf"
#define DRV_VERSION "0.1.1"
#define DRV_VERSION "0.1.1ac1"

static void ixp4xx_set_mode(struct ata_port *ap)
static int ixp4xx_set_mode(struct ata_port *ap, struct ata_device *adev)
{
int i;

Expand All @@ -38,6 +38,7 @@ static void ixp4xx_set_mode(struct ata_port *ap)
dev->flags |= ATA_DFLAG_PIO;
}
}
return 0;
}

static void ixp4xx_phy_reset(struct ata_port *ap)
Expand Down
4 changes: 3 additions & 1 deletion trunk/drivers/ata/pata_legacy.c
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ static int pio_mask = 0x1F; /* PIO range for autospeed devices */
/**
* legacy_set_mode - mode setting
* @ap: IDE interface
* @unused: Device that failed when error is returned
*
* Use a non standard set_mode function. We don't want to be tuned.
*
Expand All @@ -105,7 +106,7 @@ static int pio_mask = 0x1F; /* PIO range for autospeed devices */
* expand on this as per hdparm in the base kernel.
*/

static void legacy_set_mode(struct ata_port *ap)
static int legacy_set_mode(struct ata_port *ap, struct ata_device **unused)
{
int i;

Expand All @@ -118,6 +119,7 @@ static void legacy_set_mode(struct ata_port *ap)
dev->flags |= ATA_DFLAG_PIO;
}
}
return 0;
}

static struct scsi_host_template legacy_sht = {
Expand Down
6 changes: 4 additions & 2 deletions trunk/drivers/ata/pata_rz1000.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,26 +52,28 @@ static void rz1000_error_handler(struct ata_port *ap)
/**
* rz1000_set_mode - mode setting function
* @ap: ATA interface
* @unused: returned device on set_mode failure
*
* Use a non standard set_mode function. We don't want to be tuned. We
* would prefer to be BIOS generic but for the fact our hardware is
* whacked out.
*/

static void rz1000_set_mode(struct ata_port *ap)
static int rz1000_set_mode(struct ata_port *ap, struct ata_device **unused)
{
int i;

for (i = 0; i < ATA_MAX_DEVICES; i++) {
struct ata_device *dev = &ap->device[i];
if (ata_dev_enabled(dev)) {
if (ata_dev_ready(dev)) {
/* We don't really care */
dev->pio_mode = XFER_PIO_0;
dev->xfer_mode = XFER_PIO_0;
dev->xfer_shift = ATA_SHIFT_PIO;
dev->flags |= ATA_DFLAG_PIO;
}
}
return 0;
}


Expand Down
4 changes: 2 additions & 2 deletions trunk/include/linux/libata.h
Original file line number Diff line number Diff line change
Expand Up @@ -612,11 +612,11 @@ struct ata_port_operations {
void (*dev_select)(struct ata_port *ap, unsigned int device);

void (*phy_reset) (struct ata_port *ap); /* obsolete */
void (*set_mode) (struct ata_port *ap);
int (*set_mode) (struct ata_port *ap, struct ata_device **r_failed_dev);

void (*post_set_mode) (struct ata_port *ap);

int (*check_atapi_dma) (struct ata_queued_cmd *qc);
int (*check_atapi_dma) (struct ata_queued_cmd *qc);

void (*bmdma_setup) (struct ata_queued_cmd *qc);
void (*bmdma_start) (struct ata_queued_cmd *qc);
Expand Down

0 comments on commit f016503

Please sign in to comment.