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);