The branch main has been updated by markj:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=83caa244bc9eef6949a1250a875ad1409775a46e

commit 83caa244bc9eef6949a1250a875ad1409775a46e
Author:     Mark Johnston <ma...@freebsd.org>
AuthorDate: 2024-06-05 19:34:30 +0000
Commit:     Mark Johnston <ma...@freebsd.org>
CommitDate: 2024-06-16 20:37:26 +0000

    jedec_dimm: Use device_set_descf()
    
    Note that it is ok to use device_get_desc() as one of the format string
    parameters because it is set using device_set_desc() (not
    device_set_desc_copy()) and so won't be freed when the description is
    updated.
    
    No functional change intended.
    
    MFC after:      1 week
---
 sys/dev/jedec_dimm/jedec_dimm.c | 17 +----------------
 1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/sys/dev/jedec_dimm/jedec_dimm.c b/sys/dev/jedec_dimm/jedec_dimm.c
index ddaa0e96856e..697e7695a009 100644
--- a/sys/dev/jedec_dimm/jedec_dimm.c
+++ b/sys/dev/jedec_dimm/jedec_dimm.c
@@ -265,7 +265,6 @@ jedec_dimm_attach(device_t dev)
        uint16_t vendorid;
        bool tsod_present;
        int rc;
-       int new_desc_len;
        enum dram_type type;
        struct jedec_dimm_softc *sc;
        struct sysctl_ctx_list *ctx;
@@ -273,7 +272,6 @@ jedec_dimm_attach(device_t dev)
        struct sysctl_oid_list *children;
        const char *tsod_match;
        const char *slotid_str;
-       char *new_desc;
 
        sc = device_get_softc(dev);
        ctx = device_get_sysctl_ctx(dev);
@@ -447,26 +445,13 @@ no_tsod:
         * device description.
         */
        if ((tsod_match != NULL) || (sc->slotid_str != NULL)) {
-               new_desc_len = strlen(device_get_desc(dev));
-               if (tsod_match != NULL) {
-                       new_desc_len += strlen(tsod_match);
-                       new_desc_len += 4; /* " w/ " */
-               }
-               if (sc->slotid_str != NULL) {
-                       new_desc_len += strlen(sc->slotid_str);
-                       new_desc_len += 3; /* space + parens */
-               }
-               new_desc_len++; /* terminator */
-               new_desc = malloc(new_desc_len, M_TEMP, (M_WAITOK | M_ZERO));
-               (void) snprintf(new_desc, new_desc_len, "%s%s%s%s%s%s",
+               device_set_descf(dev, "%s%s%s%s%s%s",
                    device_get_desc(dev),
                    (tsod_match ? " w/ " : ""),
                    (tsod_match ? tsod_match : ""),
                    (sc->slotid_str ? " (" : ""),
                    (sc->slotid_str ? sc->slotid_str : ""),
                    (sc->slotid_str ? ")" : ""));
-               device_set_desc_copy(dev, new_desc);
-               free(new_desc, M_TEMP);
        }
 
 out:

Reply via email to