diff options
| author | Aleksey Makarov <amakarov@ru.mvista.com> | 2006-01-09 18:59:27 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@hera.kernel.org> | 2006-01-09 18:59:27 -0500 |
| commit | f36d4024caa3790606e43228a574157c45b73b22 (patch) | |
| tree | eb3d5e39d5fd83731bf608c4a7c424916e68c007 /include/linux/ide.h | |
| parent | 3fe0c2776113c24b4b30374003f934cf44280db5 (diff) | |
[PATCH] mutex subsystem, semaphore to completion: IDE ->gendev_rel_sem
The patch changes semaphores that are initialized as
locked to complete().
Source: MontaVista Software, Inc.
Modified-by: Steven Rostedt <rostedt@goodmis.org>
The following patch is from Montavista. I modified it slightly.
Semaphores are currently being used where it makes more sense for
completions. This patch corrects that.
Signed-off-by: Aleksey Makarov <amakarov@ru.mvista.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/ide.h')
| -rw-r--r-- | include/linux/ide.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h index ef8d0cbb832f..9a8c05dbe4f3 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
| @@ -18,6 +18,7 @@ | |||
| 18 | #include <linux/bio.h> | 18 | #include <linux/bio.h> |
| 19 | #include <linux/device.h> | 19 | #include <linux/device.h> |
| 20 | #include <linux/pci.h> | 20 | #include <linux/pci.h> |
| 21 | #include <linux/completion.h> | ||
| 21 | #include <asm/byteorder.h> | 22 | #include <asm/byteorder.h> |
| 22 | #include <asm/system.h> | 23 | #include <asm/system.h> |
| 23 | #include <asm/io.h> | 24 | #include <asm/io.h> |
| @@ -638,7 +639,7 @@ typedef struct ide_drive_s { | |||
| 638 | int crc_count; /* crc counter to reduce drive speed */ | 639 | int crc_count; /* crc counter to reduce drive speed */ |
| 639 | struct list_head list; | 640 | struct list_head list; |
| 640 | struct device gendev; | 641 | struct device gendev; |
| 641 | struct semaphore gendev_rel_sem; /* to deal with device release() */ | 642 | struct completion gendev_rel_comp; /* to deal with device release() */ |
| 642 | } ide_drive_t; | 643 | } ide_drive_t; |
| 643 | 644 | ||
| 644 | #define to_ide_device(dev)container_of(dev, ide_drive_t, gendev) | 645 | #define to_ide_device(dev)container_of(dev, ide_drive_t, gendev) |
| @@ -794,7 +795,7 @@ typedef struct hwif_s { | |||
| 794 | unsigned sg_mapped : 1; /* sg_table and sg_nents are ready */ | 795 | unsigned sg_mapped : 1; /* sg_table and sg_nents are ready */ |
| 795 | 796 | ||
| 796 | struct device gendev; | 797 | struct device gendev; |
| 797 | struct semaphore gendev_rel_sem; /* To deal with device release() */ | 798 | struct completion gendev_rel_comp; /* To deal with device release() */ |
| 798 | 799 | ||
| 799 | void *hwif_data; /* extra hwif data */ | 800 | void *hwif_data; /* extra hwif data */ |
| 800 | 801 | ||
