static blkdev_t blkdev_table[MAX_BLKDEV];
struct blkparam blk_op;
-int blkdev_open(uint8_t minor, uint16_t flags)
+int blkdev_open(uint_fast8_t minor, uint16_t flags)
{
- uint8_t drive, partition;
+ uint_fast8_t drive, partition;
used(flags);
return -1;
}
-static int blkdev_transfer(uint8_t minor, uint8_t rawflag)
+static int blkdev_transfer(uint_fast8_t minor, uint_fast8_t rawflag)
{
- uint8_t partition, n;
+ uint_fast8_t partition, n;
uint16_t count = 0;
/* we trust that blkdev_open() has already verified that this minor number is valid */
/* partition 0 is the whole disk and requires no translation */
if(blk_op.lba >= blk_op.blkdev->drive_lba_count)
goto xferfail;
- }else{
+ } else {
/* partitions 1+ require us to add in an offset */
if(blk_op.lba >= blk_op.blkdev->lba_count[partition-1])
goto xferfail;
return -1;
}
-int blkdev_read(uint8_t minor, uint8_t rawflag, uint8_t flag)
+int blkdev_read(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag)
{
used(flag); /* not used */
blk_op.is_read = true;
return blkdev_transfer(minor, rawflag);
}
-int blkdev_write(uint8_t minor, uint8_t rawflag, uint8_t flag)
+int blkdev_write(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag)
{
used(flag); /* not used */
blk_op.is_read = false;
return blkdev_transfer(minor, rawflag);
}
-int blkdev_ioctl(uint8_t minor, uarg_t request, char *data)
+int blkdev_ioctl(uint_fast8_t minor, uarg_t request, char *data)
{
used(data); /* unused */
}
/* Flags is not used yet but will be needed (eg for swap scans) */
-void blkdev_scan(blkdev_t *blk, uint8_t flags)
+void blkdev_scan(blkdev_t *blk, uint_fast8_t flags)
{
- uint8_t letter = 'a' + (blk - blkdev_table);
+ uint_fast8_t letter = 'a' + (blk - blkdev_table);
used(flags); /* not used */
/* block device drives should call blkdev_add() for each block device found,
and implement a sector transfer function matching the following prototype. */
-typedef uint8_t (*transfer_function_t)(void);
+typedef uint_fast8_t (*transfer_function_t)(void);
typedef int (*flush_function_t)(void);
/* the following details should be required only by partition parsing code */
/* public interface */
extern blkdev_t *blkdev_alloc(void);
-extern void blkdev_scan(blkdev_t *blk, uint8_t flags);
+extern void blkdev_scan(blkdev_t *blk, uint_fast8_t flags);
#define SWAPSCAN 0x01
-extern int blkdev_open(uint8_t minor, uint16_t flags);
-extern int blkdev_read(uint8_t minor, uint8_t rawflag, uint8_t flag);
-extern int blkdev_write(uint8_t minor, uint8_t rawflag, uint8_t flag);
-extern int blkdev_ioctl(uint8_t minor, uarg_t request, char *data);
+extern int blkdev_open(uint_fast8_t minor, uint16_t flags);
+extern int blkdev_read(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag);
+extern int blkdev_write(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag);
+extern int blkdev_ioctl(uint_fast8_t minor, uarg_t request, char *data);
#endif
static uint8_t lastdrive;
static uint8_t trackpos[4] = { 0xFF, 0xFF, 0xFF, 0xFF };
-int devfd_open(uint8_t minor, uint16_t flag)
+int devfd_open(uint_fast8_t minor, uint16_t flag)
{
flag;
if(minor >= FDC765_MAX_FLOPPY) {
}
/* Seek to track 0. */
-static uint8_t fd_recalibrate(void)
+static uint_fast8_t fd_recalibrate(void)
{
/*
* Keep trying to recalibrate until the command succeed or a
/* Set up the controller for a given block, seek, and wait for it.
By the time we are called the motor is assumed to be at speed */
-static uint8_t fd_seek(uint16_t lba)
+static uint_fast8_t fd_seek(uint16_t lba)
{
- uint8_t i = 0;
+ uint_fast8_t i = 0;
/* Hack for the moment until we introduce the proper floppy ioctls
here and in the platform code */
#ifdef CONFIG_FDC765_DS
- uint8_t track2 = lba / 9;
- uint8_t newtrack = track2 >> 1;
+ uint_fast8_t track2 = lba / 9;
+ uint_fast8_t newtrack = track2 >> 1;
fd765_sector = (lba % 9) + 1;
fd765_head = track2 & 1;
#else
- uint8_t newtrack = lba / 9;
+ uint_fast8_t newtrack = lba / 9;
fd765_sector = (lba % 9) + 1;
fd765_head = 0;
#endif
nudge_timer();
}
-static int devfd_transfer(uint8_t minor, bool is_read, uint8_t is_raw)
+static int devfd_transfer(uint_fast8_t minor, bool is_read, uint_fast8_t is_raw)
{
int ct = 0;
int tries;
return ct << BLKSHIFT;
}
-int devfd_read(uint8_t minor, uint8_t is_raw, uint8_t flag)
+int devfd_read(uint_fast8_t minor, uint_fast8_t is_raw, uint_fast8_t flag)
{
flag;minor;
return devfd_transfer(minor, true, is_raw);
}
-int devfd_write(uint8_t minor, uint8_t is_raw, uint8_t flag)
+int devfd_write(uint_fast8_t minor, uint_fast8_t is_raw, uint_fast8_t flag)
{
flag;minor;
return devfd_transfer(minor, false, is_raw);
#define __DEVFDC765_DOT_H__
/* public interface */
-int devfd_open(uint8_t minor, uint16_t flag);
-int devfd_read(uint8_t minor, uint8_t rawflag, uint8_t flag);
-int devfd_write(uint8_t minor, uint8_t rawflag, uint8_t flag);
+int devfd_open(uint_fast8_t minor, uint16_t flag);
+int devfd_read(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag);
+int devfd_write(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag);
extern void devfd_spindown(void);
/* for platforms with multiple SD card slots, this variable contains
* the current operation's drive number */
-uint8_t sd_drive;
+uint_fast8_t sd_drive;
-uint8_t devsd_transfer_sector(void)
+uint_fast8_t devsd_transfer_sector(void)
{
uint8_t attempt;
bool success;
uint8_t sd_spi_wait(bool want_ff)
{
unsigned int timer;
- unsigned char b;
+ uint_fast8_t b;
timer = set_timer_ms(500);
return b;
}
-int sd_send_command(unsigned char cmd, uint32_t arg)
+int sd_send_command(uint_fast8_t, uint32_t arg)
{
- unsigned char n, res, *p;
+ unsigned char *p;
+ uint_fast8_t n, res;
if (cmd & 0x80) { /* ACMD<n> is the command sequense of CMD55-CMD<n> */
cmd &= 0x7F;
void sd_spi_clock(bool go_fast) SD_SPI_CALLTYPE;
void sd_spi_raise_cs(void);
void sd_spi_lower_cs(void);
-void sd_spi_transmit_byte(uint8_t byte) SD_SPI_CALLTYPE;
+void sd_spi_transmit_byte(uint_fast8_t byte) SD_SPI_CALLTYPE;
uint8_t sd_spi_receive_byte(void);
bool sd_spi_receive_sector(void);
bool sd_spi_transmit_sector(void);
/* for platforms which support multiple SD cards */
-extern uint8_t sd_drive; /* current card/drive number */
+extern uint_fast8_t sd_drive; /* current card/drive number */
#ifdef _SD_PRIVATE
/* internal functions */
void sd_spi_release(void);
-int sd_send_command(unsigned char cmd, uint32_t arg);
-uint8_t sd_spi_wait(bool want_ff);
+int sd_send_command(uint_fast8_t cmd, uint32_t arg);
+uint_fast8_t sd_spi_wait(bool want_ff);
void sd_init_drive(void);
int sd_spi_init(void);
uint8_t devsd_transfer_sector(void);
{
blkdev_t *blk;
unsigned char csd[16], n;
- uint8_t card_type;
+ uint_fast8_t card_type;
kprintf("SD drive %d: ", sd_drive);
card_type = sd_spi_init();
int sd_spi_init(void)
{
- unsigned char n, cmd, card_type, ocr[4];
+ uint_fast8_t n, cmd, card_type;
+ unsigned char ocr[4];
timer_t timer;
/* Initialising SD cards is pretty horrible; they aren't sane SPI devices.