diff options
author | John Crispin <john@phrozen.org> | 2020-04-03 11:54:12 +0200 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2020-04-06 07:07:42 +0200 |
commit | 08df22e2abf053e2d5ddef6393fe26b277fa7d18 (patch) | |
tree | eaee171fe4eff4bf025215456ce0522552a43ca7 /target/linux/mediatek/patches-4.14/0136-mtd-mtk-nor-add-suspend-resume-support.patch | |
parent | e2ceb8dd93ace2e82fe136e1900b6830ac11049d (diff) | |
download | upstream-08df22e2abf053e2d5ddef6393fe26b277fa7d18.tar.gz upstream-08df22e2abf053e2d5ddef6393fe26b277fa7d18.tar.bz2 upstream-08df22e2abf053e2d5ddef6393fe26b277fa7d18.zip |
mediatek: drop v4.14 support
Signed-off-by: John Crispin <john@phrozen.org>
Diffstat (limited to 'target/linux/mediatek/patches-4.14/0136-mtd-mtk-nor-add-suspend-resume-support.patch')
-rw-r--r-- | target/linux/mediatek/patches-4.14/0136-mtd-mtk-nor-add-suspend-resume-support.patch | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/target/linux/mediatek/patches-4.14/0136-mtd-mtk-nor-add-suspend-resume-support.patch b/target/linux/mediatek/patches-4.14/0136-mtd-mtk-nor-add-suspend-resume-support.patch deleted file mode 100644 index 8bfba8953d..0000000000 --- a/target/linux/mediatek/patches-4.14/0136-mtd-mtk-nor-add-suspend-resume-support.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 8947f8cd407a55db816cd03fc03b59096210978e Mon Sep 17 00:00:00 2001 -From: Guochun Mao <guochun.mao@mediatek.com> -Date: Thu, 21 Sep 2017 20:45:06 +0800 -Subject: [PATCH 136/224] mtd: mtk-nor: add suspend/resume support - -Abstract functions of clock setting, to avoid duplicated code, -these functions been used in new feature. -Implement suspend/resume functions. - -Signed-off-by: Guochun Mao <guochun.mao@mediatek.com> -Signed-off-by: Cyrille Pitchen <cyrille.pitchen@wedev4u.fr> ---- - drivers/mtd/spi-nor/mtk-quadspi.c | 70 ++++++++++++++++++++++++++++++++------- - 1 file changed, 58 insertions(+), 12 deletions(-) - ---- a/drivers/mtd/spi-nor/mtk-quadspi.c -+++ b/drivers/mtd/spi-nor/mtk-quadspi.c -@@ -404,6 +404,29 @@ static int mt8173_nor_write_reg(struct s - return ret; - } - -+static void mt8173_nor_disable_clk(struct mt8173_nor *mt8173_nor) -+{ -+ clk_disable_unprepare(mt8173_nor->spi_clk); -+ clk_disable_unprepare(mt8173_nor->nor_clk); -+} -+ -+static int mt8173_nor_enable_clk(struct mt8173_nor *mt8173_nor) -+{ -+ int ret; -+ -+ ret = clk_prepare_enable(mt8173_nor->spi_clk); -+ if (ret) -+ return ret; -+ -+ ret = clk_prepare_enable(mt8173_nor->nor_clk); -+ if (ret) { -+ clk_disable_unprepare(mt8173_nor->spi_clk); -+ return ret; -+ } -+ -+ return 0; -+} -+ - static int mtk_nor_init(struct mt8173_nor *mt8173_nor, - struct device_node *flash_node) - { -@@ -468,15 +491,11 @@ static int mtk_nor_drv_probe(struct plat - return PTR_ERR(mt8173_nor->nor_clk); - - mt8173_nor->dev = &pdev->dev; -- ret = clk_prepare_enable(mt8173_nor->spi_clk); -+ -+ ret = mt8173_nor_enable_clk(mt8173_nor); - if (ret) - return ret; - -- ret = clk_prepare_enable(mt8173_nor->nor_clk); -- if (ret) { -- clk_disable_unprepare(mt8173_nor->spi_clk); -- return ret; -- } - /* only support one attached flash */ - flash_np = of_get_next_available_child(pdev->dev.of_node, NULL); - if (!flash_np) { -@@ -487,10 +506,9 @@ static int mtk_nor_drv_probe(struct plat - ret = mtk_nor_init(mt8173_nor, flash_np); - - nor_free: -- if (ret) { -- clk_disable_unprepare(mt8173_nor->spi_clk); -- clk_disable_unprepare(mt8173_nor->nor_clk); -- } -+ if (ret) -+ mt8173_nor_disable_clk(mt8173_nor); -+ - return ret; - } - -@@ -498,11 +516,38 @@ static int mtk_nor_drv_remove(struct pla - { - struct mt8173_nor *mt8173_nor = platform_get_drvdata(pdev); - -- clk_disable_unprepare(mt8173_nor->spi_clk); -- clk_disable_unprepare(mt8173_nor->nor_clk); -+ mt8173_nor_disable_clk(mt8173_nor); -+ -+ return 0; -+} -+ -+#ifdef CONFIG_PM_SLEEP -+static int mtk_nor_suspend(struct device *dev) -+{ -+ struct mt8173_nor *mt8173_nor = dev_get_drvdata(dev); -+ -+ mt8173_nor_disable_clk(mt8173_nor); -+ - return 0; - } - -+static int mtk_nor_resume(struct device *dev) -+{ -+ struct mt8173_nor *mt8173_nor = dev_get_drvdata(dev); -+ -+ return mt8173_nor_enable_clk(mt8173_nor); -+} -+ -+static const struct dev_pm_ops mtk_nor_dev_pm_ops = { -+ .suspend = mtk_nor_suspend, -+ .resume = mtk_nor_resume, -+}; -+ -+#define MTK_NOR_DEV_PM_OPS (&mtk_nor_dev_pm_ops) -+#else -+#define MTK_NOR_DEV_PM_OPS NULL -+#endif -+ - static const struct of_device_id mtk_nor_of_ids[] = { - { .compatible = "mediatek,mt8173-nor"}, - { /* sentinel */ } -@@ -514,6 +559,7 @@ static struct platform_driver mtk_nor_dr - .remove = mtk_nor_drv_remove, - .driver = { - .name = "mtk-nor", -+ .pm = MTK_NOR_DEV_PM_OPS, - .of_match_table = mtk_nor_of_ids, - }, - }; |