On Thu, Jan 19, 2017 at 02:40:56PM -0800, Dmitry Torokhov wrote: [...] > diff --git a/drivers/input/misc/pwm-beeper.c b/drivers/input/misc/pwm-beeper.c > index 9964c46468d3..7b213e0ab06c 100644 > --- a/drivers/input/misc/pwm-beeper.c > +++ b/drivers/input/misc/pwm-beeper.c > @@ -14,6 +14,7 @@ > */ > > #include > +#include > #include > #include > #include > @@ -25,30 +26,59 @@ > struct pwm_beeper { > struct input_dev *input; > struct pwm_device *pwm; > + struct regulator *amplifier; > struct work_struct work; > unsigned long period; > bool suspended; > + bool amplifier_on; Why do you need to track this? I thought regulator_enable() and regulator_disable() were already reference counted? Thierry