git: 69814700c6fb - stable/13 - stand/ofw: Access the parsing routine more directly

From: Warner Losh <imp_at_FreeBSD.org>
Date: Tue, 24 Jan 2023 22:13:18 UTC
The branch stable/13 has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=69814700c6fb327d9ea616572934806fc9b7a3ca

commit 69814700c6fb327d9ea616572934806fc9b7a3ca
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2022-11-30 22:09:09 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-01-24 21:49:39 +0000

    stand/ofw: Access the parsing routine more directly
    
    We don't need to check if something is a ZFS device. Instead, if the
    found device has a parse routine, call it. Otherwise, just copy the
    path.
    
    Sponsored by:           Netflix
    Differential Revision:  https://reviews.freebsd.org/D37343
    
    (cherry picked from commit d16083815caf32dd117487c709b33669cef4af6f)
---
 stand/libofw/devicename.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c
index 292fba927d1a..f03703e3872f 100644
--- a/stand/libofw/devicename.c
+++ b/stand/libofw/devicename.c
@@ -31,7 +31,6 @@ __FBSDID("$FreeBSD$");
 
 #include "bootstrap.h"
 #include "libofw.h"
-#include "libzfs.h"
 
 static int ofw_parsedev(struct ofw_devdesc **, const char *, const char **);
 
@@ -109,15 +108,16 @@ found:
 	printf("ofw_parsedev: malloc failed\n");
 	return ENOMEM;
     }
-    strcpy(idev->d_path, name);
     idev->dd.d_dev = dv;
-    if (dv->dv_type == DEVT_ZFS) {
+    if (dv->dv_parsedev != NULL) {
 	p = devspec + strlen(dv->dv_name);
 	free(idev);
-	err = zfs_parsedev((struct devdesc **)&idev, p, path);
+	err = dv->dv_parsedev((struct devdesc **)&idev, p, path);
 	if (err != 0) {
 	    return (err);
 	}
+    } else {
+	strcpy(idev->d_path, name);
     }
 
     if (dev == NULL) {