diff options
| author | Michael Brown | 2006-06-01 13:14:59 +0200 |
|---|---|---|
| committer | Michael Brown | 2006-06-01 13:14:59 +0200 |
| commit | 1f394c2f7c81df27b39c3f76715427398625b048 (patch) | |
| tree | 23b8c3219c291e8698f325815bbf3ffa38a669ba /src | |
| parent | Until we have a functioning UDP stack and PXE API again, there's not much (diff) | |
| download | ipxe-1f394c2f7c81df27b39c3f76715427398625b048.tar.gz ipxe-1f394c2f7c81df27b39c3f76715427398625b048.tar.xz ipxe-1f394c2f7c81df27b39c3f76715427398625b048.zip | |
Backing out last change; no immediate plans to make the whole block-device
layer asynchronous, so keeping the sync/async boundary within aoedev.c
seems cleanest for now.
Diffstat (limited to 'src')
| -rw-r--r-- | src/drivers/ata/aoedev.c | 9 | ||||
| -rw-r--r-- | src/drivers/block/ata.c | 3 | ||||
| -rw-r--r-- | src/include/gpxe/ata.h | 8 |
3 files changed, 9 insertions, 11 deletions
diff --git a/src/drivers/ata/aoedev.c b/src/drivers/ata/aoedev.c index 4b4541f66..9679fc1bd 100644 --- a/src/drivers/ata/aoedev.c +++ b/src/drivers/ata/aoedev.c @@ -30,14 +30,15 @@ * * @v ata ATA device * @v command ATA command - * @ret aop Asynchronous operation + * @ret rc Return status code */ -static struct async_operation * aoe_command ( struct ata_device *ata, - struct ata_command *command ) { +static int aoe_command ( struct ata_device *ata, + struct ata_command *command ) { struct aoe_device *aoedev = container_of ( ata, struct aoe_device, ata ); - return aoe_issue ( &aoedev->aoe, command ); + aoe_issue ( &aoedev->aoe, command ); + return async_wait ( &aoedev->aoe.aop ); } /** diff --git a/src/drivers/block/ata.c b/src/drivers/block/ata.c index d2d77aeac..e0df3673f 100644 --- a/src/drivers/block/ata.c +++ b/src/drivers/block/ata.c @@ -20,7 +20,6 @@ #include <string.h> #include <assert.h> #include <byteswap.h> -#include <gpxe/async.h> #include <gpxe/blockdev.h> #include <gpxe/ata.h> @@ -49,7 +48,7 @@ ata_command ( struct ata_device *ata, struct ata_command *command ) { ( unsigned long long ) command->cb.lba.native, command->cb.count.native ); - return async_wait ( ata->command ( ata, command ) ); + return ata->command ( ata, command ); } /** diff --git a/src/include/gpxe/ata.h b/src/include/gpxe/ata.h index 7b348d822..e0fca7afe 100644 --- a/src/include/gpxe/ata.h +++ b/src/include/gpxe/ata.h @@ -11,8 +11,6 @@ * */ -struct async_operation; - /** * An ATA Logical Block Address * @@ -193,10 +191,10 @@ struct ata_device { * * @v ata ATA device * @v command ATA command - * @ret aop Asynchronous operation + * @ret rc Return status code */ - struct async_operation * ( * command ) ( struct ata_device *ata, - struct ata_command *command ); + int ( * command ) ( struct ata_device *ata, + struct ata_command *command ); }; extern int init_atadev ( struct ata_device *ata ); |
