Commit f76d9f1a authored by Ahmed S. Darwish's avatar Ahmed S. Darwish Committed by Martin K. Petersen
Browse files

scsi: libsas: Switch back to original event notifiers API

libsas event notifiers required an extension where gfp_t flags must be
explicitly passed. For bisectability, a temporary _gfp() variant of such
functions were added. All call sites then got converted use the _gfp()
variants and explicitly pass GFP context. Having no callers left, the
original libsas notifiers were then modified to accept gfp_t flags by
default.

Switch back to the original event notifiers API, while still passing GFP
context.  The _gfp() notifier variants will be removed afterwards.

Link: https://lore.kernel.org/r/20210118100955.1761652-17-a.darwish@linutronix.de


Cc: Jason Yan <yanaijie@huawei.com>
Reviewed-by: default avatarJohn Garry <john.garry@huawei.com>
Signed-off-by: default avatarAhmed S. Darwish <a.darwish@linutronix.de>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent de6d7547
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -109,7 +109,7 @@ void sas_enable_revalidation(struct sas_ha_struct *ha)

		sas_phy = container_of(port->phy_list.next, struct asd_sas_phy,
				port_phy_el);
		sas_notify_port_event_gfp(sas_phy,
		sas_notify_port_event(sas_phy,
				PORTE_BROADCAST_RCVD, GFP_KERNEL);
	}
	mutex_unlock(&ha->disco_mutex);
@@ -141,7 +141,7 @@ int sas_notify_port_event(struct asd_sas_phy *phy, enum port_event event,

	BUG_ON(event >= PORT_NUM_EVENTS);

	ev = sas_alloc_event_gfp(phy, gfp_flags);
	ev = sas_alloc_event(phy, gfp_flags);
	if (!ev)
		return -ENOMEM;

@@ -171,7 +171,7 @@ int sas_notify_phy_event(struct asd_sas_phy *phy, enum phy_event event,

	BUG_ON(event >= PHY_NUM_EVENTS);

	ev = sas_alloc_event_gfp(phy, gfp_flags);
	ev = sas_alloc_event(phy, gfp_flags);
	if (!ev)
		return -ENOMEM;

+4 −4
Original line number Diff line number Diff line
@@ -404,7 +404,7 @@ void sas_resume_ha(struct sas_ha_struct *ha)

		if (phy->suspended) {
			dev_warn(&phy->phy->dev, "resume timeout\n");
			sas_notify_phy_event_gfp(phy, PHYE_RESUME_TIMEOUT,
			sas_notify_phy_event(phy, PHYE_RESUME_TIMEOUT,
					     GFP_KERNEL);
		}
	}
@@ -604,7 +604,7 @@ struct asd_sas_event *sas_alloc_event(struct asd_sas_phy *phy,
			if (cmpxchg(&phy->in_shutdown, 0, 1) == 0) {
				pr_notice("The phy%d bursting events, shut it down.\n",
					  phy->id);
				sas_notify_phy_event_gfp(phy, PHYE_SHUTDOWN,
				sas_notify_phy_event(phy, PHYE_SHUTDOWN,
						     gfp_flags);
			}
		} else {