MCPcopy Create free account
hub / github.com/F-Stack/f-stack / ti_adc_sysctl_init

Function ti_adc_sysctl_init

freebsd/arm/ti/ti_adc.c:549–595  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

547}
548
549static void
550ti_adc_sysctl_init(struct ti_adc_softc *sc)
551{
552 char pinbuf[3];
553 struct sysctl_ctx_list *ctx;
554 struct sysctl_oid *tree_node, *inp_node, *inpN_node;
555 struct sysctl_oid_list *tree, *inp_tree, *inpN_tree;
556 int ain, i;
557
558 /*
559 * Add per-pin sysctl tree/handlers.
560 */
561 ctx = device_get_sysctl_ctx(sc->sc_dev);
562 tree_node = device_get_sysctl_tree(sc->sc_dev);
563 tree = SYSCTL_CHILDREN(tree_node);
564 SYSCTL_ADD_PROC(ctx, tree, OID_AUTO, "clockdiv",
565 CTLFLAG_RW | CTLTYPE_UINT | CTLFLAG_NEEDGIANT, sc, 0,
566 ti_adc_clockdiv_proc, "IU", "ADC clock prescaler");
567 inp_node = SYSCTL_ADD_NODE(ctx, tree, OID_AUTO, "ain",
568 CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, "ADC inputs");
569 inp_tree = SYSCTL_CHILDREN(inp_node);
570
571 for (i = 0; i < sc->sc_adc_nchannels; i++) {
572 ain = sc->sc_adc_channels[i];
573
574 snprintf(pinbuf, sizeof(pinbuf), "%d", ain);
575 inpN_node = SYSCTL_ADD_NODE(ctx, inp_tree, OID_AUTO, pinbuf,
576 CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, "ADC input");
577 inpN_tree = SYSCTL_CHILDREN(inpN_node);
578
579 SYSCTL_ADD_PROC(ctx, inpN_tree, OID_AUTO, "enable",
580 CTLFLAG_RW | CTLTYPE_UINT | CTLFLAG_NEEDGIANT,
581 &ti_adc_inputs[ain], 0,
582 ti_adc_enable_proc, "IU", "Enable ADC input");
583 SYSCTL_ADD_PROC(ctx, inpN_tree, OID_AUTO, "open_delay",
584 CTLFLAG_RW | CTLTYPE_UINT | CTLFLAG_NEEDGIANT,
585 &ti_adc_inputs[ain], 0,
586 ti_adc_open_delay_proc, "IU", "ADC open delay");
587 SYSCTL_ADD_PROC(ctx, inpN_tree, OID_AUTO, "samples_avg",
588 CTLFLAG_RW | CTLTYPE_UINT | CTLFLAG_NEEDGIANT,
589 &ti_adc_inputs[ain], 0,
590 ti_adc_samples_avg_proc, "IU", "ADC samples average");
591 SYSCTL_ADD_INT(ctx, inpN_tree, OID_AUTO, "input",
592 CTLFLAG_RD, &ti_adc_inputs[ain].value, 0,
593 "Converted raw value for the ADC input");
594 }
595}
596
597static void
598ti_adc_inputs_init(struct ti_adc_softc *sc)

Callers 1

ti_adc_attachFunction · 0.85

Calls 3

device_get_sysctl_ctxFunction · 0.85
device_get_sysctl_treeFunction · 0.85
snprintfFunction · 0.85

Tested by

no test coverage detected