Hi Dmitry Torokhov,
On 02/24/2015 02:26 AM, Dmitry Torokhov wrote:
Hi Jaew9on,
On Mon, Feb 23, 2015 at 05:09:50PM +0900, Jaewon Kim wrote:
This patch adds support for haptic driver on max77843
MFD(Multi Function Device) with PMIC, MUIC, LED, CHARGER.
This driver supports external pwm and LRA(Linear Resonant Actuator) motor.
And it supports ff-memless interface from inpu framework.
Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx>
...
+static void max77843_haptic_play_work(struct work_struct *work)
+{
+ struct max77843_haptic *haptic =
+ container_of(work, struct max77843_haptic, work);
+ int error;
+
+ mutex_lock(&haptic->mutex);
+
+ if (haptic->suspended)
+ mutex_unlock(&haptic->mutex);
Huh?
This code prevent to play haptic when entering suspend state.
But I forgot return.
I will add return 0 in version 6.
+
+ error = max77843_haptic_set_duty_cycle(haptic);
+ if (error) {
+ dev_err(haptic->dev, "failed to set duty cycle: %d\n", error);
+ return;
Here you are leaving with the mutex held.
Okay, I will add mutex_unlock().
+ }
+
+ if (haptic->magnitude) {
+ error = max77843_haptic_enable(haptic);
+ if (error)
+ dev_err(haptic->dev,
+ "cannot enable haptic: %d\n", error);
+ } else {
+ max77843_haptic_disable(haptic);
+ if (error)
+ dev_err(haptic->dev,
+ "cannot disable haptic: %d\n", error);
+ }
+
+ mutex_unlock(&haptic->mutex);
+}
+
The rest seems quite reasonable.
Thanks.
Thanks to review my patch.
Thanks,
Jaewon Kim
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html