On Tue, 2007-11-06 at 00:43 +0800, Dmitry Torokhov wrote:
> ACPI: video - convert semaphore to a mutex
>
> Signed-off-by: Dmitry Torokhov <[EMAIL PROTECTED]>
Acked-by: Zhang Rui <[EMAIL PROTECTED]>
> ---
> drivers/acpi/video.c | 21 +++++++++++----------
> 1 file changed, 11 insertions(+), 10 deletions(-)
>
> Index: work/drivers/acpi/video.c
> ===================================================================
> --- work.orig/drivers/acpi/video.c
> +++ work/drivers/acpi/video.c
> @@ -29,6 +29,7 @@
> #include <linux/init.h>
> #include <linux/types.h>
> #include <linux/list.h>
> +#include <linux/mutex.h>
> #include <linux/proc_fs.h>
> #include <linux/seq_file.h>
> #include <linux/input.h>
> @@ -135,8 +136,8 @@ struct acpi_video_bus {
> u8 attached_count;
> struct acpi_video_bus_cap cap;
> struct acpi_video_bus_flags flags;
> - struct semaphore sem;
> struct list_head video_device_list;
> + struct mutex device_list_lock; /* protects video_device_list
> */
> struct proc_dir_entry *dir;
> struct input_dev *input;
> char phys[32]; /* for input device */
> @@ -1436,9 +1437,9 @@ acpi_video_bus_get_one_device(struct acp
> return -ENODEV;
> }
>
> - down(&video->sem);
> + mutex_lock(&video->device_list_lock);
> list_add_tail(&data->entry,
> &video->video_device_list);
> - up(&video->sem);
> + mutex_unlock(&video->device_list_lock);
>
> acpi_video_device_add_fs(device);
>
> @@ -1464,12 +1465,12 @@ static void acpi_video_device_rebind(str
> {
> struct acpi_video_device *dev;
>
> - down(&video->sem);
> + mutex_lock(&video->device_list_lock);
>
> list_for_each_entry(dev, &video->video_device_list, entry)
> acpi_video_device_bind(video, dev);
>
> - up(&video->sem);
> + mutex_unlock(&video->device_list_lock);
> }
>
> /*
> @@ -1601,7 +1602,7 @@ static int acpi_video_switch_output(stru
> unsigned long state;
> int status = 0;
>
> - down(&video->sem);
> + mutex_lock(&video->device_list_lock);
>
> list_for_each(node, &video->video_device_list) {
> dev = container_of(node, struct acpi_video_device,
> entry);
> @@ -1619,7 +1620,7 @@ static int acpi_video_switch_output(stru
> dev_prev = container_of(node->prev, struct acpi_video_device,
> entry);
>
> out:
> - up(&video->sem);
> + mutex_unlock(&video->device_list_lock);
>
> switch (event) {
> case ACPI_VIDEO_NOTIFY_CYCLE:
> @@ -1738,7 +1739,7 @@ static int acpi_video_bus_put_devices(st
> int status;
> struct acpi_video_device *dev, *next;
>
> - down(&video->sem);
> + mutex_lock(&video->device_list_lock);
>
> list_for_each_entry_safe(dev, next, &video->video_device_list,
> entry) {
>
> @@ -1755,7 +1756,7 @@ static int acpi_video_bus_put_devices(st
> kfree(dev);
> }
>
> - up(&video->sem);
> + mutex_unlock(&video->device_list_lock);
>
> return 0;
> }
> @@ -1924,7 +1925,7 @@ static int acpi_video_bus_add(struct acp
> if (error)
> goto err_free_video;
>
> - init_MUTEX(&video->sem);
> + mutex_init(&video->device_list_lock);
> INIT_LIST_HEAD(&video->video_device_list);
>
> acpi_video_bus_get_devices(video, device);
>
> --
> Dmitry
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html