[PATCH v2 0/6] gpiolib: cdev: code cleanup following hte integration

From: Kent Gibson
Date: Wed Jul 13 2022 - 22:03:44 EST


This patch series is a collection of improvements to simplify the
code, improve readability, and compile out unused code.
There are no functional changes.

The first patch is a cleanup for my recent linereq_free() fix. I
noted then that the edge_detector_stop() could probably be safely
moved inside the line desc check block, but wanted to keep that
change minimal just in case. It can be safely moved, and so here
it is.

Patch 2 makes use of an existing macro to simplify a call.

Patch 3 replaces some more if-else chains with switches, which is
more readable (YMMV).

Patch 4 reorganizes the line identification code to share code
common to alternate paths.

Patch 5 consolidates a number of separate flags into one. This
reduces code complexity, simplifies any future edge source additions,
and makes patch 6 significantly simpler.

Patch 6 totally compiles out the hte specific code when CONFIG_HTE
is not selected.

I've based this series on gpio/for-current, as it requires the fix
patch -
commit c8e27a4a5136 ("gpiolib: cdev: fix null pointer dereference in linereq_free()")
Happy to rebase if that doesn't suit.

Dipen, I don't have any HTE compatible hardware to test with, so
could you check that this still works for you?

Changes v1 -> v2:
Address Andy's review comments, specifically
- Patch 4 move ternary initializer into a helper function.
- Patch 5 variable declaration ordering.
- Patch 6 remove obsoleted comment and tidy some if expressions.

Kent Gibson (6):
gpiolib: cdev: simplify linereq_free
gpiolib: cdev: simplify parameter in call to hte_edge_setup
gpiolib: cdev: replace if-else chains with switches
gpiolib: cdev: simplify line event identification
gpiolib: cdev: consolidate edge detector configuration flags
gpiolib: cdev: compile out HTE unless CONFIG_HTE selected

drivers/gpio/gpiolib-cdev.c | 291 +++++++++++++++++++-----------------
1 file changed, 151 insertions(+), 140 deletions(-)


base-commit: 7329b071729645e243b6207e76bca2f4951c991b
--
2.37.1