mlx_sysdrive
struct mlx_sysdrive *dr;
for (i = 0, dr = &sc->mlx_sysdrive[0];
static struct mlx_sysdrive *mlx_findunit(struct mlx_softc *sc, int unit);
device_printf(sc->mlx_sysdrive[drive].ms_disk, "consistency check started");
driveno = mlxd->mlxd_drive - sc->mlx_sysdrive;
if ((blkno + blkcount) > sc->mlx_sysdrive[driveno].ms_size)
blkno, blkcount, sc->mlx_sysdrive[driveno].ms_size);
static struct mlx_sysdrive *
if (sc->mlx_sysdrive[i].ms_disk != NULL) {
if (unit == device_get_unit(sc->mlx_sysdrive[i].ms_disk))
return(&sc->mlx_sysdrive[i]);
struct mlx_sysdrive *dr;
for (i = 0, dr = &sc->mlx_sysdrive[0];
if (sc->mlx_sysdrive[i].ms_disk != NULL) {
mlxd = device_get_softc(sc->mlx_sysdrive[i].ms_disk);
device_printf(sc->mlx_sysdrive[i].ms_disk, "still open, can't detach\n");
if (sc->mlx_sysdrive[i].ms_disk != NULL) {
if ((error = device_delete_child(sc->mlx_dev, sc->mlx_sysdrive[i].ms_disk)) != 0)
sc->mlx_sysdrive[i].ms_disk = NULL;
struct mlx_sysdrive *dr;
if (sc->mlx_sysdrive[i].ms_disk != NULL) {
*arg = device_get_unit(sc->mlx_sysdrive[0].ms_disk);
if (*arg == device_get_unit(sc->mlx_sysdrive[i].ms_disk))
if ((mlxd != NULL) && (mlxd->mlxd_drive >= sc->mlx_sysdrive) &&
(mlxd->mlxd_drive < (sc->mlx_sysdrive + MLX_MAXDRIVES))) {
*arg = mlxd->mlxd_drive - sc->mlx_sysdrive;
mlx_submit_ioctl(struct mlx_softc *sc, struct mlx_sysdrive *drive, u_long cmd,
result = mlx_check(sc, drive - &sc->mlx_sysdrive[0]);
struct mlx_sysdrive mlx_sysdrive[MLX_MAXDRIVES]; /* system drives */
struct mlx_sysdrive *mlxd_drive;
struct mlx_sysdrive *drive, u_long cmd,