Loading drivers/misc/isa1200.c +6 −0 Original line number Diff line number Diff line Loading @@ -120,6 +120,7 @@ static void isa1200_vib_set(struct isa1200_chip *haptic, int enable) } } mutex_lock(&haptic->client->dev.mutex); /* vote for clock */ if (haptic->pdata->need_pwm_clk && !haptic->clk_on) { rc = clk_prepare_enable(haptic->pwm_clk); Loading @@ -130,6 +131,7 @@ static void isa1200_vib_set(struct isa1200_chip *haptic, int enable) } haptic->clk_on = true; } mutex_unlock(&haptic->client->dev.mutex); rc = isa1200_write_reg(haptic->client, ISA1200_HCTRL5, Loading Loading @@ -162,11 +164,13 @@ static void isa1200_vib_set(struct isa1200_chip *haptic, int enable) if (rc < 0) pr_err("%s: stop vibartion fail\n", __func__); mutex_lock(&haptic->client->dev.mutex); /* de-vote clock */ if (haptic->pdata->need_pwm_clk && haptic->clk_on) { clk_disable_unprepare(haptic->pwm_clk); haptic->clk_on = false; } mutex_unlock(&haptic->client->dev.mutex); /* check for board specific clk callback */ if (haptic->pdata->clk_enable) { rc = haptic->pdata->clk_enable(false); Loading @@ -180,10 +184,12 @@ static void isa1200_vib_set(struct isa1200_chip *haptic, int enable) return; dis_clk: mutex_lock(&haptic->client->dev.mutex); if (haptic->pdata->need_pwm_clk && haptic->clk_on) { clk_disable_unprepare(haptic->pwm_clk); haptic->clk_on = false; } mutex_unlock(&haptic->client->dev.mutex); dis_clk_cb: if (haptic->pdata->clk_enable) { Loading Loading
drivers/misc/isa1200.c +6 −0 Original line number Diff line number Diff line Loading @@ -120,6 +120,7 @@ static void isa1200_vib_set(struct isa1200_chip *haptic, int enable) } } mutex_lock(&haptic->client->dev.mutex); /* vote for clock */ if (haptic->pdata->need_pwm_clk && !haptic->clk_on) { rc = clk_prepare_enable(haptic->pwm_clk); Loading @@ -130,6 +131,7 @@ static void isa1200_vib_set(struct isa1200_chip *haptic, int enable) } haptic->clk_on = true; } mutex_unlock(&haptic->client->dev.mutex); rc = isa1200_write_reg(haptic->client, ISA1200_HCTRL5, Loading Loading @@ -162,11 +164,13 @@ static void isa1200_vib_set(struct isa1200_chip *haptic, int enable) if (rc < 0) pr_err("%s: stop vibartion fail\n", __func__); mutex_lock(&haptic->client->dev.mutex); /* de-vote clock */ if (haptic->pdata->need_pwm_clk && haptic->clk_on) { clk_disable_unprepare(haptic->pwm_clk); haptic->clk_on = false; } mutex_unlock(&haptic->client->dev.mutex); /* check for board specific clk callback */ if (haptic->pdata->clk_enable) { rc = haptic->pdata->clk_enable(false); Loading @@ -180,10 +184,12 @@ static void isa1200_vib_set(struct isa1200_chip *haptic, int enable) return; dis_clk: mutex_lock(&haptic->client->dev.mutex); if (haptic->pdata->need_pwm_clk && haptic->clk_on) { clk_disable_unprepare(haptic->pwm_clk); haptic->clk_on = false; } mutex_unlock(&haptic->client->dev.mutex); dis_clk_cb: if (haptic->pdata->clk_enable) { Loading