Refreshed patches, removed upstreamed patches: oxnas: 003-ARM-dts-oxnas-Fix-clear-mask-property.patch generic: 184-USB-serial-option-add-Wistron-Neweb-D19Q1.patch Run tested: apu2, qemu-x86-64, apalis Build tested: sunxi/a53, imx6, x86/64, ipq40xx Tested-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> [apu2] Signed-off-by: Petr Štetiar <ynezz@true.cz>
		
			
				
	
	
		
			140 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			140 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From a2479dc254ebe31c84fbcfda73f35e2321576494 Mon Sep 17 00:00:00 2001
 | 
						|
From: Xiangsheng Hou <xiangsheng.hou@mediatek.com>
 | 
						|
Date: Tue, 19 Mar 2019 13:57:38 +0800
 | 
						|
Subject: [PATCH 1/6] mtd: mtk ecc: move mtk ecc header file to include/mtd
 | 
						|
 | 
						|
Change-Id: I8dc1d30e21b40d68ef5efd9587012f82970156a5
 | 
						|
Signed-off-by: Xiangsheng Hou <xiangsheng.hou@mediatek.com>
 | 
						|
---
 | 
						|
 drivers/mtd/nand/raw/mtk_ecc.c                        | 3 +--
 | 
						|
 drivers/mtd/nand/raw/mtk_nand.c                       | 2 +-
 | 
						|
 {drivers/mtd/nand/raw => include/linux/mtd}/mtk_ecc.h | 0
 | 
						|
 3 files changed, 2 insertions(+), 3 deletions(-)
 | 
						|
 rename {drivers/mtd/nand/raw => include/linux/mtd}/mtk_ecc.h (100%)
 | 
						|
 | 
						|
--- a/drivers/mtd/nand/raw/mtk_ecc.c
 | 
						|
+++ b/drivers/mtd/nand/raw/mtk_ecc.c
 | 
						|
@@ -15,8 +15,7 @@
 | 
						|
 #include <linux/of.h>
 | 
						|
 #include <linux/of_platform.h>
 | 
						|
 #include <linux/mutex.h>
 | 
						|
-
 | 
						|
-#include "mtk_ecc.h"
 | 
						|
+#include <linux/mtd/mtk_ecc.h>
 | 
						|
 
 | 
						|
 #define ECC_IDLE_MASK		BIT(0)
 | 
						|
 #define ECC_IRQ_EN		BIT(0)
 | 
						|
--- a/drivers/mtd/nand/raw/mtk_nand.c
 | 
						|
+++ b/drivers/mtd/nand/raw/mtk_nand.c
 | 
						|
@@ -17,7 +17,7 @@
 | 
						|
 #include <linux/iopoll.h>
 | 
						|
 #include <linux/of.h>
 | 
						|
 #include <linux/of_device.h>
 | 
						|
-#include "mtk_ecc.h"
 | 
						|
+#include <linux/mtd/mtk_ecc.h>
 | 
						|
 
 | 
						|
 /* NAND controller register definition */
 | 
						|
 #define NFI_CNFG		(0x00)
 | 
						|
--- /dev/null
 | 
						|
+++ b/include/linux/mtd/mtk_ecc.h
 | 
						|
@@ -0,0 +1,49 @@
 | 
						|
+/*
 | 
						|
+ * MTK SDG1 ECC controller
 | 
						|
+ *
 | 
						|
+ * Copyright (c) 2016 Mediatek
 | 
						|
+ * Authors:	Xiaolei Li		<xiaolei.li@mediatek.com>
 | 
						|
+ *		Jorge Ramirez-Ortiz	<jorge.ramirez-ortiz@linaro.org>
 | 
						|
+ * This program is free software; you can redistribute it and/or modify it
 | 
						|
+ * under the terms of the GNU General Public License version 2 as published
 | 
						|
+ * by the Free Software Foundation.
 | 
						|
+ */
 | 
						|
+
 | 
						|
+#ifndef __DRIVERS_MTD_NAND_MTK_ECC_H__
 | 
						|
+#define __DRIVERS_MTD_NAND_MTK_ECC_H__
 | 
						|
+
 | 
						|
+#include <linux/types.h>
 | 
						|
+
 | 
						|
+enum mtk_ecc_mode {ECC_DMA_MODE = 0, ECC_NFI_MODE = 1};
 | 
						|
+enum mtk_ecc_operation {ECC_ENCODE, ECC_DECODE};
 | 
						|
+
 | 
						|
+struct device_node;
 | 
						|
+struct mtk_ecc;
 | 
						|
+
 | 
						|
