From 093a6c67005148ae32a5c9e4553491b9f5c2457b Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 10 May 2024 07:40:51 +0000
Subject: [PATCH] disable kernel build waring
---
kernel/drivers/mmc/host/rk_sdmmc_ops.c | 20 +++++++++++++++++---
1 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/kernel/drivers/mmc/host/rk_sdmmc_ops.c b/kernel/drivers/mmc/host/rk_sdmmc_ops.c
index 96f20d2..d0ef613 100644
--- a/kernel/drivers/mmc/host/rk_sdmmc_ops.c
+++ b/kernel/drivers/mmc/host/rk_sdmmc_ops.c
@@ -22,6 +22,8 @@
#include <linux/seq_file.h>
#include <linux/mutex.h>
#include <linux/miscdevice.h>
+#include <linux/pm.h>
+#include <linux/pm_runtime.h>
#include "../core/block.h"
#include "../core/card.h"
#include "../core/core.h"
@@ -131,7 +133,7 @@
/*
* Transfer a single sector of kernel addressable data
*/
-int rk_emmc_transfer(u8 *buffer, unsigned addr, unsigned blksz, int write)
+int rk_emmc_transfer(u8 *buffer, unsigned int addr, unsigned int datasz, int write)
{
int ret = 0;
enum emmc_area_type areatype;
@@ -150,11 +152,18 @@
mrq.data = &data;
mrq.stop = &stop;
- sg_init_one(&sg, buffer, blksz);
+ sg_init_one(&sg, buffer, datasz);
- rk_emmc_prepare_mrq(&mrq, &sg, 1, addr, 1, blksz, write);
+ rk_emmc_prepare_mrq(&mrq, &sg, 1, addr, datasz / BLKSZ, BLKSZ, write);
+ pm_runtime_get_sync(&this_card->dev);
mmc_claim_host(this_card->host);
+
+ if (this_card->ext_csd.cmdq_en) {
+ ret = mmc_cmdq_disable(this_card);
+ if (ret)
+ goto exit;
+ }
areatype = (enum emmc_area_type)this_card->ext_csd.part_config
& EXT_CSD_PART_CONFIG_ACC_MASK;
@@ -186,7 +195,12 @@
}
exit:
+ if (this_card->reenable_cmdq && !this_card->ext_csd.cmdq_en)
+ mmc_cmdq_enable(this_card);
+
mmc_release_host(this_card->host);
+ pm_runtime_put(&this_card->dev);
+
return ret;
}
EXPORT_SYMBOL(rk_emmc_transfer);
--
Gitblit v1.6.2