lkml.org 
[lkml]   [2020]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 02/28] ata: expose ncq_enable_prio sysfs attribute only on NCQ capable hosts
    Date
    There is no point in exposing ncq_enable_prio sysfs attribute for
    devices on PATA and non-NCQ capable SATA hosts so:

    * remove dev_attr_ncq_prio_enable from ata_common_sdev_attrs[]

    * add ata_ncq_sdev_attrs[]

    * update ATA_NCQ_SHT() macro to use ata_ncq_sdev_attrs[]

    Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    ---
    drivers/ata/libata-scsi.c | 8 +++++++-
    include/linux/libata.h | 2 ++
    2 files changed, 9 insertions(+), 1 deletion(-)

    diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
    index 11eb25b6e2cd..161e5d84bd82 100644
    --- a/drivers/ata/libata-scsi.c
    +++ b/drivers/ata/libata-scsi.c
    @@ -462,11 +462,17 @@ EXPORT_SYMBOL_GPL(dev_attr_sw_activity);

    struct device_attribute *ata_common_sdev_attrs[] = {
    &dev_attr_unload_heads,
    - &dev_attr_ncq_prio_enable,
    NULL
    };
    EXPORT_SYMBOL_GPL(ata_common_sdev_attrs);

    +struct device_attribute *ata_ncq_sdev_attrs[] = {
    + &dev_attr_unload_heads,
    + &dev_attr_ncq_prio_enable,
    + NULL
    +};
    +EXPORT_SYMBOL_GPL(ata_ncq_sdev_attrs);
    +
    /**
    * ata_std_bios_param - generic bios head/sector/cylinder calculator used by sd.
    * @sdev: SCSI device for which BIOS geometry is to be determined
    diff --git a/include/linux/libata.h b/include/linux/libata.h
    index a36bdcb8d9e9..2a9d50b0e219 100644
    --- a/include/linux/libata.h
    +++ b/include/linux/libata.h
    @@ -1335,6 +1335,7 @@ extern int ata_link_nr_enabled(struct ata_link *link);
    extern const struct ata_port_operations ata_base_port_ops;
    extern const struct ata_port_operations sata_port_ops;
    extern struct device_attribute *ata_common_sdev_attrs[];
    +extern struct device_attribute *ata_ncq_sdev_attrs[];

    /*
    * All sht initializers (BASE, PIO, BMDMA, NCQ) must be instantiated
    @@ -1361,6 +1362,7 @@ extern struct device_attribute *ata_common_sdev_attrs[];

    #define ATA_NCQ_SHT(drv_name) \
    ATA_BASE_SHT(drv_name), \
    + .sdev_attrs = ata_ncq_sdev_attrs, \
    .change_queue_depth = ata_scsi_change_queue_depth

    /*
    --
    2.24.1
    \
     
     \ /
      Last update: 2020-01-28 14:35    [W:4.558 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site