提交 9e4cc255 编写于 作者: H H. Nikolaus Schaller 提交者: Dmitry Torokhov

Input: twl6040-vibra - remove mutex

The mutex does not seem to be needed. twl4030-vibra doesn't
use one either.
Signed-off-by: NH. Nikolaus Schaller <hns@goldelico.com>
Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
上级 2d077d9f
...@@ -47,7 +47,7 @@ struct vibra_info { ...@@ -47,7 +47,7 @@ struct vibra_info {
struct input_dev *input_dev; struct input_dev *input_dev;
struct workqueue_struct *workqueue; struct workqueue_struct *workqueue;
struct work_struct play_work; struct work_struct play_work;
struct mutex mutex;
int irq; int irq;
bool enabled; bool enabled;
...@@ -183,8 +183,6 @@ static void vibra_play_work(struct work_struct *work) ...@@ -183,8 +183,6 @@ static void vibra_play_work(struct work_struct *work)
struct vibra_info *info = container_of(work, struct vibra_info *info = container_of(work,
struct vibra_info, play_work); struct vibra_info, play_work);
mutex_lock(&info->mutex);
if (info->weak_speed || info->strong_speed) { if (info->weak_speed || info->strong_speed) {
if (!info->enabled) if (!info->enabled)
twl6040_vibra_enable(info); twl6040_vibra_enable(info);
...@@ -193,7 +191,6 @@ static void vibra_play_work(struct work_struct *work) ...@@ -193,7 +191,6 @@ static void vibra_play_work(struct work_struct *work)
} else if (info->enabled) } else if (info->enabled)
twl6040_vibra_disable(info); twl6040_vibra_disable(info);
mutex_unlock(&info->mutex);
} }
static int vibra_play(struct input_dev *input, void *data, static int vibra_play(struct input_dev *input, void *data,
...@@ -228,12 +225,8 @@ static void twl6040_vibra_close(struct input_dev *input) ...@@ -228,12 +225,8 @@ static void twl6040_vibra_close(struct input_dev *input)
cancel_work_sync(&info->play_work); cancel_work_sync(&info->play_work);
mutex_lock(&info->mutex);
if (info->enabled) if (info->enabled)
twl6040_vibra_disable(info); twl6040_vibra_disable(info);
mutex_unlock(&info->mutex);
} }
static int __maybe_unused twl6040_vibra_suspend(struct device *dev) static int __maybe_unused twl6040_vibra_suspend(struct device *dev)
...@@ -241,13 +234,11 @@ static int __maybe_unused twl6040_vibra_suspend(struct device *dev) ...@@ -241,13 +234,11 @@ static int __maybe_unused twl6040_vibra_suspend(struct device *dev)
struct platform_device *pdev = to_platform_device(dev); struct platform_device *pdev = to_platform_device(dev);
struct vibra_info *info = platform_get_drvdata(pdev); struct vibra_info *info = platform_get_drvdata(pdev);
mutex_lock(&info->mutex); cancel_work_sync(&info->play_work);
if (info->enabled) if (info->enabled)
twl6040_vibra_disable(info); twl6040_vibra_disable(info);
mutex_unlock(&info->mutex);
return 0; return 0;
} }
...@@ -305,8 +296,6 @@ static int twl6040_vibra_probe(struct platform_device *pdev) ...@@ -305,8 +296,6 @@ static int twl6040_vibra_probe(struct platform_device *pdev)
return -EINVAL; return -EINVAL;
} }
mutex_init(&info->mutex);
error = devm_request_threaded_irq(&pdev->dev, info->irq, NULL, error = devm_request_threaded_irq(&pdev->dev, info->irq, NULL,
twl6040_vib_irq_handler, twl6040_vib_irq_handler,
IRQF_ONESHOT, IRQF_ONESHOT,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册