RCS file: /usr1/CVS/rtems/c/src/ChangeLog,v
retrieving revision 1.414.2.3
diff -u -r1.414.2.3 ChangeLog
|
|
|
| 1 | 2009-01-16 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| 2 | |
| 3 | * libchip/i2c/spi-sd-card.c: Fixed RTEMS_BLKDEV_CAPABILITIES ioctl |
| 4 | which caused invalid multiple block writes. |
| 5 | |
1 | 6 | 2008-11-13 Sebastian Huber <sebastian.huber@embedded-brains.de> |
2 | 7 | |
3 | 8 | * libchip/serial/ns16550.c: Transmit the character in the polled write |
RCS file: /usr1/CVS/rtems/c/src/libchip/i2c/spi-sd-card.c,v
retrieving revision 1.6
diff -u -r1.6 spi-sd-card.c
|
|
|
747 | 747 | static int sd_card_disk_ioctl( dev_t dev, uint32_t req, void *arg) |
748 | 748 | { |
749 | 749 | DEBUG_PRINT( "dev = %u, req = %u, arg = 0x08%x\n", dev, req, arg); |
750 | | if (req == RTEMS_BLKIO_REQUEST) { |
751 | | rtems_device_minor_number minor = rtems_filesystem_dev_minor_t( dev); |
| 750 | if (req == RTEMS_BLKIO_REQUEST) { |
| 751 | rtems_device_minor_number minor = rtems_filesystem_dev_minor_t( dev); |
752 | 752 | sd_card_driver_entry *e = &sd_card_driver_table [minor]; |
753 | | rtems_blkdev_request *r = (rtems_blkdev_request *) arg; |
754 | | switch (r->req) { |
755 | | case RTEMS_BLKDEV_REQ_READ: |
756 | | return sd_card_disk_block_read( e, r); |
757 | | case RTEMS_BLKDEV_REQ_WRITE: |
758 | | return sd_card_disk_block_write( e, r); |
759 | | case RTEMS_BLKDEV_CAPABILITIES: |
760 | | *((uint32_t*) arg) = RTEMS_BLKDEV_CAP_MULTISECTOR_CONT; |
761 | | return 0; |
762 | | default: |
763 | | errno = EBADRQC; |
764 | | return -1; |
765 | | } |
766 | | } else { |
767 | | errno = EBADRQC; |
768 | | return -1; |
769 | | } |
| 753 | rtems_blkdev_request *r = (rtems_blkdev_request *) arg; |
| 754 | switch (r->req) { |
| 755 | case RTEMS_BLKDEV_REQ_READ: |
| 756 | return sd_card_disk_block_read( e, r); |
| 757 | case RTEMS_BLKDEV_REQ_WRITE: |
| 758 | return sd_card_disk_block_write( e, r); |
| 759 | default: |
| 760 | errno = EBADRQC; |
| 761 | return -1; |
| 762 | } |
| 763 | } else if (req == RTEMS_BLKDEV_CAPABILITIES) { |
| 764 | *(uint32_t *) arg = RTEMS_BLKDEV_CAP_MULTISECTOR_CONT; |
| 765 | return 0; |
| 766 | } else { |
| 767 | errno = EBADRQC; |
| 768 | return -1; |
| 769 | } |
770 | 770 | } |
771 | 771 | |
772 | 772 | static rtems_status_code sd_card_disk_init( rtems_device_major_number major, rtems_device_minor_number minor, void *arg) |