aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBorislav Petkov <petkovbb@googlemail.com>2008-07-23 19:55:59 +0200
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-07-23 19:55:59 +0200
commitd7c26ebb5bca284ece9db7311a9e180aabae1922 (patch)
tree8a1b87c735863289d87b9d9a48191776de578468
parentdrivers/ide/ide-tape.c: remove double kfree (diff)
downloadlinux-dev-d7c26ebb5bca284ece9db7311a9e180aabae1922.tar.xz
linux-dev-d7c26ebb5bca284ece9db7311a9e180aabae1922.zip
ide: push pc callback pointer into the ide_drive_t structure
Refrain from carrying the callback ptr with every packet command since the callback function is only one anyways. ide_drive_t is probably not the most suitable place for it right now but is the more sane solution. Besides, these structs are going to be reorganized anyways during the generic ide rewrite. Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-rw-r--r--include/linux/ide.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 46d5bfe2fefb..a28823297edc 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -308,7 +308,7 @@ struct ide_acpi_drive_link;
struct ide_acpi_hwif_link;
#endif
-typedef struct ide_drive_s {
+struct ide_drive_s {
char name[4]; /* drive name, such as "hda" */
char driver_req[10]; /* requests specific driver */
@@ -400,7 +400,12 @@ typedef struct ide_drive_s {
struct list_head list;
struct device gendev;
struct completion gendev_rel_comp; /* to deal with device release() */
-} ide_drive_t;
+
+ /* callback for packet commands */
+ void (*pc_callback)(struct ide_drive_s *);
+};
+
+typedef struct ide_drive_s ide_drive_t;
#define to_ide_device(dev)container_of(dev, ide_drive_t, gendev)