ZPCI_FN_STATE_STANDBY = 0,
ZPCI_FN_STATE_CONFIGURED = 1,
ZPCI_FN_STATE_RESERVED = 2,
- ZPCI_FN_STATE_ONLINE = 3,
};
struct zpci_bar_struct {
if (rc)
goto out_dma;
- zdev->state = ZPCI_FN_STATE_ONLINE;
return 0;
out_dma:
return 0;
error_disable:
- if (zdev->state == ZPCI_FN_STATE_ONLINE)
+ if (zdev_enabled(zdev))
zpci_disable_device(zdev);
error_destroy_iommu:
zpci_destroy_iommu(zdev);
if (zdev->zbus->bus)
zpci_remove_device(zdev, false);
- switch (zdev->state) {
- case ZPCI_FN_STATE_ONLINE:
- case ZPCI_FN_STATE_CONFIGURED:
+ if (zdev_enabled(zdev))
zpci_disable_device(zdev);
- fallthrough;
+
+ switch (zdev->state) {
case ZPCI_FN_STATE_STANDBY:
if (zdev->has_hp_slot)
zpci_exit_slot(zdev);
#define SLOT_NAME_SIZE 10
-static int zpci_fn_configured(enum zpci_state state)
-{
- return state == ZPCI_FN_STATE_CONFIGURED ||
- state == ZPCI_FN_STATE_ONLINE;
-}
-
static inline int zdev_configure(struct zpci_dev *zdev)
{
int ret = sclp_pci_configure(zdev->fid);
struct pci_dev *pdev;
int rc;
- if (!zpci_fn_configured(zdev->state))
+ if (zdev->state != ZPCI_FN_STATE_CONFIGURED)
return -EIO;
pdev = pci_get_slot(zdev->zbus->bus, zdev->devfn);