diff options
author | Joe Handzik <joseph.t.handzik@beardog.cce.hp.com> | 2011-08-08 05:40:17 -0400 |
---|---|---|
committer | Jens Axboe <jaxboe@fusionio.com> | 2011-08-08 05:40:17 -0400 |
commit | f963d270cb7bbb8eeb57901d02b22a493e664fd2 (patch) | |
tree | 24c3c13c3c82391b670b84d1d2436cc1a58c8dbb | |
parent | 13049537007dee73a76f0a30fcbc24d02c6fa9e4 (diff) |
cciss: add transport mode attribute to sys
Signed-off-by: Joseph Handzik <joseph.t.handzik@beardog.cce.hp.com>
Acked-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
-rw-r--r-- | Documentation/ABI/testing/sysfs-bus-pci-devices-cciss | 7 | ||||
-rw-r--r-- | drivers/block/cciss.c | 13 |
2 files changed, 20 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/sysfs-bus-pci-devices-cciss b/Documentation/ABI/testing/sysfs-bus-pci-devices-cciss index f5bb0a3bb8c0..53d99edd1d75 100644 --- a/Documentation/ABI/testing/sysfs-bus-pci-devices-cciss +++ b/Documentation/ABI/testing/sysfs-bus-pci-devices-cciss | |||
@@ -71,3 +71,10 @@ Description: Value of 1 indicates the controller can honor the reset_devices | |||
71 | a dump device, as kdump requires resetting the device in order | 71 | a dump device, as kdump requires resetting the device in order |
72 | to work reliably. | 72 | to work reliably. |
73 | 73 | ||
74 | Where: /sys/bus/pci/devices/<dev>/ccissX/transport_mode | ||
75 | Date: July 2011 | ||
76 | Kernel Version: 3.0 | ||
77 | Contact: iss_storagedev@hp.com | ||
78 | Description: Value of "simple" indicates that the controller has been placed | ||
79 | in "simple mode". Value of "performant" indicates that the | ||
80 | controller has been placed in "performant mode". | ||
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index 61f0b5b6a415..6da7edea700a 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c | |||
@@ -641,6 +641,18 @@ static ssize_t host_store_rescan(struct device *dev, | |||
641 | } | 641 | } |
642 | static DEVICE_ATTR(rescan, S_IWUSR, NULL, host_store_rescan); | 642 | static DEVICE_ATTR(rescan, S_IWUSR, NULL, host_store_rescan); |
643 | 643 | ||
644 | static ssize_t host_show_transport_mode(struct device *dev, | ||
645 | struct device_attribute *attr, | ||
646 | char *buf) | ||
647 | { | ||
648 | struct ctlr_info *h = to_hba(dev); | ||
649 | |||
650 | return snprintf(buf, 20, "%s\n", | ||
651 | h->transMethod & CFGTBL_Trans_Performant ? | ||
652 | "performant" : "simple"); | ||
653 | } | ||
654 | static DEVICE_ATTR(transport_mode, S_IRUGO, host_show_transport_mode, NULL); | ||
655 | |||
644 | static ssize_t dev_show_unique_id(struct device *dev, | 656 | static ssize_t dev_show_unique_id(struct device *dev, |
645 | struct device_attribute *attr, | 657 | struct device_attribute *attr, |
646 | char *buf) | 658 | char *buf) |
@@ -813,6 +825,7 @@ static DEVICE_ATTR(usage_count, S_IRUGO, cciss_show_usage_count, NULL); | |||
813 | static struct attribute *cciss_host_attrs[] = { | 825 | static struct attribute *cciss_host_attrs[] = { |
814 | &dev_attr_rescan.attr, | 826 | &dev_attr_rescan.attr, |
815 | &dev_attr_resettable.attr, | 827 | &dev_attr_resettable.attr, |
828 | &dev_attr_transport_mode.attr, | ||
816 | NULL | 829 | NULL |
817 | }; | 830 | }; |
818 | 831 | ||