git: a8f80c0c16c7 - main - iichid(4): Unify two taskqueue tasks
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 27 Dec 2023 00:45:31 UTC
The branch main has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=a8f80c0c16c7fb38c46ddccd7e1b06dc46c407b1 commit a8f80c0c16c7fb38c46ddccd7e1b06dc46c407b1 Author: Alexander Motin <mav@FreeBSD.org> AuthorDate: 2023-12-27 00:28:56 +0000 Commit: Alexander Motin <mav@FreeBSD.org> CommitDate: 2023-12-27 00:28:56 +0000 iichid(4): Unify two taskqueue tasks taskqueue_enqueue_timeout(0) is equivalent to taskqueue_enqueue(), so no need to create a separate periodic_task and event_task to run exactly the same handler. MFC after: 1 month --- sys/dev/iicbus/iichid.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/sys/dev/iicbus/iichid.c b/sys/dev/iicbus/iichid.c index 84f624f9bb09..0752521f3884 100644 --- a/sys/dev/iicbus/iichid.c +++ b/sys/dev/iicbus/iichid.c @@ -182,8 +182,7 @@ struct iichid_softc { bool callout_setup; /* iicbus lock */ uint8_t *dup_buf; struct taskqueue *taskqueue; - struct timeout_task periodic_task; /* iicbus lock */ - struct task event_task; + struct timeout_task sampling_task; /* iicbus lock */ #endif struct task suspend_task; @@ -520,7 +519,7 @@ iichid_cmd_set_report(struct iichid_softc* sc, const void *buf, #ifdef IICHID_SAMPLING static void -iichid_event_task(void *context, int pending) +iichid_sampling_task(void *context, int pending) { struct iichid_softc *sc; device_t parent; @@ -566,7 +565,7 @@ rearm: rate = sc->sampling_rate_slow; else rate = sc->sampling_rate_fast; - taskqueue_enqueue_timeout_sbt(sc->taskqueue, &sc->periodic_task, + taskqueue_enqueue_timeout_sbt(sc->taskqueue, &sc->sampling_task, SBT_1S / MAX(rate, 1), 0, C_PREL(2)); } out: @@ -742,7 +741,7 @@ iichid_reset_callout(struct iichid_softc *sc) sc->missing_samples = sc->sampling_hysteresis; sc->dup_samples = 0; sc->dup_size = 0; - taskqueue_enqueue(sc->taskqueue, &sc->event_task); + taskqueue_enqueue_timeout(sc->taskqueue, &sc->sampling_task, 0); return (0); } @@ -752,7 +751,7 @@ iichid_teardown_callout(struct iichid_softc *sc) { sc->callout_setup = false; - taskqueue_cancel_timeout(sc->taskqueue, &sc->periodic_task, NULL); + taskqueue_cancel_timeout(sc->taskqueue, &sc->sampling_task, NULL); DPRINTF(sc, "tore callout down\n"); } @@ -1135,12 +1134,10 @@ iichid_attach(device_t dev) TASK_INIT(&sc->suspend_task, 0, iichid_suspend_task, sc); #ifdef IICHID_SAMPLING - TASK_INIT(&sc->event_task, 0, iichid_event_task, sc); - /* taskqueue_create can't fail with M_WAITOK mflag passed. */ sc->taskqueue = taskqueue_create("iichid_tq", M_WAITOK | M_ZERO, taskqueue_thread_enqueue, &sc->taskqueue); - TIMEOUT_TASK_INIT(sc->taskqueue, &sc->periodic_task, 0, - iichid_event_task, sc); + TIMEOUT_TASK_INIT(sc->taskqueue, &sc->sampling_task, 0, + iichid_sampling_task, sc); sc->sampling_rate_slow = -1; sc->sampling_rate_fast = IICHID_SAMPLING_RATE_FAST;