瀏覽代碼

qcacld-3.0: Add sdio support for pld update status

Add pld update status api support for sdio

Change-Id: Id96bf8346989dfb2100bff7bd508a499570d2015
CRs-Fixed: 2512562
Jayachandran Sreekumaran 5 年之前
父節點
當前提交
8785e2504b
共有 1 個文件被更改,包括 29 次插入0 次删除
  1. 29 0
      core/pld/src/pld_sdio.c

+ 29 - 0
core/pld/src/pld_sdio.c

@@ -122,6 +122,34 @@ static void pld_sdio_remove(struct sdio_func *sdio_func)
 	pld_del_dev(pld_context, dev);
 }
 
+static void pld_sdio_uevent(struct sdio_func *sdio_func, uint32_t status)
+{
+	struct pld_context *pld_context;
+	struct device *dev = &sdio_func->dev;
+	struct pld_uevent_data data;
+
+	pld_context = pld_get_global_context();
+
+	if (!pld_context)
+		return;
+
+	switch (status) {
+	case CNSS_RECOVERY:
+		data.uevent = PLD_FW_RECOVERY_START;
+		break;
+	case CNSS_FW_DOWN:
+		data.uevent = PLD_FW_DOWN;
+		break;
+	default:
+		goto out;
+	}
+
+	if (pld_context->ops->uevent)
+		pld_context->ops->uevent(dev, &data);
+out:
+	return;
+}
+
 #ifdef CONFIG_PLD_SDIO_CNSS
 /**
  * pld_sdio_reinit() - SSR re-initialize function for SDIO device
@@ -329,6 +357,7 @@ struct cnss_sdio_wlan_driver pld_sdio_ops = {
 	.reinit     = pld_sdio_reinit,
 	.shutdown   = pld_sdio_shutdown,
 	.crash_shutdown = pld_sdio_crash_shutdown,
+	.update_status  = pld_sdio_uevent,
 #ifdef CONFIG_PM
 	.suspend    = pld_sdio_suspend,
 	.resume     = pld_sdio_resume,