worklist
if (worklist[i].index >= 32768 &&
sc->chip->ratio[worklist[i].index - 32768] == 0)
for (i = 0; i < sizeof worklist / sizeof(worklist[0]); i++) {
if (worklist[i].index >= 32768) {
ratio = sc->chip->ratio[worklist[i].index - 32768];
cmd = worklist[i].cmd;
switch (worklist[i].sensor) {
cmd = worklist[i].cmd + 1; /* TACHnH follows TACHnL */
cmd = worklist[i].cmd + 1; /* TACHnH follows TACHnL */
} worklist[] = {
worklist_add(const char *path, struct wklhead *worklist)
struct worklist *wkl;
SLIST_INSERT_HEAD(worklist, wkl, wkl_list);
worklist_run(struct wklhead *list, void (*cb)(struct worklist *))
struct worklist *wkl;
worklist_clean(struct wklhead *list, void (*cb)(struct worklist *))
struct worklist *wkl;
worklist_unlink(struct worklist *wkl)
volatile SLIST_ENTRY(worklist) wkl_list;
SLIST_HEAD(wklhead, worklist);
void worklist_run(struct wklhead *, void (*cb)(struct worklist *));
void worklist_clean(struct wklhead *, void (*cb)(struct worklist *));
void worklist_unlink(struct worklist *);
worklist_add(const char *path, struct wklhead *worklist)
struct worklist *wkl;
SLIST_INSERT_HEAD(worklist, wkl, wkl_list);
worklist_run(struct wklhead *list, void (*cb)(struct worklist *))
struct worklist *wkl;
worklist_clean(struct wklhead *list, void (*cb)(struct worklist *))
struct worklist *wkl;
worklist_unlink(struct worklist *wkl)
volatile SLIST_ENTRY(worklist) wkl_list;
SLIST_HEAD(wklhead, worklist);
void worklist_run(struct wklhead *, void (*cb)(struct worklist *));
void worklist_clean(struct wklhead *, void (*cb)(struct worklist *));
void worklist_unlink(struct worklist *);
free(pft->worklist);
pft->worklist = NULL;
tmp = reallocarray(pft->worklist, pft->nalloc, sizeof(*tmp));
if (pft->worklist != NULL) {
free(pft->worklist);
pft->worklist = NULL;
pft->worklist = tmp;
pfa = &pft->worklist[pft->naddrs];
free(pft->worklist);
pft->worklist = NULL;
struct pfr_addr *worklist;
tio.pfrio_buffer = pft->worklist;
tio.pfrio_esize = sizeof(*pft->worklist);