aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/megaraid/megaraid_sas.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas.c b/drivers/scsi/megaraid/megaraid_sas.c
index d3c9cdee292b..09a455d4b6ed 100644
--- a/drivers/scsi/megaraid/megaraid_sas.c
+++ b/drivers/scsi/megaraid/megaraid_sas.c
@@ -103,6 +103,7 @@ static int megasas_poll_wait_aen;
103static DECLARE_WAIT_QUEUE_HEAD(megasas_poll_wait); 103static DECLARE_WAIT_QUEUE_HEAD(megasas_poll_wait);
104static u32 support_poll_for_event; 104static u32 support_poll_for_event;
105static u32 megasas_dbg_lvl; 105static u32 megasas_dbg_lvl;
106static u32 support_device_change;
106 107
107/* define lock for aen poll */ 108/* define lock for aen poll */
108spinlock_t poll_aen_lock; 109spinlock_t poll_aen_lock;
@@ -4658,6 +4659,15 @@ megasas_sysfs_show_support_poll_for_event(struct device_driver *dd, char *buf)
4658static DRIVER_ATTR(support_poll_for_event, S_IRUGO, 4659static DRIVER_ATTR(support_poll_for_event, S_IRUGO,
4659 megasas_sysfs_show_support_poll_for_event, NULL); 4660 megasas_sysfs_show_support_poll_for_event, NULL);
4660 4661
4662 static ssize_t
4663megasas_sysfs_show_support_device_change(struct device_driver *dd, char *buf)
4664{
4665 return sprintf(buf, "%u\n", support_device_change);
4666}
4667
4668static DRIVER_ATTR(support_device_change, S_IRUGO,
4669 megasas_sysfs_show_support_device_change, NULL);
4670
4661static ssize_t 4671static ssize_t
4662megasas_sysfs_show_dbg_lvl(struct device_driver *dd, char *buf) 4672megasas_sysfs_show_dbg_lvl(struct device_driver *dd, char *buf)
4663{ 4673{
@@ -4978,6 +4988,7 @@ static int __init megasas_init(void)
4978 MEGASAS_EXT_VERSION); 4988 MEGASAS_EXT_VERSION);
4979 4989
4980 support_poll_for_event = 2; 4990 support_poll_for_event = 2;
4991 support_device_change = 1;
4981 4992
4982 memset(&megasas_mgmt_info, 0, sizeof(megasas_mgmt_info)); 4993 memset(&megasas_mgmt_info, 0, sizeof(megasas_mgmt_info));
4983 4994
@@ -5026,8 +5037,17 @@ static int __init megasas_init(void)
5026 if (rval) 5037 if (rval)
5027 goto err_dcf_poll_mode_io; 5038 goto err_dcf_poll_mode_io;
5028 5039
5040 rval = driver_create_file(&megasas_pci_driver.driver,
5041 &driver_attr_support_device_change);
5042 if (rval)
5043 goto err_dcf_support_device_change;
5044
5029 return rval; 5045 return rval;
5030 5046
5047err_dcf_support_device_change:
5048 driver_remove_file(&megasas_pci_driver.driver,
5049 &driver_attr_poll_mode_io);
5050
5031err_dcf_poll_mode_io: 5051err_dcf_poll_mode_io:
5032 driver_remove_file(&megasas_pci_driver.driver, 5052 driver_remove_file(&megasas_pci_driver.driver,
5033 &driver_attr_dbg_lvl); 5053 &driver_attr_dbg_lvl);
@@ -5058,6 +5078,10 @@ static void __exit megasas_exit(void)
5058 driver_remove_file(&megasas_pci_driver.driver, 5078 driver_remove_file(&megasas_pci_driver.driver,
5059 &driver_attr_dbg_lvl); 5079 &driver_attr_dbg_lvl);
5060 driver_remove_file(&megasas_pci_driver.driver, 5080 driver_remove_file(&megasas_pci_driver.driver,
5081 &driver_attr_support_poll_for_event);
5082 driver_remove_file(&megasas_pci_driver.driver,
5083 &driver_attr_support_device_change);
5084 driver_remove_file(&megasas_pci_driver.driver,
5061 &driver_attr_release_date); 5085 &driver_attr_release_date);
5062 driver_remove_file(&megasas_pci_driver.driver, &driver_attr_version); 5086 driver_remove_file(&megasas_pci_driver.driver, &driver_attr_version);
5063 5087