david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

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.
This commit is contained in:
Michael Brown 2006-06-01 11:14:59 +00:00
parent d6866202f9
commit 1f394c2f7c
3 changed files with 9 additions and 11 deletions

View File

@ -30,14 +30,15 @@
* *
* @v ata ATA device * @v ata ATA device
* @v command ATA command * @v command ATA command
* @ret aop Asynchronous operation * @ret rc Return status code
*/ */
static struct async_operation * aoe_command ( struct ata_device *ata, static int aoe_command ( struct ata_device *ata,
struct ata_command *command ) { struct ata_command *command ) {
struct aoe_device *aoedev struct aoe_device *aoedev
= container_of ( ata, struct aoe_device, ata ); = container_of ( ata, struct aoe_device, ata );
return aoe_issue ( &aoedev->aoe, command ); aoe_issue ( &aoedev->aoe, command );
return async_wait ( &aoedev->aoe.aop );
} }
/** /**

View File

@ -20,7 +20,6 @@
#include <string.h> #include <string.h>
#include <assert.h> #include <assert.h>
#include <byteswap.h> #include <byteswap.h>
#include <gpxe/async.h>
#include <gpxe/blockdev.h> #include <gpxe/blockdev.h>
#include <gpxe/ata.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, ( unsigned long long ) command->cb.lba.native,
command->cb.count.native ); command->cb.count.native );
return async_wait ( ata->command ( ata, command ) ); return ata->command ( ata, command );
} }
/** /**

View File

@ -11,8 +11,6 @@
* *
*/ */
struct async_operation;
/** /**
* An ATA Logical Block Address * An ATA Logical Block Address
* *
@ -193,10 +191,10 @@ struct ata_device {
* *
* @v ata ATA device * @v ata ATA device
* @v command ATA command * @v command ATA command
* @ret aop Asynchronous operation * @ret rc Return status code
*/ */
struct async_operation * ( * command ) ( struct ata_device *ata, int ( * command ) ( struct ata_device *ata,
struct ata_command *command ); struct ata_command *command );
}; };
extern int init_atadev ( struct ata_device *ata ); extern int init_atadev ( struct ata_device *ata );