1
0
mirror of synced 2026-04-25 20:11:24 +00:00

various updates, and prom driver for sdcard

This commit is contained in:
Romain Dolbeau
2021-11-17 19:19:32 +01:00
parent a3d210b27f
commit c9fbaf61f8
8 changed files with 720 additions and 72 deletions

View File

@@ -59,6 +59,7 @@ __KERNEL_RCSID(0, "$NetBSD$");
int sbusfpga_sd_match(device_t, cfdata_t, void *);
void sbusfpga_sd_attach(device_t, device_t, void *);
extern struct cfdriver sbusfpga_sd_cd;
CFATTACH_DECL_NEW(sbusfpga_sd, sizeof(struct sbusfpga_sd_softc),
sbusfpga_sd_match, sbusfpga_sd_attach, NULL, NULL);
@@ -93,7 +94,7 @@ const struct cdevsw sbusfpga_sd_cdevsw = {
.d_mmap = nommap,
.d_kqfilter = nokqfilter,
.d_discard = nodiscard,
.d_flag = 0
.d_flag = D_DISK
};
@@ -107,9 +108,6 @@ struct dkdriver sbusfpga_sd_dkdriver = {
.d_diskstart = sbusfpga_sd_diskstart
};
extern struct cfdriver sbusfpga_sd_cd;
static int sdcard_init(struct sbusfpga_sd_softc *sc);
static int dma_init(struct sbusfpga_sd_softc *sc);
static void sdcard_read(struct sbusfpga_sd_softc *sc, uint32_t block, uint32_t count, uint8_t* buf);

View File

@@ -176,6 +176,11 @@ sbusfpga_stat_ioctl (dev_t dev, u_long cmd, void *data, int flag, struct lwp *l)
struct sbusfpga_sbus_bus_stat_softc *sc = device_lookup_private(&sbusfpga_stat_cd, minor(dev));
int err = 0;
if (sc == NULL) {
err = EINVAL;
goto done;
}
switch (cmd) {
case SBUSFPGA_STAT_ON:
if (!sc->sc_enable) {
@@ -193,7 +198,8 @@ sbusfpga_stat_ioctl (dev_t dev, u_long cmd, void *data, int flag, struct lwp *l)
err = ENOTTY;
break;
}
done:
return err;
}