aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2023-01-13 21:19:47 +0000
committerWarner Losh <imp@FreeBSD.org>2023-01-24 21:49:46 +0000
commit0cd6d49acf74ab0746a1be91453515e4eedb2a14 (patch)
tree330a030e7974cac1cb958b21a86c9b96262360d6
parent2f7b00be106ff560656c638bf44c6b92f1d823d8 (diff)
downloadsrc-0cd6d49acf74ab0746a1be91453515e4eedb2a14.tar.gz
src-0cd6d49acf74ab0746a1be91453515e4eedb2a14.zip
stand/uboot: Explain why we test for NULL here
Most parsedev routines assume that idev is non-null and can always be set. Since we break from this pattern in uboot, explain why in a comment. devparse was invented to put a lot of common code in one place and to simplify the archsw.arch_getdev code and any dv_parsedev code called. However, uboot couldn't use devparse at the time because its device naming scheme slightly different parsing. So, we still use uboot_parsedev directly from uboot_getdev where dev could be NULL. Add a comment to this effect. The match functionality added for ofw likely could be used to clean up the multiple kludges that are here for uboot's device naming differences with the normal boot loader. This work will wait for the future. Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D38042 (cherry picked from commit 5740057b4388f116717b9614cd54cf2c755e6e7d)
-rw-r--r--stand/uboot/devicename.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/stand/uboot/devicename.c b/stand/uboot/devicename.c
index 075880baa59f..d5de86384369 100644
--- a/stand/uboot/devicename.c
+++ b/stand/uboot/devicename.c
@@ -148,6 +148,10 @@ uboot_parsedev(struct uboot_devdesc **dev, const char *devspec,
goto fail;
}
idev->dd.d_dev = dv;
+ /*
+ * dev can be NULL, since uboot_getdev calls us directly, rather than via
+ * dv_parsedev in devparse() which otherwise ensures that it can't be NULL.
+ */
if (dev == NULL) {
free(idev);
} else {