summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2010-01-19 09:10:03 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2010-01-19 09:10:03 +0000
commit5c587596f09da0c52528bcb6a0c3726fcd2cfb07 (patch)
treef3cf6cc9b9cea5f8313e673dc6e8f17b1f928c02 /c
parentupdates and new test cases (diff)
downloadrtems-5c587596f09da0c52528bcb6a0c3726fcd2cfb07.tar.bz2
libblock API update
Diffstat (limited to 'c')
-rw-r--r--c/src/libchip/i2c/spi-sd-card.c8
-rw-r--r--c/src/libchip/ide/ata.c40
-rw-r--r--c/src/libchip/ide/ata_internal.h6
-rw-r--r--c/src/wrapup/Makefile.am1
4 files changed, 24 insertions, 31 deletions
diff --git a/c/src/libchip/i2c/spi-sd-card.c b/c/src/libchip/i2c/spi-sd-card.c
index 291d96b4a8..11380952d7 100644
--- a/c/src/libchip/i2c/spi-sd-card.c
+++ b/c/src/libchip/i2c/spi-sd-card.c
@@ -1005,7 +1005,7 @@ static int sd_card_disk_block_read( sd_card_driver_entry *e, rtems_blkdev_reques
RTEMS_CHECK_SC_RV( sc, "Stop");
/* Done */
- r->req_done( r->done_arg, RTEMS_SUCCESSFUL, 0);
+ r->req_done( r->done_arg, RTEMS_SUCCESSFUL);
return 0;
@@ -1020,7 +1020,7 @@ sd_card_disk_block_read_cleanup:
sd_card_stop( e);
/* Done */
- r->req_done( r->done_arg, RTEMS_IO_ERROR, 0);
+ r->req_done( r->done_arg, RTEMS_IO_ERROR);
return rv;
}
@@ -1094,7 +1094,7 @@ static int sd_card_disk_block_write( sd_card_driver_entry *e, rtems_blkdev_reque
RTEMS_CHECK_SC_RV( sc, "Stop");
/* Done */
- r->req_done( r->done_arg, RTEMS_SUCCESSFUL, 0);
+ r->req_done( r->done_arg, RTEMS_SUCCESSFUL);
return 0;
@@ -1113,7 +1113,7 @@ sd_card_disk_block_write_cleanup:
sd_card_stop( e);
/* Done */
- r->req_done( r->done_arg, RTEMS_IO_ERROR, 0);
+ r->req_done( r->done_arg, RTEMS_IO_ERROR);
return rv;
}
diff --git a/c/src/libchip/ide/ata.c b/c/src/libchip/ide/ata.c
index 6a12c4efa0..e1fdd58b9d 100644
--- a/c/src/libchip/ide/ata.c
+++ b/c/src/libchip/ide/ata.c
@@ -546,7 +546,7 @@ ata_process_request(rtems_device_minor_number ctrl_minor)
*/
static inline void
ata_request_done(ata_req_t *areq, rtems_device_minor_number ctrl_minor,
- rtems_status_code status, int error)
+ rtems_status_code status)
{
assert(areq);
@@ -554,7 +554,7 @@ ata_request_done(ata_req_t *areq, rtems_device_minor_number ctrl_minor,
ata_printf("ata_request_done: entry\n");
#endif
- ATA_EXEC_CALLBACK(areq, status, error);
+ ATA_EXEC_CALLBACK(areq, status);
rtems_chain_extract(&areq->link);
if (!rtems_chain_is_empty(&ata_ide_ctrls[ctrl_minor].reqs))
@@ -586,14 +586,14 @@ ata_request_done(ata_req_t *areq, rtems_device_minor_number ctrl_minor,
static inline void
ata_non_data_request_done(ata_req_t *areq,
rtems_device_minor_number ctrl_minor,
- rtems_status_code status, int error)
+ rtems_status_code status, int info)
{
#if ATA_DEBUG
ata_printf("ata_non_data_request_done: entry\n");
#endif
areq->status = status;
- areq->error = error;
+ areq->info = info;
rtems_semaphore_release(areq->sema);
}
@@ -784,7 +784,7 @@ ata_pio_in_protocol(rtems_device_minor_number ctrl_minor, ata_req_t *areq)
if (areq->cnt == 0)
{
- ata_request_done(areq, ctrl_minor, RTEMS_SUCCESSFUL, RTEMS_SUCCESSFUL);
+ ata_request_done(areq, ctrl_minor, RTEMS_SUCCESSFUL);
}
else if (IDE_Controller_Table[ctrl_minor].int_driven == false)
{
@@ -822,7 +822,7 @@ ata_pio_out_protocol(rtems_device_minor_number ctrl_minor, ata_req_t *areq)
if (areq->cnt == 0)
{
- ata_request_done(areq, ctrl_minor, RTEMS_SUCCESSFUL, RTEMS_SUCCESSFUL);
+ ata_request_done(areq, ctrl_minor, RTEMS_SUCCESSFUL);
}
else
{
@@ -909,8 +909,7 @@ ata_queue_task(rtems_task_argument arg)
* status and start processing of the next request in the
* controller queue
*/
- ata_request_done(areq, ctrl_minor, RTEMS_SUCCESSFUL,
- msg.error);
+ ata_request_done(areq, ctrl_minor, RTEMS_SUCCESSFUL);
break;
case ATA_MSG_ERROR_EVT:
@@ -919,8 +918,7 @@ ata_queue_task(rtems_task_argument arg)
* status and start processing of the next request in the
* controller queue
*/
- ata_request_done(areq, ctrl_minor, RTEMS_UNSATISFIED,
- msg.error);
+ ata_request_done(areq, ctrl_minor, RTEMS_IO_ERROR);
break;
case ATA_MSG_GEN_EVT:
@@ -948,8 +946,7 @@ ata_queue_task(rtems_task_argument arg)
RTEMS_UNSATISFIED,
RTEMS_IO_ERROR);
else
- ata_request_done(areq, ctrl_minor, RTEMS_UNSATISFIED,
- RTEMS_IO_ERROR);
+ ata_request_done(areq, ctrl_minor, RTEMS_IO_ERROR);
break;
}
}
@@ -977,9 +974,7 @@ ata_queue_task(rtems_task_argument arg)
#if ATA_DEBUG
ata_printf("ata_queue_task: non-supported command type\n");
#endif
- ata_request_done(areq, ctrl_minor,
- RTEMS_UNSATISFIED,
- RTEMS_NOT_IMPLEMENTED);
+ ata_request_done(areq, ctrl_minor, RTEMS_IO_ERROR);
break;
}
break;
@@ -1315,19 +1310,19 @@ rtems_ata_initialize(rtems_device_major_number major,
if (breq.req.status == RTEMS_SUCCESSFUL)
{
/* disassemble returned diagnostic codes */
- if (breq.req.error == ATA_DEV0_PASSED_DEV1_PASSED_OR_NOT_PRSNT)
+ if (areq.info == ATA_DEV0_PASSED_DEV1_PASSED_OR_NOT_PRSNT)
{
printk("ATA: ctrl:%d: primary, secondary\n", ctrl_minor);
ATA_DEV_INFO(ctrl_minor,0).present = true;
ATA_DEV_INFO(ctrl_minor,1).present = true;
}
- else if (breq.req.error == ATA_DEV0_PASSED_DEV1_FAILED)
+ else if (areq.info == ATA_DEV0_PASSED_DEV1_FAILED)
{
printk("ATA: ctrl:%d: primary\n", ctrl_minor);
ATA_DEV_INFO(ctrl_minor,0).present = true;
ATA_DEV_INFO(ctrl_minor,1).present = false;
}
- else if (breq.req.error < ATA_DEV1_PASSED_DEV0_FAILED)
+ else if (areq.info < ATA_DEV1_PASSED_DEV0_FAILED)
{
printk("ATA: ctrl:%d: secondary\n", ctrl_minor);
ATA_DEV_INFO(ctrl_minor,0).present = false;
@@ -1521,7 +1516,6 @@ ata_process_request_on_init_phase(rtems_device_minor_number ctrl_minor,
if ( 10000 == retries ) {
/* probably no drive connected */
areq->breq->status = RTEMS_UNSATISFIED;
- areq->breq->error = RTEMS_IO_ERROR;
return;
}
}
@@ -1545,8 +1539,7 @@ ata_process_request_on_init_phase(rtems_device_minor_number ctrl_minor,
if (val & IDE_REGISTER_STATUS_ERR)
{
- areq->breq->status = RTEMS_UNSATISFIED;
- areq->breq->error = RTEMS_IO_ERROR;
+ areq->breq->status = RTEMS_IO_ERROR;
return;
}
@@ -1579,15 +1572,14 @@ ata_process_request_on_init_phase(rtems_device_minor_number ctrl_minor,
case ATA_COMMAND_TYPE_NON_DATA:
areq->breq->status = RTEMS_SUCCESSFUL;
- areq->breq->error = val1;
+ areq->info = val1;
break;
default:
#if ATA_DEBUG
ata_printf("ata_queue_task: non-supported command type\n");
#endif
- areq->breq->status = RTEMS_UNSATISFIED;
- areq->breq->error = RTEMS_NOT_IMPLEMENTED;
+ areq->breq->status = RTEMS_IO_ERROR;
break;
}
}
diff --git a/c/src/libchip/ide/ata_internal.h b/c/src/libchip/ide/ata_internal.h
index 99f98618b7..d0f5ccdeea 100644
--- a/c/src/libchip/ide/ata_internal.h
+++ b/c/src/libchip/ide/ata_internal.h
@@ -210,14 +210,14 @@ typedef struct ata_req_s {
* processing of the ata request is required
*/
rtems_status_code status; /* status of ata request processing */
- int error; /* device error code */
+ int info; /* device info code */
} ata_req_t;
/* call callback provided by block device request if it is defined */
-#define ATA_EXEC_CALLBACK(areq, status, error) \
+#define ATA_EXEC_CALLBACK(areq, status) \
do {\
if (((areq)->breq != NULL) && ((areq)->breq->req_done != NULL)) \
- (areq)->breq->req_done((areq)->breq->done_arg, status, error); \
+ (areq)->breq->req_done((areq)->breq->done_arg, status); \
} while (0)
/* ATA RTEMS driver events types */
diff --git a/c/src/wrapup/Makefile.am b/c/src/wrapup/Makefile.am
index 33b3ca699c..1841ac3f8f 100644
--- a/c/src/wrapup/Makefile.am
+++ b/c/src/wrapup/Makefile.am
@@ -25,6 +25,7 @@ if HAS_NETWORKING
SRCS += ../libchip/libnetchip.a
endif
SRCS += ../libchip/libi2cio.a
+SRCS += ../libchip/libdisplay.a
if HAS_MP
SRCS += ../libchip/shmdr.rel