On 11/25/24 5:02 PM, Rafael V. Volkmer wrote: > Add `COUNTER_FUNCTION_DISABLE` to the `counter_function` enum in the > counter API. This allows file operations to signal other drivers to > disable hardware resources, reducing energy consumption in > power-sensitive scenarios. > > Previously, tests with Texas Instruments' eQEP modules revealed that > hardware resources remained active unless the driver was removed, > offering no user command to stop the count. This approach exposed the > fragility of these resources. > > To address this, introduce a new enum option in the counter API to > receive commands for disabling the hardware. This ensures the hardware > enters an idle, power-saving state when not in use. How does this work without an additional patch to modify the TI eQEP counter driver to handle this new enum value? For example, I would expect that this enum value would be added to ti_eqep_position_functions and case statements added in ti_eqep_function_read(), ti_eqep_function_write() and ti_eqep_action_read() to handle the new option. > > Signed-off-by: Rafael V. Volkmer <rafael.v.volkmer@xxxxxxxxx> > --- > include/uapi/linux/counter.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/include/uapi/linux/counter.h b/include/uapi/linux/counter.h > index 008a691c254b..6f9a6ef878cf 100644 > --- a/include/uapi/linux/counter.h > +++ b/include/uapi/linux/counter.h > @@ -145,6 +145,7 @@ enum counter_function { > COUNTER_FUNCTION_QUADRATURE_X2_A, > COUNTER_FUNCTION_QUADRATURE_X2_B, > COUNTER_FUNCTION_QUADRATURE_X4, > + COUNTER_FUNCTION_DISABLE, > }; > > /* Signal values */