libata: add ata_sg_is_last() helper, use it in several drivers
diff --git a/include/linux/libata.h b/include/linux/libata.h
index d3f58a7..d3dfefe 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -480,6 +480,18 @@
 #endif /* CONFIG_PCI */
 
 
+static inline int
+ata_sg_is_last(struct scatterlist *sg, struct ata_queued_cmd *qc)
+{
+	if (sg == &qc->pad_sgent)
+		return 1;
+	if (qc->pad_len)
+		return 0;
+	if (((sg - qc->__sg) + 1) == qc->n_elem)
+		return 1;
+	return 0;
+}
+
 static inline struct scatterlist *
 ata_qc_next_sg(struct scatterlist *sg, struct ata_queued_cmd *qc)
 {