Date: Fri, 2 Feb 2001 07:33:36 -0600 From: "Jacques A. Vidrine" <n@nectar.com> To: freebsd-scsi@freebsd.org Subject: umass-sim device Message-ID: <20010202073336.C58832@spawn.nectar.com>
next in thread | raw e-mail | index | archive | help
Hi All, I recently got a SanDisk Imagemate USB. Works great! However, the next time I rebooted my machine, it was picked as `da0', and so file system mounts failed, etc. I figured ``no problem, I'll just wire these bad boys down''. The problem is that the umass-sim device has a dash in it, and config can't deal with it (it generates identifiers that aren't valid e.g. umass-sim0_resources). I worked around it for now by editing ioconf.c directly. What say we make DEVNAME_SIM "umass_sim" or even "umasssim"? Or perhaps the following (untested, and perhaps naive) patch to config is in order? --- mkioconf.c.orig Wed Jan 24 11:17:19 2001 +++ mkioconf.c Wed Jan 24 11:33:30 2001 @@ -60,13 +60,25 @@ return dp->d_name; } +static char * +sdevstr(struct device *dp) +{ + char *p, *q; + + p = devstr(dp); + for (q = p; *q; q++) + if (!isalnum(*q) && *q != '_') + *q = '_'; + return p; +} + static void write_device_resources(FILE *fp, struct device *dp) { int count = 0; char buf[80]; - fprintf(fp, "struct config_resource %s_resources[] = {\n", devstr(dp)); + fprintf(fp, "struct config_resource %s_resources[] = {\n", sdevstr(dp)); if (dp->d_conn) { if (dp->d_connunit >= 0) snprintf(buf, sizeof(buf), "%s%d", dp->d_conn, dp->d_connunit); @@ -124,7 +136,7 @@ count++; } fprintf(fp, "};\n"); - fprintf(fp, "#define %s_count %d\n", devstr(dp), count); + fprintf(fp, "#define %s_count %d\n", sdevstr(dp), count); } static void @@ -152,7 +164,7 @@ count = 0; fprintf(fp, "struct config_device config_devtab[] = {\n"); for (dp = dtab; dp != 0; dp = dp->d_next) { - char* n = devstr(dp); + char* n = sdevstr(dp); if (dp->d_type != DEVICE) continue; if (dp->d_unit == UNKNOWN) Cheers, -- Jacques Vidrine / n@nectar.com / jvidrine@verio.net / nectar@FreeBSD.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010202073336.C58832>