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