Messages in this thread | | | Date | Tue, 24 Feb 2015 09:59:15 +0900 | From | Jaewon Kim <> | Subject | Re: [PATCH v4 4/5] Input: add haptic drvier on max77843 |
| |
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@gmail.com> >> Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com> > ... > >> +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
| |