aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mediatek/patches/0050-pinctrl-mediatek-data-struct-optimize-and-remove-unu.patch
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2015-11-02 10:18:50 +0000
committerJohn Crispin <john@openwrt.org>2015-11-02 10:18:50 +0000
commit25afe99b31f4ef3d835f96545e370770c230ac44 (patch)
tree5dbe83834a0a67121c557b7549a13221317f07eb /target/linux/mediatek/patches/0050-pinctrl-mediatek-data-struct-optimize-and-remove-unu.patch
parent12e0d2737f558e886cf698e939f1758ab6a64947 (diff)
downloadupstream-25afe99b31f4ef3d835f96545e370770c230ac44.tar.gz
upstream-25afe99b31f4ef3d835f96545e370770c230ac44.tar.bz2
upstream-25afe99b31f4ef3d835f96545e370770c230ac44.zip
mediatek: add support for the new MT7623 Arm SoC
the support is still WIP. next steps are to make the pmic and ethernet work. this is the first commit to make sure nothing gets lost. Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 47354
Diffstat (limited to 'target/linux/mediatek/patches/0050-pinctrl-mediatek-data-struct-optimize-and-remove-unu.patch')
-rw-r--r--target/linux/mediatek/patches/0050-pinctrl-mediatek-data-struct-optimize-and-remove-unu.patch116
1 files changed, 116 insertions, 0 deletions
diff --git a/target/linux/mediatek/patches/0050-pinctrl-mediatek-data-struct-optimize-and-remove-unu.patch b/target/linux/mediatek/patches/0050-pinctrl-mediatek-data-struct-optimize-and-remove-unu.patch
new file mode 100644
index 0000000000..7399746783
--- /dev/null
+++ b/target/linux/mediatek/patches/0050-pinctrl-mediatek-data-struct-optimize-and-remove-unu.patch
@@ -0,0 +1,116 @@
+From 3eeb897a627e26083472f14e7512f53276a5e7ce Mon Sep 17 00:00:00 2001
+From: Yingjoe Chen <yingjoe.chen@mediatek.com>
+Date: Mon, 18 May 2015 23:11:14 -0700
+Subject: [PATCH 50/76] pinctrl: mediatek: data struct optimize and remove
+ unused member
+
+struct mtk_desc_pin.chip, mtk_pinctrl_devdata.invser_offset
+and mtk_pinctrl_devdata.chip_type are never used in code.
+Remove them.
+
+Some per-pin data are using int for pin number and offsets.
+Change to short and rearrange to reduce const data size.
+
+Signed-off-by: Yingjoe Chen <yingjoe.chen@mediatek.com>
+Signed-off-by: Hongzhou Yang <hongzhou.yang@mediatek.com>
+---
+ drivers/pinctrl/mediatek/pinctrl-mt8135.c | 10 ++++------
+ drivers/pinctrl/mediatek/pinctrl-mtk-common.h | 10 ++--------
+ 2 files changed, 6 insertions(+), 14 deletions(-)
+
+diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8135.c b/drivers/pinctrl/mediatek/pinctrl-mt8135.c
+index f1e1e18..8e6abd5 100644
+--- a/drivers/pinctrl/mediatek/pinctrl-mt8135.c
++++ b/drivers/pinctrl/mediatek/pinctrl-mt8135.c
+@@ -32,12 +32,12 @@
+ #define R1_BASE2 0x250
+
+ struct mtk_spec_pull_set {
+- unsigned int pin;
+- unsigned int pupd_offset;
++ unsigned char pin;
+ unsigned char pupd_bit;
+- unsigned int r0_offset;
++ unsigned short pupd_offset;
++ unsigned short r0_offset;
++ unsigned short r1_offset;
+ unsigned char r0_bit;
+- unsigned int r1_offset;
+ unsigned char r1_bit;
+ };
+
+@@ -305,7 +305,6 @@ static const struct mtk_pinctrl_devdata mt8135_pinctrl_data = {
+ .pullen_offset = 0x0200,
+ .smt_offset = 0x0300,
+ .pullsel_offset = 0x0400,
+- .invser_offset = 0x0600,
+ .dout_offset = 0x0800,
+ .din_offset = 0x0A00,
+ .pinmux_offset = 0x0C00,
+@@ -314,7 +313,6 @@ static const struct mtk_pinctrl_devdata mt8135_pinctrl_data = {
+ .port_shf = 4,
+ .port_mask = 0xf,
+ .port_align = 4,
+- .chip_type = MTK_CHIP_TYPE_BASE,
+ .eint_offsets = {
+ .name = "mt8135_eint",
+ .stat = 0x000,
+diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.h b/drivers/pinctrl/mediatek/pinctrl-mtk-common.h
+index 375771d..1508849 100644
+--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.h
++++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.h
+@@ -19,8 +19,6 @@
+ #include <linux/regmap.h>
+
+ #define NO_EINT_SUPPORT 255
+-#define MTK_CHIP_TYPE_BASE 0
+-#define MTK_CHIP_TYPE_PMIC 1
+ #define MT_EDGE_SENSITIVE 0
+ #define MT_LEVEL_SENSITIVE 1
+ #define EINT_DBNC_SET_DBNC_BITS 4
+@@ -39,7 +37,6 @@ struct mtk_desc_eint {
+
+ struct mtk_desc_pin {
+ struct pinctrl_pin_desc pin;
+- const char *chip;
+ const struct mtk_desc_eint eint;
+ const struct mtk_desc_function *functions;
+ };
+@@ -47,7 +44,6 @@ struct mtk_desc_pin {
+ #define MTK_PIN(_pin, _pad, _chip, _eint, ...) \
+ { \
+ .pin = _pin, \
+- .chip = _chip, \
+ .eint = _eint, \
+ .functions = (struct mtk_desc_function[]){ \
+ __VA_ARGS__, { } }, \
+@@ -107,8 +103,8 @@ struct mtk_drv_group_desc {
+ * @grp: The group for this pin belongs to.
+ */
+ struct mtk_pin_drv_grp {
+- unsigned int pin;
+- unsigned int offset;
++ unsigned short pin;
++ unsigned short offset;
+ unsigned char bit;
+ unsigned char grp;
+ };
+@@ -193,7 +189,6 @@ struct mtk_pinctrl_devdata {
+ unsigned int pullen_offset;
+ unsigned int pullsel_offset;
+ unsigned int drv_offset;
+- unsigned int invser_offset;
+ unsigned int dout_offset;
+ unsigned int din_offset;
+ unsigned int pinmux_offset;
+@@ -202,7 +197,6 @@ struct mtk_pinctrl_devdata {
+ unsigned char port_shf;
+ unsigned char port_mask;
+ unsigned char port_align;
+- unsigned char chip_type;
+ struct mtk_eint_offsets eint_offsets;
+ unsigned int ap_num;
+ unsigned int db_cnt;
+--
+1.7.10.4
+