Commit e5eb72c9 authored by Niklas Cassel's avatar Niklas Cassel Committed by Martin K. Petersen
Browse files

scsi: libsas: Add dev_parent_is_expander() helper



Many libsas drivers check if the parent of the device is an expander.
Create a helper that the libsas drivers will use in follow up commits.

Suggested-by: default avatarDamien Le Moal <dlemoal@kernel.org>
Signed-off-by: default avatarNiklas Cassel <cassel@kernel.org>
Link: https://lore.kernel.org/r/20250814173215.1765055-15-cassel@kernel.org


Reviewed-by: default avatarDamien Le Moal <dlemoal@kernel.org>
Reviewed-by: default avatarJohn Garry <john.g.garry@oracle.com>
Reviewed-by: default avatarJason Yan <yanaijie@huawei.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 251be2f6
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -1313,10 +1313,7 @@ static int sas_check_parent_topology(struct domain_device *child)
	int i;
	int res = 0;

	if (!child->parent)
		return 0;

	if (!dev_is_expander(child->parent->dev_type))
	if (!dev_parent_is_expander(child))
		return 0;

	parent_ex = &child->parent->ex_dev;
+8 −0
Original line number Diff line number Diff line
@@ -203,6 +203,14 @@ static inline bool dev_is_expander(enum sas_device_type type)
	       type == SAS_FANOUT_EXPANDER_DEVICE;
}

static inline bool dev_parent_is_expander(struct domain_device *dev)
{
	if (!dev->parent)
		return false;

	return dev_is_expander(dev->parent->dev_type);
}

static inline void INIT_SAS_WORK(struct sas_work *sw, void (*fn)(struct work_struct *))
{
	INIT_WORK(&sw->work, fn);