Index: sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c =================================================================== --- sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c +++ sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c @@ -1310,7 +1310,8 @@ /* create node for hw.cpufreq */ oid = SYSCTL_ADD_NODE(&bcm2835_sysctl_ctx, SYSCTL_STATIC_CHILDREN(_hw), OID_AUTO, "cpufreq", - CTLFLAG_RD, NULL, ""); + CTLFLAG_RD, NULL, + "CPU frequencies"); /* Frequency (Hz) */ SYSCTL_ADD_PROC(&bcm2835_sysctl_ctx, SYSCTL_CHILDREN(oid), Index: sys/arm/nvidia/tegra_soctherm.c =================================================================== --- sys/arm/nvidia/tegra_soctherm.c +++ sys/arm/nvidia/tegra_soctherm.c @@ -511,7 +511,8 @@ /* create node for hw.temp */ oid = SYSCTL_ADD_NODE(&soctherm_sysctl_ctx, SYSCTL_STATIC_CHILDREN(_hw), OID_AUTO, "temperature", - CTLFLAG_RD, NULL, ""); + CTLFLAG_RD, NULL, + "Temperatures"); if (oid == NULL) return (ENXIO); Index: sys/arm/xilinx/zy7_devcfg.c =================================================================== --- sys/arm/xilinx/zy7_devcfg.c +++ sys/arm/xilinx/zy7_devcfg.c @@ -360,7 +360,8 @@ sysctl_ctx_init(&sc->sysctl_tree); sc->sysctl_tree_top = SYSCTL_ADD_NODE(&sc->sysctl_tree, SYSCTL_STATIC_CHILDREN(_hw_fpga), OID_AUTO, "fclk", - CTLFLAG_RD, 0, ""); + CTLFLAG_RD, 0, + "FCLK devices"); if (sc->sysctl_tree_top == NULL) { sysctl_ctx_free(&sc->sysctl_tree); return (-1); @@ -370,7 +371,8 @@ snprintf(fclk_num, sizeof(fclk_num), "%d", i); fclk_node = SYSCTL_ADD_NODE(&sc->sysctl_tree, SYSCTL_CHILDREN(sc->sysctl_tree_top), OID_AUTO, fclk_num, - CTLFLAG_RD, 0, ""); + CTLFLAG_RD, 0, + "FCLK device parameters"); SYSCTL_ADD_INT(&sc->sysctl_tree, SYSCTL_CHILDREN(fclk_node), OID_AUTO, Index: sys/contrib/rdma/krping/krping_dev.c =================================================================== --- sys/contrib/rdma/krping/krping_dev.c +++ sys/contrib/rdma/krping/krping_dev.c @@ -33,7 +33,8 @@ SYSCTL_NODE(_dev, OID_AUTO, krping, CTLFLAG_RW, 0, "kernel rping module"); int krping_debug = 0; -SYSCTL_INT(_dev_krping, OID_AUTO, debug, CTLFLAG_RW, &krping_debug, 0 , ""); +SYSCTL_INT(_dev_krping, OID_AUTO, debug, CTLFLAG_RW, &krping_debug, 0, + "Debug level"); /* Function prototypes */ static d_open_t krping_open; Index: sys/dev/an/if_an.c =================================================================== --- sys/dev/an/if_an.c +++ sys/dev/an/if_an.c @@ -267,7 +267,8 @@ } SYSCTL_PROC(_hw_an, OID_AUTO, an_dump, CTLTYPE_STRING | CTLFLAG_RW, - 0, sizeof(an_conf), sysctl_an_dump, "A", ""); + 0, sizeof(an_conf), sysctl_an_dump, "A", + "Dump logging level"); static int sysctl_an_cache_mode(SYSCTL_HANDLER_ARGS) @@ -303,7 +304,8 @@ } SYSCTL_PROC(_hw_an, OID_AUTO, an_cache_mode, CTLTYPE_STRING | CTLFLAG_RW, - 0, sizeof(an_conf_cache), sysctl_an_cache_mode, "A", ""); + 0, sizeof(an_conf_cache), sysctl_an_cache_mode, "A", + "Cache mode: dBm (dbm), percentage (per), or raw"); /* * We probe for an Aironet 4500/4800 card by attempting to @@ -3043,13 +3045,15 @@ */ static int an_cache_mcastonly = 0; SYSCTL_INT(_hw_an, OID_AUTO, an_cache_mcastonly, CTLFLAG_RW, - &an_cache_mcastonly, 0, ""); + &an_cache_mcastonly, 0, + "Limit cache to broadcast/mcast packets"); /* set true if you want to limit cache items to IP packets only */ static int an_cache_iponly = 1; SYSCTL_INT(_hw_an, OID_AUTO, an_cache_iponly, CTLFLAG_RW, - &an_cache_iponly, 0, ""); + &an_cache_iponly, 0, + "Limit cache to IP packets"); /* * an_cache_store, per rx packet store signal Index: sys/dev/ath/if_ath_sysctl.c =================================================================== --- sys/dev/ath/if_ath_sysctl.c +++ sys/dev/ath/if_ath_sysctl.c @@ -795,7 +795,8 @@ SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "enable", CTLTYPE_INT | CTLFLAG_RW, sc, 0, - ath_sysctl_alq_log, "I", ""); + ath_sysctl_alq_log, "I", + "ALQ enabled"); SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "debugmask", CTLFLAG_RW, &sc->sc_alq.sc_alq_debug, 0, @@ -906,15 +907,18 @@ SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "txagg", CTLTYPE_INT | CTLFLAG_RW, sc, 0, - ath_sysctl_txagg, "I", ""); + ath_sysctl_txagg, "I", + "Set to print TX aggregate stats"); SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "forcebstuck", CTLTYPE_INT | CTLFLAG_RW, sc, 0, - ath_sysctl_forcebstuck, "I", ""); + ath_sysctl_forcebstuck, "I", + "Set to force beacon stuck"); SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "hangcheck", CTLTYPE_INT | CTLFLAG_RW, sc, 0, - ath_sysctl_hangcheck, "I", ""); + ath_sysctl_hangcheck, "I", + "Set to force a hardware hang check"); if (ath_hal_hasintmit(ah)) { SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, @@ -1027,12 +1031,16 @@ struct sysctl_oid_list *child = SYSCTL_CHILDREN(tree); int i; char sn[8]; + char descr[16]; - tree = SYSCTL_ADD_NODE(ctx, parent, OID_AUTO, "rx_phy_err", CTLFLAG_RD, NULL, "Per-code RX PHY Errors"); + tree = SYSCTL_ADD_NODE(ctx, parent, OID_AUTO, "rx_phy_err", CTLFLAG_RD, + NULL, "RX PHY Errors"); child = SYSCTL_CHILDREN(tree); for (i = 0; i < 64; i++) { snprintf(sn, sizeof(sn), "%d", i); - SYSCTL_ADD_UINT(ctx, child, OID_AUTO, sn, CTLFLAG_RD, &sc->sc_stats.ast_rx_phy[i], 0, ""); + snprintf(descr, sizeof(descr), "Error %d count", i); + SYSCTL_ADD_UINT(ctx, child, OID_AUTO, sn, CTLFLAG_RD, + &sc->sc_stats.ast_rx_phy[i], 0, descr); } } @@ -1045,14 +1053,16 @@ struct sysctl_oid_list *child = SYSCTL_CHILDREN(tree); int i; char sn[8]; + char descr[16]; tree = SYSCTL_ADD_NODE(ctx, parent, OID_AUTO, "sync_intr", CTLFLAG_RD, NULL, "Sync interrupt statistics"); child = SYSCTL_CHILDREN(tree); for (i = 0; i < 32; i++) { snprintf(sn, sizeof(sn), "%d", i); + snprintf(descr, sizeof(descr), "intr%d count", i); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, sn, CTLFLAG_RD, - &sc->sc_intr_stats.sync_intr[i], 0, ""); + &sc->sc_intr_stats.sync_intr[i], 0, descr); } } @@ -1239,7 +1249,7 @@ SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_decrypt_busy_err", CTLFLAG_RD, &sc->sc_stats.ast_rx_decrypt_busy_err, 0, "number of frames received w/ busy decrypt engine"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_hi_rx_chain", CTLFLAG_RD, - &sc->sc_stats.ast_rx_hi_rx_chain, 0, ""); + &sc->sc_stats.ast_rx_hi_rx_chain, 0, "hi RX chain"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_htprotect", CTLFLAG_RD, &sc->sc_stats.ast_tx_htprotect, 0, "HT tx frames with protection"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_hitqueueend", CTLFLAG_RD, @@ -1260,9 +1270,11 @@ &sc->sc_stats.ast_tx_swretrymax, 0, "TX software retry max reached"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_data_underrun", CTLFLAG_RD, - &sc->sc_stats.ast_tx_data_underrun, 0, ""); + &sc->sc_stats.ast_tx_data_underrun, 0, + "TX data FIFO underrun count"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_delim_underrun", CTLFLAG_RD, - &sc->sc_stats.ast_tx_delim_underrun, 0, ""); + &sc->sc_stats.ast_tx_delim_underrun, 0, + "TX delim FIFO underrun count"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_aggr_failall", CTLFLAG_RD, &sc->sc_stats.ast_tx_aggr_failall, 0, "Number of aggregate TX failures (whole frame)"); @@ -1281,9 +1293,11 @@ CTLFLAG_RD, &sc->sc_stats.ast_tx_mcastq_overflow, 0, "Number of multicast frames exceeding maximum mcast queue depth"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_rx_keymiss", CTLFLAG_RD, - &sc->sc_stats.ast_rx_keymiss, 0, ""); + &sc->sc_stats.ast_rx_keymiss, 0, + "Count of RX keymiss failures"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_swfiltered", CTLFLAG_RD, - &sc->sc_stats.ast_tx_swfiltered, 0, ""); + &sc->sc_stats.ast_tx_swfiltered, 0, + "Count of TIDs filtered by the software"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_nodeq_overflow", CTLFLAG_RD, &sc->sc_stats.ast_tx_nodeq_overflow, 0, "tx dropped 'cuz nodeq overflow"); Index: sys/dev/bktr/bktr_os.c =================================================================== --- sys/dev/bktr/bktr_os.c +++ sys/dev/bktr/bktr_os.c @@ -111,15 +111,29 @@ #endif static SYSCTL_NODE(_hw, OID_AUTO, bt848, CTLFLAG_RW, 0, "Bt848 Driver mgmt"); -SYSCTL_INT(_hw_bt848, OID_AUTO, card, CTLFLAG_RW, &bt848_card, -1, ""); -SYSCTL_INT(_hw_bt848, OID_AUTO, tuner, CTLFLAG_RW, &bt848_tuner, -1, ""); -SYSCTL_INT(_hw_bt848, OID_AUTO, reverse_mute, CTLFLAG_RW, &bt848_reverse_mute, -1, ""); -SYSCTL_INT(_hw_bt848, OID_AUTO, format, CTLFLAG_RW, &bt848_format, -1, ""); -SYSCTL_INT(_hw_bt848, OID_AUTO, slow_msp_audio, CTLFLAG_RW, &bt848_slow_msp_audio, -1, ""); +SYSCTL_INT(_hw_bt848, OID_AUTO, card, CTLFLAG_RW, + &bt848_card, -1, + "Set to override the card make (see man bktr(4))"); +SYSCTL_INT(_hw_bt848, OID_AUTO, tuner, CTLFLAG_RW, + &bt848_tuner, -1, + "Set to override the tuner make (see man bktr(4))"); +SYSCTL_INT(_hw_bt848, OID_AUTO, reverse_mute, CTLFLAG_RW, + &bt848_reverse_mute, -1, + "Set to swap the GPIO values for Mute and TV audio"); +SYSCTL_INT(_hw_bt848, OID_AUTO, format, CTLFLAG_RW, + &bt848_format, -1, + "Set to override the default format. 0 for PAL, 1 for NTSC"); +SYSCTL_INT(_hw_bt848, OID_AUTO, slow_msp_audio, CTLFLAG_RW, + &bt848_slow_msp_audio, -1, + "Set to override the MSP setting. 0 = use fast MSP, " + "1 = use slow MSP, 2 = use mono output"); #ifdef BKTR_NEW_MSP34XX_DRIVER -SYSCTL_INT(_hw_bt848, OID_AUTO, stereo_once, CTLFLAG_RW, &bt848_stereo_once, 0, ""); -SYSCTL_INT(_hw_bt848, OID_AUTO, amsound, CTLFLAG_RW, &bt848_amsound, 0, ""); -SYSCTL_INT(_hw_bt848, OID_AUTO, dolby, CTLFLAG_RW, &bt848_dolby, 0, ""); +SYSCTL_INT(_hw_bt848, OID_AUTO, stereo_once, CTLFLAG_RW, &bt848_stereo_once, 0, + "No continuous stereo monitoring"); +SYSCTL_INT(_hw_bt848, OID_AUTO, amsound, CTLFLAG_RW, &bt848_amsound, 0, + "Hard-wire AM sound"); +SYSCTL_INT(_hw_bt848, OID_AUTO, dolby, CTLFLAG_RW, &bt848_dolby, 0, + "Dolby support"); #endif #endif /* end freebsd section */ Index: sys/dev/ciss/ciss.c =================================================================== --- sys/dev/ciss/ciss.c +++ sys/dev/ciss/ciss.c @@ -589,7 +589,8 @@ SYSCTL_ADD_INT(device_get_sysctl_ctx(sc->ciss_dev), SYSCTL_CHILDREN(device_get_sysctl_tree(sc->ciss_dev)), - OID_AUTO, "soft_reset", CTLFLAG_RW, &sc->ciss_soft_reset, 0, ""); + OID_AUTO, "soft_reset", CTLFLAG_RW, &sc->ciss_soft_reset, 0, + "Whether to soft reset on shutdown"); } /************************************************************************ Index: sys/dev/cs/if_cs.c =================================================================== --- sys/dev/cs/if_cs.c +++ sys/dev/cs/if_cs.c @@ -114,7 +114,8 @@ "ignore checksum errors in cs card EEPROM"); static int cs_recv_delay = 570; -SYSCTL_INT(_hw_cs, OID_AUTO, recv_delay, CTLFLAG_RWTUN, &cs_recv_delay, 570, ""); +SYSCTL_INT(_hw_cs, OID_AUTO, recv_delay, CTLFLAG_RWTUN, &cs_recv_delay, 570, + "Amount in ms to delay after receiving packet"); static int cs8900_eeint2irq[16] = { 10, 11, 12, 5, 255, 255, 255, 255, Index: sys/dev/hyperv/netvsc/if_hn.c =================================================================== --- sys/dev/hyperv/netvsc/if_hn.c +++ sys/dev/hyperv/netvsc/if_hn.c @@ -4938,7 +4938,8 @@ /* Create dev.hn.UNIT.rx sysctl tree */ sc->hn_rx_sysctl_tree = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "rx", - CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "Receive parameters"); for (i = 0; i < sc->hn_rx_ring_cnt; ++i) { struct hn_rx_ring *rxr = &sc->hn_rx_ring[i]; @@ -4993,7 +4994,8 @@ snprintf(name, sizeof(name), "%d", i); rxr->hn_rx_sysctl_tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(sc->hn_rx_sysctl_tree), - OID_AUTO, name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + OID_AUTO, name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "Ring parameters"); if (rxr->hn_rx_sysctl_tree != NULL) { SYSCTL_ADD_ULONG(ctx, @@ -5305,7 +5307,8 @@ snprintf(name, sizeof(name), "%d", id); txr->hn_tx_sysctl_tree = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, - name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "Ring parameters"); if (txr->hn_tx_sysctl_tree != NULL) { child = SYSCTL_CHILDREN(txr->hn_tx_sysctl_tree); @@ -5439,7 +5442,8 @@ /* Create dev.hn.UNIT.tx sysctl tree */ sc->hn_tx_sysctl_tree = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "tx", - CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "Transmit parameters"); for (i = 0; i < sc->hn_tx_ring_cnt; ++i) { int error; Index: sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c =================================================================== --- sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c +++ sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c @@ -1000,7 +1000,8 @@ /* dev.storvsc.UNIT.channel */ ch_tree = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "channel", - CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "Channels"); if (ch_tree == NULL) return; @@ -1011,7 +1012,8 @@ snprintf(name, sizeof(name), "%d", ch_id); /* dev.storvsc.UNIT.channel.CHID */ chid_tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(ch_tree), - OID_AUTO, name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + OID_AUTO, name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "Channel parameters"); if (chid_tree == NULL) return; /* dev.storvsc.UNIT.channel.CHID.send_req */ Index: sys/dev/hyperv/vmbus/vmbus_br.c =================================================================== --- sys/dev/hyperv/vmbus/vmbus_br.c +++ sys/dev/hyperv/vmbus/vmbus_br.c @@ -103,8 +103,9 @@ struct sysctl_oid *tree; char desc[64]; + snprintf(desc, sizeof(desc), "%s parameters", name); tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(br_tree), OID_AUTO, - name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, desc); if (tree == NULL) return; Index: sys/dev/hyperv/vmbus/vmbus_chan.c =================================================================== --- sys/dev/hyperv/vmbus/vmbus_chan.c +++ sys/dev/hyperv/vmbus/vmbus_chan.c @@ -249,7 +249,8 @@ */ ch_tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(device_get_sysctl_tree(chan->ch_dev)), - OID_AUTO, "channel", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + OID_AUTO, "channel", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "Channels"); if (ch_tree == NULL) return; @@ -262,7 +263,8 @@ ch_id = chan->ch_prichan->ch_id; snprintf(name, sizeof(name), "%d", ch_id); chid_tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(ch_tree), - OID_AUTO, name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + OID_AUTO, name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "Channel parameters"); if (chid_tree == NULL) return; @@ -271,7 +273,8 @@ * Create dev.NAME.UNIT.channel.CHANID.sub tree. */ ch_tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(chid_tree), - OID_AUTO, "sub", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + OID_AUTO, "sub", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "Sub-channels"); if (ch_tree == NULL) return; @@ -283,23 +286,27 @@ */ snprintf(name, sizeof(name), "%d", chan->ch_subidx); chid_tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(ch_tree), - OID_AUTO, name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + OID_AUTO, name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "Sub-channel parameters"); if (chid_tree == NULL) return; SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(chid_tree), OID_AUTO, - "chanid", CTLFLAG_RD, &chan->ch_id, 0, "channel id"); + "chanid", CTLFLAG_RD, &chan->ch_id, 0, + "channel id"); } SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(chid_tree), OID_AUTO, - "cpu", CTLFLAG_RD, &chan->ch_cpuid, 0, "owner CPU id"); + "cpu", CTLFLAG_RD, &chan->ch_cpuid, 0, + "owner CPU id"); SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(chid_tree), OID_AUTO, "mnf", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, chan, 0, vmbus_chan_sysctl_mnf, "I", "has monitor notification facilities"); br_tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(chid_tree), OID_AUTO, - "br", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + "br", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, + "Buffer rings"); if (br_tree != NULL) { /* * Create sysctl tree for RX bufring. Index: sys/dev/ipmi/ipmi.c =================================================================== --- sys/dev/ipmi/ipmi.c +++ sys/dev/ipmi/ipmi.c @@ -93,7 +93,8 @@ static SYSCTL_NODE(_hw, OID_AUTO, ipmi, CTLFLAG_RD, 0, "IPMI driver parameters"); SYSCTL_INT(_hw_ipmi, OID_AUTO, on, CTLFLAG_RWTUN, - &on, 0, ""); + &on, 0, + "IPMI enabled"); SYSCTL_INT(_hw_ipmi, OID_AUTO, wd_timer_actions, CTLFLAG_RW, &wd_timer_actions, 0, "IPMI watchdog timer actions (including pre-timeout interrupt)"); Index: sys/dev/mxge/if_mxge.c =================================================================== --- sys/dev/mxge/if_mxge.c +++ sys/dev/mxge/if_mxge.c @@ -1618,7 +1618,8 @@ sysctl_ctx_init(&sc->slice_sysctl_ctx); sc->slice_sysctl_tree = SYSCTL_ADD_NODE(&sc->slice_sysctl_ctx, children, OID_AUTO, - "slice", CTLFLAG_RD, 0, ""); + "slice", CTLFLAG_RD, 0, + "Slices"); for (slice = 0; slice < sc->num_slices; slice++) { ss = &sc->ss[slice]; @@ -1628,7 +1629,8 @@ sprintf(slice_num, "%d", slice); ss->sysctl_tree = SYSCTL_ADD_NODE(ctx, children, OID_AUTO, slice_num, - CTLFLAG_RD, 0, ""); + CTLFLAG_RD, 0, + "Slice parameters"); children = SYSCTL_CHILDREN(ss->sysctl_tree); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "rx_small_cnt", Index: sys/dev/rl/if_rl.c =================================================================== --- sys/dev/rl/if_rl.c +++ sys/dev/rl/if_rl.c @@ -655,7 +655,8 @@ ctx = device_get_sysctl_ctx(sc->rl_dev); children = SYSCTL_CHILDREN(device_get_sysctl_tree(sc->rl_dev)); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "twister_enable", CTLFLAG_RD, - &sc->rl_twister_enable, 0, ""); + &sc->rl_twister_enable, 0, + "Enable long cable twister calibration"); mtx_init(&sc->rl_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK, MTX_DEF); Index: sys/dev/sound/midi/midi.c =================================================================== --- sys/dev/sound/midi/midi.c +++ sys/dev/sound/midi/midi.c @@ -250,17 +250,21 @@ int midi_debug; /* XXX: should this be moved into debug.midi? */ -SYSCTL_INT(_hw_midi, OID_AUTO, debug, CTLFLAG_RW, &midi_debug, 0, ""); +SYSCTL_INT(_hw_midi, OID_AUTO, debug, CTLFLAG_RW, &midi_debug, 0, + "Debug level"); int midi_dumpraw; -SYSCTL_INT(_hw_midi, OID_AUTO, dumpraw, CTLFLAG_RW, &midi_dumpraw, 0, ""); +SYSCTL_INT(_hw_midi, OID_AUTO, dumpraw, CTLFLAG_RW, &midi_dumpraw, 0, + "Dump raw info"); int midi_instroff; -SYSCTL_INT(_hw_midi, OID_AUTO, instroff, CTLFLAG_RW, &midi_instroff, 0, ""); +SYSCTL_INT(_hw_midi, OID_AUTO, instroff, CTLFLAG_RW, &midi_instroff, 0, + "Instrument offset"); int midistat_verbose; -SYSCTL_INT(_hw_midi_stat, OID_AUTO, verbose, CTLFLAG_RW, - &midistat_verbose, 0, ""); +SYSCTL_INT(_hw_midi_stat, OID_AUTO, verbose, CTLFLAG_RW, + &midistat_verbose, 0, + "Verbose stat logging"); #define MIDI_DEBUG(l,a) if(midi_debug>=l) a /* Index: sys/dev/sound/midi/sequencer.c =================================================================== --- sys/dev/sound/midi/sequencer.c +++ sys/dev/sound/midi/sequencer.c @@ -163,7 +163,8 @@ int seq_debug; /* XXX: should this be moved into debug.midi? */ -SYSCTL_INT(_hw_midi_seq, OID_AUTO, debug, CTLFLAG_RW, &seq_debug, 0, ""); +SYSCTL_INT(_hw_midi_seq, OID_AUTO, debug, CTLFLAG_RW, &seq_debug, 0, + "Sequencer debug level"); midi_cmdtab cmdtab_seqevent[] = { {SEQ_NOTEOFF, "SEQ_NOTEOFF"}, Index: sys/dev/sound/pci/maestro.c =================================================================== --- sys/dev/sound/pci/maestro.c +++ sys/dev/sound/pci/maestro.c @@ -192,12 +192,11 @@ <861wujij2q.fsf@xps.des.no> */ static SYSCTL_NODE(_debug, OID_AUTO, maestro, CTLFLAG_RD, 0, ""); SYSCTL_UINT(_debug_maestro, OID_AUTO, powerstate_active, CTLFLAG_RW, - &powerstate_active, 0, "The Dx power state when active (0-1)"); + &powerstate_active, 0, "The Dx power state when active (0-1)"); SYSCTL_UINT(_debug_maestro, OID_AUTO, powerstate_idle, CTLFLAG_RW, - &powerstate_idle, 0, "The Dx power state when idle (0-2)"); + &powerstate_idle, 0, "The Dx power state when idle (0-2)"); SYSCTL_UINT(_debug_maestro, OID_AUTO, powerstate_init, CTLFLAG_RW, - &powerstate_init, 0, - "The Dx power state prior to the first use (0-2)"); + &powerstate_init, 0, "The Dx power state prior to the first use (0-2)"); /* ----------------------------- Index: sys/dev/sound/pcm/mixer.c =================================================================== --- sys/dev/sound/pcm/mixer.c +++ sys/dev/sound/pcm/mixer.c @@ -885,11 +885,13 @@ m->hwvol_step = 5; SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), - OID_AUTO, "hwvol_step", CTLFLAG_RWTUN, &m->hwvol_step, 0, ""); + OID_AUTO, "hwvol_step", CTLFLAG_RWTUN, &m->hwvol_step, 0, + "Volume step level"); SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "hwvol_mixer", CTLTYPE_STRING | CTLFLAG_RWTUN, m, 0, - sysctl_hw_snd_hwvol_mixer, "A", ""); + sysctl_hw_snd_hwvol_mixer, "A", + "Mixer device type"); return 0; } Index: sys/dev/sound/usb/uaudio.c =================================================================== --- sys/dev/sound/usb/uaudio.c +++ sys/dev/sound/usb/uaudio.c @@ -2856,7 +2856,8 @@ mixer_tree = SYSCTL_ADD_NODE(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "mixer", - CTLFLAG_RD, NULL, ""); + CTLFLAG_RD, NULL, + "Mixer parameters"); if (mixer_tree == NULL) return; Index: sys/dev/twa/tw_osl_freebsd.c =================================================================== --- sys/dev/twa/tw_osl_freebsd.c +++ sys/dev/twa/tw_osl_freebsd.c @@ -310,7 +310,8 @@ sysctl_ctx_init(&sc->sysctl_ctxt); sc->sysctl_tree = SYSCTL_ADD_NODE(&sc->sysctl_ctxt, SYSCTL_STATIC_CHILDREN(_hw), OID_AUTO, - device_get_nameunit(dev), CTLFLAG_RD, 0, ""); + device_get_nameunit(dev), CTLFLAG_RD, 0, + "TWA parameters"); if (sc->sysctl_tree == NULL) { tw_osli_printf(sc, "error = %d", TW_CL_SEVERITY_ERROR_STRING, Index: sys/dev/twe/twe_freebsd.c =================================================================== --- sys/dev/twe/twe_freebsd.c +++ sys/dev/twe/twe_freebsd.c @@ -202,7 +202,8 @@ */ sysctl_tree = SYSCTL_ADD_NODE(device_get_sysctl_ctx(dev), SYSCTL_STATIC_CHILDREN(_hw), OID_AUTO, - device_get_nameunit(dev), CTLFLAG_RD, 0, ""); + device_get_nameunit(dev), CTLFLAG_RD, 0, + "TWE device parameters"); if (sysctl_tree == NULL) { twe_printf(sc, "cannot add sysctl tree node\n"); return (ENXIO); Index: sys/dev/usb/misc/ugold.c =================================================================== --- sys/dev/usb/misc/ugold.c +++ sys/dev/usb/misc/ugold.c @@ -239,7 +239,8 @@ sensor_tree = SYSCTL_ADD_NODE(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "sensors", - CTLFLAG_RD, NULL, ""); + CTLFLAG_RD, NULL, + "ugold sensor parameters"); if (sensor_tree == NULL) { error = ENOMEM; Index: sys/dev/usb/net/uhso.c =================================================================== --- sys/dev/usb/net/uhso.c +++ sys/dev/usb/net/uhso.c @@ -636,8 +636,9 @@ desc = uhso_port_type_sysctl[port]; - tty_node = SYSCTL_ADD_NODE(sctx, SYSCTL_CHILDREN(tree), OID_AUTO, - desc, CTLFLAG_RD, NULL, ""); + tty_node = SYSCTL_ADD_NODE(sctx, SYSCTL_CHILDREN(tree), + OID_AUTO, desc, CTLFLAG_RD, NULL, + "TTY parameters"); ht->ht_name[0] = 0; if (sc->sc_ttys == 1) @@ -649,9 +650,11 @@ desc = uhso_port_type[port]; SYSCTL_ADD_STRING(sctx, SYSCTL_CHILDREN(tty_node), OID_AUTO, - "tty", CTLFLAG_RD, ht->ht_name, 0, ""); + "tty", CTLFLAG_RD, ht->ht_name, 0, + "TTY name"); SYSCTL_ADD_STRING(sctx, SYSCTL_CHILDREN(tty_node), OID_AUTO, - "desc", CTLFLAG_RD, desc, 0, ""); + "desc", CTLFLAG_RD, desc, 0, + "TTY description"); if (bootverbose) device_printf(sc->sc_dev, Index: sys/dev/usb/net/usb_ethernet.c =================================================================== --- sys/dev/usb/net/usb_ethernet.c +++ sys/dev/usb/net/usb_ethernet.c @@ -262,7 +262,8 @@ snprintf(num, sizeof(num), "%u", ue->ue_unit); ue->ue_sysctl_oid = SYSCTL_ADD_NODE(&ue->ue_sysctl_ctx, &SYSCTL_NODE_CHILDREN(_net, ue), - OID_AUTO, num, CTLFLAG_RD, NULL, ""); + OID_AUTO, num, CTLFLAG_RD, NULL, + "Device parameters"); SYSCTL_ADD_PROC(&ue->ue_sysctl_ctx, SYSCTL_CHILDREN(ue->ue_sysctl_oid), OID_AUTO, "%parent", CTLTYPE_STRING | CTLFLAG_RD, ue, 0, Index: sys/dev/vmware/vmxnet3/if_vmx.c =================================================================== --- sys/dev/vmware/vmxnet3/if_vmx.c +++ sys/dev/vmware/vmxnet3/if_vmx.c @@ -3663,50 +3663,68 @@ struct vmxnet3_txqueue *txq = &sc->vmx_txq[i]; node = SYSCTL_ADD_NODE(ctx, txq->vxtxq_sysctl, OID_AUTO, - "debug", CTLFLAG_RD, NULL, ""); + "debug", CTLFLAG_RD, NULL, + "Transmit queue debug info"); list = SYSCTL_CHILDREN(node); SYSCTL_ADD_UINT(ctx, list, OID_AUTO, "cmd_head", CTLFLAG_RD, - &txq->vxtxq_cmd_ring.vxtxr_head, 0, ""); + &txq->vxtxq_cmd_ring.vxtxr_head, 0, + "Command ring descriptor"); SYSCTL_ADD_UINT(ctx, list, OID_AUTO, "cmd_next", CTLFLAG_RD, - &txq->vxtxq_cmd_ring.vxtxr_next, 0, ""); + &txq->vxtxq_cmd_ring.vxtxr_next, 0, + "Command ring next descriptor"); SYSCTL_ADD_UINT(ctx, list, OID_AUTO, "cmd_ndesc", CTLFLAG_RD, - &txq->vxtxq_cmd_ring.vxtxr_ndesc, 0, ""); + &txq->vxtxq_cmd_ring.vxtxr_ndesc, 0, + "Command ring number of descriptors"); SYSCTL_ADD_INT(ctx, list, OID_AUTO, "cmd_gen", CTLFLAG_RD, - &txq->vxtxq_cmd_ring.vxtxr_gen, 0, ""); + &txq->vxtxq_cmd_ring.vxtxr_gen, 0, + "Command ring generate flag"); SYSCTL_ADD_UINT(ctx, list, OID_AUTO, "comp_next", CTLFLAG_RD, - &txq->vxtxq_comp_ring.vxcr_next, 0, ""); + &txq->vxtxq_comp_ring.vxcr_next, 0, + "Comp ring next descriptor"); SYSCTL_ADD_UINT(ctx, list, OID_AUTO, "comp_ndesc", CTLFLAG_RD, - &txq->vxtxq_comp_ring.vxcr_ndesc, 0,""); + &txq->vxtxq_comp_ring.vxcr_ndesc, 0, + "Comp ring number of descriptors"); SYSCTL_ADD_INT(ctx, list, OID_AUTO, "comp_gen", CTLFLAG_RD, - &txq->vxtxq_comp_ring.vxcr_gen, 0, ""); + &txq->vxtxq_comp_ring.vxcr_gen, 0, + "Comp ring generate flag"); } for (i = 0; i < sc->vmx_nrxqueues; i++) { struct vmxnet3_rxqueue *rxq = &sc->vmx_rxq[i]; node = SYSCTL_ADD_NODE(ctx, rxq->vxrxq_sysctl, OID_AUTO, - "debug", CTLFLAG_RD, NULL, ""); + "debug", CTLFLAG_RD, NULL, + "Receive queue debug info"); list = SYSCTL_CHILDREN(node); SYSCTL_ADD_UINT(ctx, list, OID_AUTO, "cmd0_fill", CTLFLAG_RD, - &rxq->vxrxq_cmd_ring[0].vxrxr_fill, 0, ""); + &rxq->vxrxq_cmd_ring[0].vxrxr_fill, 0, + "Command ring"); SYSCTL_ADD_UINT(ctx, list, OID_AUTO, "cmd0_ndesc", CTLFLAG_RD, - &rxq->vxrxq_cmd_ring[0].vxrxr_ndesc, 0, ""); + &rxq->vxrxq_cmd_ring[0].vxrxr_ndesc, 0, + "Command ring0 number of descriptors"); SYSCTL_ADD_INT(ctx, list, OID_AUTO, "cmd0_gen", CTLFLAG_RD, - &rxq->vxrxq_cmd_ring[0].vxrxr_gen, 0, ""); + &rxq->vxrxq_cmd_ring[0].vxrxr_gen, 0, + "Command ring0 generate flag"); SYSCTL_ADD_UINT(ctx, list, OID_AUTO, "cmd1_fill", CTLFLAG_RD, - &rxq->vxrxq_cmd_ring[1].vxrxr_fill, 0, ""); + &rxq->vxrxq_cmd_ring[1].vxrxr_fill, 0, + "Command ring1 "); SYSCTL_ADD_UINT(ctx, list, OID_AUTO, "cmd1_ndesc", CTLFLAG_RD, - &rxq->vxrxq_cmd_ring[1].vxrxr_ndesc, 0, ""); + &rxq->vxrxq_cmd_ring[1].vxrxr_ndesc, 0, + "Command ring1 number of descriptors"); SYSCTL_ADD_INT(ctx, list, OID_AUTO, "cmd1_gen", CTLFLAG_RD, - &rxq->vxrxq_cmd_ring[1].vxrxr_gen, 0, ""); + &rxq->vxrxq_cmd_ring[1].vxrxr_gen, 0, + "Command ring1 generate flag"); SYSCTL_ADD_UINT(ctx, list, OID_AUTO, "comp_next", CTLFLAG_RD, - &rxq->vxrxq_comp_ring.vxcr_next, 0, ""); + &rxq->vxrxq_comp_ring.vxcr_next, 0, + "Comp ring next descriptor"); SYSCTL_ADD_UINT(ctx, list, OID_AUTO, "comp_ndesc", CTLFLAG_RD, - &rxq->vxrxq_comp_ring.vxcr_ndesc, 0,""); + &rxq->vxrxq_comp_ring.vxcr_ndesc, 0, + "Comp ring number of descriptors"); SYSCTL_ADD_INT(ctx, list, OID_AUTO, "comp_gen", CTLFLAG_RD, - &rxq->vxrxq_comp_ring.vxcr_gen, 0, ""); + &rxq->vxrxq_comp_ring.vxcr_gen, 0, + "Comp ring generate flag"); } } Index: sys/dev/xen/xenstore/xenstore.c =================================================================== --- sys/dev/xen/xenstore/xenstore.c +++ sys/dev/xen/xenstore/xenstore.c @@ -1314,8 +1314,10 @@ /*------------------------------- Sysctl Data --------------------------------*/ /* XXX Shouldn't the node be somewhere else? */ SYSCTL_NODE(_dev, OID_AUTO, xen, CTLFLAG_RD, NULL, "Xen"); -SYSCTL_INT(_dev_xen, OID_AUTO, xsd_port, CTLFLAG_RD, &xs.evtchn, 0, ""); -SYSCTL_ULONG(_dev_xen, OID_AUTO, xsd_kva, CTLFLAG_RD, (u_long *) &xen_store, 0, ""); +SYSCTL_INT(_dev_xen, OID_AUTO, xsd_port, CTLFLAG_RD, &xs.evtchn, 0, + "Event channel"); +SYSCTL_ULONG(_dev_xen, OID_AUTO, xsd_kva, CTLFLAG_RD, (u_long *) &xen_store, 0, + "XenStore address"); /*-------------------------------- Public API --------------------------------*/ /*------- API comments for these methods can be found in xenstorevar.h -------*/ Index: sys/kern/subr_bus.c =================================================================== --- sys/kern/subr_bus.c +++ sys/kern/subr_bus.c @@ -72,7 +72,8 @@ #include SYSCTL_NODE(_hw, OID_AUTO, bus, CTLFLAG_RW, NULL, NULL); -SYSCTL_ROOT_NODE(OID_AUTO, dev, CTLFLAG_RW, NULL, NULL); +SYSCTL_ROOT_NODE(OID_AUTO, dev, CTLFLAG_RW, NULL, + "Devices"); /* * Used to attach drivers to devclasses.