[PATCH] Make em(4) use device sysctl tree

Bruce M Simpson bms at spc.org
Fri Oct 15 15:21:45 PDT 2004


Here is a non-critical patch to bring em(4) into line with other
drivers, by using the sysctl tree created for each device by the
bus framework.

Please review; Thanks.
BMS
-------------- next part --------------
Index: if_em.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/em/if_em.c,v
retrieving revision 1.44.2.1
diff -u -p -r1.44.2.1 if_em.c
--- if_em.c	1 Oct 2004 18:51:11 -0000	1.44.2.1
+++ if_em.c	15 Oct 2004 22:16:05 -0000
@@ -310,26 +310,14 @@ em_attach(device_t dev)
 	em_adapter_list = adapter;
 
 	/* SYSCTL stuff */
-        sysctl_ctx_init(&adapter->sysctl_ctx);
-        adapter->sysctl_tree = SYSCTL_ADD_NODE(&adapter->sysctl_ctx,
-                                               SYSCTL_STATIC_CHILDREN(_hw),
-                                               OID_AUTO,
-                                               device_get_nameunit(dev),
-                                               CTLFLAG_RD,
-                                               0, "");
-        if (adapter->sysctl_tree == NULL) {
-                error = EIO;  
-                goto err_sysctl;
-        }
-        
-        SYSCTL_ADD_PROC(&adapter->sysctl_ctx,
-                        SYSCTL_CHILDREN(adapter->sysctl_tree),
+        SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
+                        SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
                         OID_AUTO, "debug_info", CTLTYPE_INT|CTLFLAG_RW,
                         (void *)adapter, 0,
                         em_sysctl_debug_info, "I", "Debug Information");
         
-        SYSCTL_ADD_PROC(&adapter->sysctl_ctx,
-                        SYSCTL_CHILDREN(adapter->sysctl_tree),
+        SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
+                        SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
                         OID_AUTO, "stats", CTLTYPE_INT|CTLFLAG_RW,
                         (void *)adapter, 0,
                         em_sysctl_stats, "I", "Statistics");
@@ -504,8 +492,6 @@ err_rx_desc:
 err_tx_desc:
 err_pci:
         em_free_pci_resources(adapter);
-        sysctl_ctx_free(&adapter->sysctl_ctx);
-err_sysctl:
         return(error);
 
 }
@@ -553,9 +539,6 @@ em_detach(device_t dev)
                 adapter->rx_desc_base = NULL;
         }
 
-	/* Free the sysctl tree */
-	sysctl_ctx_free(&adapter->sysctl_ctx);
-
 	/* Remove from the adapter list */
 	if (em_adapter_list == adapter)
 		em_adapter_list = adapter->next;
@@ -3347,8 +3330,8 @@ em_add_int_delay_sysctl(struct adapter *
 	info->adapter = adapter;
 	info->offset = offset;
 	info->value = value;
-	SYSCTL_ADD_PROC(&adapter->sysctl_ctx,
-	    SYSCTL_CHILDREN(adapter->sysctl_tree),
+	SYSCTL_ADD_PROC(device_get_sysctl_ctx(adapter->dev),
+	    SYSCTL_CHILDREN(device_get_sysctl_tree(adapter->dev)),
 	    OID_AUTO, name, CTLTYPE_INT|CTLFLAG_RW,
 	    info, 0, em_sysctl_int_delay, "I", description);
 }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 167 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20041015/663f0f34/attachment.bin


More information about the freebsd-net mailing list