aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-05-15 20:57:55 +0900
committerTejun Heo <htejun@gmail.com>2006-05-15 20:57:55 +0900
commit61440db61fe4945ad9f7b32b4d6a22b17174aa1f (patch)
tree4c093d6c72facf6bc77fcedce7d8c1cb85415f5b
parent[PATCH] libata: use dev->ap (diff)
downloadlinux-dev-61440db61fe4945ad9f7b32b4d6a22b17174aa1f.tar.xz
linux-dev-61440db61fe4945ad9f7b32b4d6a22b17174aa1f.zip
[PATCH] libata: implement ATA printk helpers
Implement ata_{port|dev}_printk() which prefixes the message with proper identification string. This change is necessary for later PM support because devices and links should be identified differently depending on how they are attached. This also helps unifying device id strings. Currently, there are two forms in use (P is the port number D device number) - 'ataP(D):', and 'ataP: dev D '. These macros also make it harder to forget proper ID string (e.g. printing only port number when a device is in question). Debug message handling can be integrated into these printk macros by passing debug type and level via @lv. Signed-off-by: Tejun Heo <htejun@gmail.com>
-rw-r--r--include/linux/libata.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 8154b366bbd1..91e10e6b7565 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -650,7 +650,18 @@ extern void ata_eng_timeout(struct ata_port *ap);
extern void ata_eh_qc_complete(struct ata_queued_cmd *qc);
extern void ata_eh_qc_retry(struct ata_queued_cmd *qc);
+/*
+ * printk helpers
+ */
+#define ata_port_printk(ap, lv, fmt, args...) \
+ printk(lv"ata%u: "fmt, (ap)->id , ##args)
+
+#define ata_dev_printk(dev, lv, fmt, args...) \
+ printk(lv"ata%u.%02u: "fmt, (dev)->ap->id, (dev)->devno , ##args)
+/*
+ * qc helpers
+ */
static inline int
ata_sg_is_last(struct scatterlist *sg, struct ata_queued_cmd *qc)
{