Re: [PATCH v7 6/7] scsi: aic94xx: Add libsas SATA sysfs attributes group

From: Igor Pylypiv
Date: Wed Mar 06 2024 - 16:19:03 EST


On Wed, Mar 06, 2024 at 11:55:48AM +0100, Niklas Cassel wrote:
> On Tue, Mar 05, 2024 at 05:22:25PM -0800, Igor Pylypiv wrote:
> > The added sysfs attributes group enables the configuration of NCQ Priority
> > feature for HBAs that rely on libsas to manage SATA devices.
> >
> > Reviewed-by: John Garry <john.g.garry@xxxxxxxxxx>
> > Reviewed-by: Damien Le Moal <dlemoal@xxxxxxxxxx>
> > Reviewed-by: Jason Yan <yanaijie@xxxxxxxxxx>
> > Signed-off-by: Igor Pylypiv <ipylypiv@xxxxxxxxxx>
> > ---
> > drivers/scsi/aic94xx/aic94xx_init.c | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> >
> > diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c
> > index 8a3340d8d7ad..ccccd0eb6275 100644
> > --- a/drivers/scsi/aic94xx/aic94xx_init.c
> > +++ b/drivers/scsi/aic94xx/aic94xx_init.c
> > @@ -14,6 +14,7 @@
> > #include <linux/firmware.h>
> > #include <linux/slab.h>
> >
> > +#include <scsi/sas_ata.h>
> > #include <scsi/scsi_host.h>
> >
> > #include "aic94xx.h"
> > @@ -34,6 +35,7 @@ MODULE_PARM_DESC(use_msi, "\n"
> > static struct scsi_transport_template *aic94xx_transport_template;
> > static int asd_scan_finished(struct Scsi_Host *, unsigned long);
> > static void asd_scan_start(struct Scsi_Host *);
> > +static const struct attribute_group *asd_sdev_groups[];
> >
> > static const struct scsi_host_template aic94xx_sht = {
> > .module = THIS_MODULE,
> > @@ -60,6 +62,7 @@ static const struct scsi_host_template aic94xx_sht = {
> > .compat_ioctl = sas_ioctl,
> > #endif
> > .track_queue_depth = 1,
> > + .sdev_groups = asd_sdev_groups,
> > };
> >
> > static int asd_map_memio(struct asd_ha_struct *asd_ha)
> > @@ -951,6 +954,11 @@ static void asd_remove_driver_attrs(struct device_driver *driver)
> > driver_remove_file(driver, &driver_attr_version);
> > }
> >
> > +static const struct attribute_group *asd_sdev_groups[] = {
> > + &sas_ata_sdev_attr_group,
> > + NULL
> > +};
>
> If you move this in front of:
> static const struct scsi_host_template aic94xx_sht = { };
>
> I think that you can remove the forward declaration.
>

Same comment as for mvs_sht. Perhaps mvs_sht can be moved to the bottom
of the file (in a separate patch series) so that all forward declarations
can be removed?

>
> > +
> > static struct sas_domain_function_template aic94xx_transport_functions = {
> > .lldd_dev_found = asd_dev_found,
> > .lldd_dev_gone = asd_dev_gone,
> > --
> > 2.44.0.278.ge034bb2e1d-goog
> >