+struct mtk_ecc_stats {
 | 
						|
+	u32 corrected;
 | 
						|
+	u32 bitflips;
 | 
						|
+	u32 failed;
 | 
						|
+};
 | 
						|
+
 | 
						|
+struct mtk_ecc_config {
 | 
						|
+	enum mtk_ecc_operation op;
 | 
						|
+	enum mtk_ecc_mode mode;
 | 
						|
+	dma_addr_t addr;
 | 
						|
+	u32 strength;
 | 
						|
+	u32 sectors;
 | 
						|
+	u32 len;
 | 
						|
+};
 | 
						|
+
 | 
						|
+int mtk_ecc_encode(struct mtk_ecc *, struct mtk_ecc_config *, u8 *, u32);
 | 
						|
+void mtk_ecc_get_stats(struct mtk_ecc *, struct mtk_ecc_stats *, int);
 | 
						|
+int mtk_ecc_wait_done(struct mtk_ecc *, enum mtk_ecc_operation);
 | 
						|
+int mtk_ecc_enable(struct mtk_ecc *, struct mtk_ecc_config *);
 | 
						|
+void mtk_ecc_disable(struct mtk_ecc *);
 | 
						|
+void mtk_ecc_adjust_strength(struct mtk_ecc *ecc, u32 *p);
 | 
						|
+unsigned int mtk_ecc_get_parity_bits(struct mtk_ecc *ecc);
 | 
						|
+
 | 
						|
+struct mtk_ecc *of_mtk_ecc_get(struct device_node *);
 | 
						|
+void mtk_ecc_release(struct mtk_ecc *);
 | 
						|
+
 | 
						|
+#endif
 | 
						|
--- a/drivers/mtd/nand/raw/mtk_ecc.h
 | 
						|
+++ /dev/null
 | 
						|
@@ -1,47 +0,0 @@
 | 
						|
-/* SPDX-License-Identifier: GPL-2.0 OR MIT */
 | 
						|
-/*
 | 
						|
- * MTK SDG1 ECC controller
 | 
						|
- *
 | 
						|
- * Copyright (c) 2016 Mediatek
 | 
						|
- * Authors:	Xiaolei Li		<xiaolei.li@mediatek.com>
 | 
						|
- *		Jorge Ramirez-Ortiz	<jorge.ramirez-ortiz@linaro.org>
 | 
						|
- */
 | 
						|
-
 | 
						|
-#ifndef __DRIVERS_MTD_NAND_MTK_ECC_H__
 | 
						|
-#define __DRIVERS_MTD_NAND_MTK_ECC_H__
 | 
						|
-
 | 
						|
-#include <linux/types.h>
 | 
						|
-
 | 
						|
-enum mtk_ecc_mode {ECC_DMA_MODE = 0, ECC_NFI_MODE = 1};
 | 
						|
-enum mtk_ecc_operation {ECC_ENCODE, ECC_DECODE};
 | 
						|
-
 | 
						|
-struct device_node;
 | 
						|
-struct mtk_ecc;
 | 
						|
-
 | 
						|
-struct mtk_ecc_stats {
 | 
						|
-	u32 corrected;
 | 
						|
-	u32 bitflips;
 | 
						|
-	u32 failed;
 | 
						|
-};
 | 
						|
-
 | 
						|
-struct mtk_ecc_config {
 | 
						|
-	enum mtk_ecc_operation op;
 | 
						|
-	enum mtk_ecc_mode mode;
 | 
						|
-	dma_addr_t addr;
 | 
						|
-	u32 strength;
 | 
						|
-	u32 sectors;
 | 
						|
-	u32 len;
 | 
						|
-};
 | 
						|
-
 | 
						|
-int mtk_ecc_encode(struct mtk_ecc *, struct mtk_ecc_config *, u8 *, u32);
 | 
						|
-void mtk_ecc_get_stats(struct mtk_ecc *, struct mtk_ecc_stats *, int);
 | 
						|
-int mtk_ecc_wait_done(struct mtk_ecc *, enum mtk_ecc_operation);
 | 
						|
-int mtk_ecc_enable(struct mtk_ecc *, struct mtk_ecc_config *);
 | 
						|
-void mtk_ecc_disable(struct mtk_ecc *);
 | 
						|
-void mtk_ecc_adjust_strength(struct mtk_ecc *ecc, u32 *p);
 | 
						|
-unsigned int mtk_ecc_get_parity_bits(struct mtk_ecc *ecc);
 | 
						|
-
 | 
						|
-struct mtk_ecc *of_mtk_ecc_get(struct device_node *);
 | 
						|
-void mtk_ecc_release(struct mtk_ecc *);
 | 
						|
-
 | 
						|
-#endif
 |