]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.drivers/libata-misc-updates-to-prepare-for-slave-link
Move xen patchset to new version's subdir.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.drivers / libata-misc-updates-to-prepare-for-slave-link
diff --git a/src/patches/suse-2.6.27.31/patches.drivers/libata-misc-updates-to-prepare-for-slave-link b/src/patches/suse-2.6.27.31/patches.drivers/libata-misc-updates-to-prepare-for-slave-link
new file mode 100644 (file)
index 0000000..1ef7aaa
--- /dev/null
@@ -0,0 +1,84 @@
+From b5b3fa386b8f96c7fa92e507e5deddc2637924b4 Mon Sep 17 00:00:00 2001
+From: Tejun Heo <tj@kernel.org>
+Date: Thu, 31 Jul 2008 17:02:42 +0900
+Subject: [PATCH] libata: misc updates to prepare for slave link
+References: bnc#441420
+
+* Add ATA_EH_ALL_ACTIONS.
+
+* Make sata_link_{on|off}_line() return bool instead of int.
+
+Signed-off-by: Tejun Heo <tj@kernel.org>
+Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+Signed-off-by: Tejun Heo <teheo@suse.de>
+---
+ drivers/ata/libata-core.c |   16 ++++++++--------
+ include/linux/libata.h    |    6 ++++--
+ 2 files changed, 12 insertions(+), 10 deletions(-)
+
+--- a/drivers/ata/libata-core.c
++++ b/drivers/ata/libata-core.c
+@@ -5052,16 +5052,16 @@ int sata_scr_write_flush(struct ata_link
+  *    None.
+  *
+  *    RETURNS:
+- *    1 if the port online status is available and online.
++ *    True if the port online status is available and online.
+  */
+-int ata_link_online(struct ata_link *link)
++bool ata_link_online(struct ata_link *link)
+ {
+       u32 sstatus;
+       if (sata_scr_read(link, SCR_STATUS, &sstatus) == 0 &&
+           (sstatus & 0xf) == 0x3)
+-              return 1;
+-      return 0;
++              return true;
++      return false;
+ }
+ /**
+@@ -5076,16 +5076,16 @@ int ata_link_online(struct ata_link *lin
+  *    None.
+  *
+  *    RETURNS:
+- *    1 if the port offline status is available and offline.
++ *    True if the port offline status is available and offline.
+  */
+-int ata_link_offline(struct ata_link *link)
++bool ata_link_offline(struct ata_link *link)
+ {
+       u32 sstatus;
+       if (sata_scr_read(link, SCR_STATUS, &sstatus) == 0 &&
+           (sstatus & 0xf) != 0x3)
+-              return 1;
+-      return 0;
++              return true;
++      return false;
+ }
+ #ifdef CONFIG_PM
+--- a/include/linux/libata.h
++++ b/include/linux/libata.h
+@@ -321,6 +321,8 @@ enum {
+       ATA_EH_LPM              = (1 << 4),  /* link power management action */
+       ATA_EH_PERDEV_MASK      = ATA_EH_REVALIDATE,
++      ATA_EH_ALL_ACTIONS      = ATA_EH_REVALIDATE | ATA_EH_RESET |
++                                ATA_EH_ENABLE_LINK | ATA_EH_LPM,
+       /* ata_eh_info->flags */
+       ATA_EHI_HOTPLUGGED      = (1 << 0),  /* could have been hotplugged */
+@@ -921,8 +923,8 @@ extern int sata_scr_valid(struct ata_lin
+ extern int sata_scr_read(struct ata_link *link, int reg, u32 *val);
+ extern int sata_scr_write(struct ata_link *link, int reg, u32 val);
+ extern int sata_scr_write_flush(struct ata_link *link, int reg, u32 val);
+-extern int ata_link_online(struct ata_link *link);
+-extern int ata_link_offline(struct ata_link *link);
++extern bool ata_link_online(struct ata_link *link);
++extern bool ata_link_offline(struct ata_link *link);
+ #ifdef CONFIG_PM
+ extern int ata_host_suspend(struct ata_host *host, pm_message_t mesg);
+ extern void ata_host_resume(struct ata_host *host);