lkml.org 
[lkml]   [2009]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3/10] scsi: megaraid_sas - Add Poll Wait mechanism to MegaRAID SAS driver (PART-II)
    Add Poll Wait Mechanism PART-II: Add Poll_wait mechanism to MegaRAID SAS 2 Linux driver.  Add the sysfs entry for the application use.

    Signed-off-by Bo Yang<bo.yang@lsi.com>

    ---
    drivers/scsi/megaraid/megaraid_sas.c | 27 ++++++++++++++++++++++++++-
    1 file changed, 26 insertions(+), 1 deletion(-)
    diff -rupN linux-2.6.28_orig/drivers/scsi/megaraid/megaraid_sas.c linux-2.6.28_new/drivers/scsi/megaraid/megaraid_sas.c
    --- linux-2.6.28_orig/drivers/scsi/megaraid/megaraid_sas.c 2009-05-04 20:14:30.000000000 -0400
    +++ linux-2.6.28_new/drivers/scsi/megaraid/megaraid_sas.c 2009-05-04 20:15:48.000000000 -0400
    @@ -93,6 +93,8 @@ static DEFINE_MUTEX(megasas_async_queue_
    static int megasas_poll_wait_aen;
    static DECLARE_WAIT_QUEUE_HEAD(megasas_poll_wait);

    +static u32 support_poll_for_event;
    +
    static u32 megasas_dbg_lvl;

    static void
    @@ -3429,6 +3431,15 @@ static DRIVER_ATTR(release_date, S_IRUGO
    NULL);

    static ssize_t
    +megasas_sysfs_show_support_poll_for_event(struct device_driver *dd, char *buf)
    +{
    + return sprintf(buf, "%u\n", support_poll_for_event);
    +}
    +
    +static DRIVER_ATTR(support_poll_for_event, S_IRUGO,
    + megasas_sysfs_show_support_poll_for_event, NULL);
    +
    +static ssize_t
    megasas_sysfs_show_dbg_lvl(struct device_driver *dd, char *buf)
    {
    return sprintf(buf, "%u\n", megasas_dbg_lvl);
    @@ -3595,7 +3606,6 @@ megasas_aen_polling(struct megasas_insta
    __FUNCTION__, instance->host->host_no, error);
    }

    -
    static DRIVER_ATTR(poll_mode_io, S_IRUGO|S_IWUGO,
    megasas_sysfs_show_poll_mode_io,
    megasas_sysfs_set_poll_mode_io);
    @@ -3613,6 +3623,8 @@ static int __init megasas_init(void)
    printk(KERN_INFO "megasas: %s %s\n", MEGASAS_VERSION,
    MEGASAS_EXT_VERSION);

    + support_poll_for_event = 1;
    +
    memset(&megasas_mgmt_info, 0, sizeof(megasas_mgmt_info));

    /*
    @@ -3645,6 +3657,12 @@ static int __init megasas_init(void)
    &driver_attr_release_date);
    if (rval)
    goto err_dcf_rel_date;
    +
    + rval = driver_create_file(&megasas_pci_driver.driver,
    + &driver_attr_support_poll_for_event);
    + if (rval)
    + goto err_dcf_support_poll_for_event;
    +
    rval = driver_create_file(&megasas_pci_driver.driver,
    &driver_attr_dbg_lvl);
    if (rval)
    @@ -3662,6 +3680,11 @@ err_dcf_poll_mode_io:
    err_dcf_dbg_lvl:
    driver_remove_file(&megasas_pci_driver.driver,
    &driver_attr_release_date);
    +
    +err_dcf_support_poll_for_event:
    + driver_remove_file(&megasas_pci_driver.driver,
    + &driver_attr_support_poll_for_event);
    +
    err_dcf_rel_date:
    driver_remove_file(&megasas_pci_driver.driver, &driver_attr_version);
    err_dcf_attr_ver:
    @@ -3681,6 +3704,8 @@ static void __exit megasas_exit(void)
    driver_remove_file(&megasas_pci_driver.driver,
    &driver_attr_dbg_lvl);
    driver_remove_file(&megasas_pci_driver.driver,
    + &driver_attr_support_poll_for_event);
    + driver_remove_file(&megasas_pci_driver.driver,
    &driver_attr_release_date);
    driver_remove_file(&megasas_pci_driver.driver, &driver_attr_version);


    \
     
     \ /
      Last update: 2009-05-06 02:45    [from the cache]
    ©2003-2014 Jasper Spaans. hosted at Digital Ocean