qla2x00_port_speed_store);
 static DEVICE_ATTR(port_no, 0444, qla2x00_port_no_show, NULL);
 static DEVICE_ATTR(fw_attr, 0444, qla2x00_fw_attr_show, NULL);
-static DEVICE_ATTR_RO(edif_doorbell);
 
 static struct attribute *qla2x00_host_attrs[] = {
        &dev_attr_driver_version.attr,
        &dev_attr_port_no.attr,
        &dev_attr_fw_attr.attr,
        &dev_attr_dport_diagnostics.attr,
-       &dev_attr_edif_doorbell.attr,
        &dev_attr_mpi_pause.attr,
        &dev_attr_qlini_mode.attr,
        &dev_attr_ql2xiniexchg.attr,
 
                qla_edif_dbell_bsg_done(vha);
 }
 
-/*
- * app uses separate thread to read this. It'll wait until the doorbell
- * is rung by the driver or the max wait time has expired
- */
-ssize_t
-edif_doorbell_show(struct device *dev, struct device_attribute *attr,
-               char *buf)
-{
-       scsi_qla_host_t *vha = shost_priv(class_to_shost(dev));
-       struct edb_node *dbnode = NULL;
-       struct edif_app_dbell *ap = (struct edif_app_dbell *)buf;
-       uint32_t dat_siz, buf_size, sz;
-
-       /* TODO: app currently hardcoded to 256. Will transition to bsg */
-       sz = 256;
-
-       /* stop new threads from waiting if we're not init'd */
-       if (DBELL_INACTIVE(vha)) {
-               ql_dbg(ql_dbg_edif + ql_dbg_verbose, vha, 0x09122,
-                   "%s error - edif db not enabled\n", __func__);
-               return 0;
-       }
-
-       if (!vha->hw->flags.edif_enabled) {
-               /* edif not enabled */
-               ql_dbg(ql_dbg_edif + ql_dbg_verbose, vha, 0x09122,
-                   "%s error - edif not enabled\n", __func__);
-               return -1;
-       }
-
-       buf_size = 0;
-       while ((sz - buf_size) >= sizeof(struct edb_node)) {
-               /* remove the next item from the doorbell list */
-               dat_siz = 0;
-               dbnode = qla_edb_getnext(vha);
-               if (dbnode) {
-                       ap->event_code = dbnode->ntype;
-                       switch (dbnode->ntype) {
-                       case VND_CMD_AUTH_STATE_SESSION_SHUTDOWN:
-                       case VND_CMD_AUTH_STATE_NEEDED:
-                               ap->port_id = dbnode->u.plogi_did;
-                               dat_siz += sizeof(ap->port_id);
-                               break;
-                       case VND_CMD_AUTH_STATE_ELS_RCVD:
-                               ap->port_id = dbnode->u.els_sid;
-                               dat_siz += sizeof(ap->port_id);
-                               break;
-                       case VND_CMD_AUTH_STATE_SAUPDATE_COMPL:
-                               ap->port_id = dbnode->u.sa_aen.port_id;
-                               memcpy(ap->event_data, &dbnode->u,
-                                               sizeof(struct edif_sa_update_aen));
-                               dat_siz += sizeof(struct edif_sa_update_aen);
-                               break;
-                       default:
-                               /* unknown node type, rtn unknown ntype */
-                               ap->event_code = VND_CMD_AUTH_STATE_UNDEF;
-                               memcpy(ap->event_data, &dbnode->ntype, 4);
-                               dat_siz += 4;
-                               break;
-                       }
-
-                       ql_dbg(ql_dbg_edif, vha, 0x09102,
-                               "%s Doorbell consumed : type=%d %p\n",
-                               __func__, dbnode->ntype, dbnode);
-                       /* we're done with the db node, so free it up */
-                       kfree(dbnode);
-               } else {
-                       break;
-               }
-
-               ap->event_data_size = dat_siz;
-               /* 8bytes = ap->event_code + ap->event_data_size */
-               buf_size += dat_siz + 8;
-               ap = (struct edif_app_dbell *)(buf + buf_size);
-       }
-       return buf_size;
-}
-
 static void qla_noop_sp_done(srb_t *sp, int res)
 {
        sp->fcport->flags &= ~(FCF_ASYNC_SENT | FCF_ASYNC_ACTIVE);