Changeset View
Changeset View
Standalone View
Standalone View
sys/boot/usb/storage/umass_loader.c
Show First 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | |||||
#include "umass_common.h" | #include "umass_common.h" | ||||
static int umass_disk_init(void); | static int umass_disk_init(void); | ||||
static int umass_disk_open(struct open_file *,...); | static int umass_disk_open(struct open_file *,...); | ||||
static int umass_disk_close(struct open_file *); | static int umass_disk_close(struct open_file *); | ||||
static void umass_disk_cleanup(void); | static void umass_disk_cleanup(void); | ||||
static int umass_disk_ioctl(struct open_file *, u_long, void *); | static int umass_disk_ioctl(struct open_file *, u_long, void *); | ||||
static int umass_disk_strategy(void *, int, daddr_t, size_t, char *, size_t *); | static int umass_disk_strategy(void *, int, daddr_t, size_t, size_t, char *, | ||||
size_t *); | |||||
static void umass_disk_print(int); | static void umass_disk_print(int); | ||||
struct devsw umass_disk = { | struct devsw umass_disk = { | ||||
.dv_name = "umass", | .dv_name = "umass", | ||||
.dv_type = DEVT_DISK, | .dv_type = DEVT_DISK, | ||||
.dv_init = umass_disk_init, | .dv_init = umass_disk_init, | ||||
.dv_strategy = umass_disk_strategy, | .dv_strategy = umass_disk_strategy, | ||||
.dv_open = umass_disk_open, | .dv_open = umass_disk_open, | ||||
Show All 19 Lines | for (time = 0; time < (8 * hz); time++) { | ||||
callout_process(1); | callout_process(1); | ||||
if (umass_uaa.device != NULL) | if (umass_uaa.device != NULL) | ||||
return (0); | return (0); | ||||
} | } | ||||
return (0); | return (0); | ||||
} | } | ||||
static int | static int | ||||
umass_disk_strategy(void *devdata, int flag, daddr_t dblk, size_t size, | umass_disk_strategy(void *devdata, int flag, daddr_t dblk, size_t offset, | ||||
char *buf, size_t *rsizep) | size_t size, char *buf, size_t *rsizep) | ||||
{ | { | ||||
if (umass_uaa.device == NULL) | if (umass_uaa.device == NULL) | ||||
return (ENXIO); | return (ENXIO); | ||||
if (rsizep != NULL) | if (rsizep != NULL) | ||||
*rsizep = 0; | *rsizep = 0; | ||||
if (flag == F_WRITE) { | if (flag == F_WRITE) { | ||||
if (usb_msc_write_10(umass_uaa.device, 0, dblk, size >> 9, buf) != 0) | if (usb_msc_write_10(umass_uaa.device, 0, dblk, size >> 9, buf) != 0) | ||||
▲ Show 20 Lines • Show All 126 Lines • Show Last 20 Lines |