From e44d1e17da089fdc7e7cb1cfa48334993e8aa427 Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Sat, 26 Jan 2019 13:36:49 +0100 Subject: gemini: Add v4.19 kernel patches This is the remainder of kernel patches for the v4.19 kernel. A whole slew of the previous patch stack is now upstream, so this mainly contains the stuff that was added upstream between v4.19 and v5.0-rc1, and then the USB FOTG201 patches from Hans. Signed-off-by: Linus Walleij --- ...0001-pinctrl-gemini-Mask-and-set-properly.patch | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 target/linux/gemini/patches-4.19/0001-pinctrl-gemini-Mask-and-set-properly.patch (limited to 'target/linux/gemini/patches-4.19/0001-pinctrl-gemini-Mask-and-set-properly.patch') diff --git a/target/linux/gemini/patches-4.19/0001-pinctrl-gemini-Mask-and-set-properly.patch b/target/linux/gemini/patches-4.19/0001-pinctrl-gemini-Mask-and-set-properly.patch new file mode 100644 index 0000000000..3cc7bad8b8 --- /dev/null +++ b/target/linux/gemini/patches-4.19/0001-pinctrl-gemini-Mask-and-set-properly.patch @@ -0,0 +1,36 @@ +From f8ac3d3472a8dc99c8647a637611d146d88be8cb Mon Sep 17 00:00:00 2001 +From: Linus Walleij +Date: Tue, 9 Oct 2018 10:09:14 +0200 +Subject: [PATCH 01/18] pinctrl: gemini: Mask and set properly + +The code was written under the assumption that the +regmap_update_bits() would mask the bits in the mask and +set the bits in the value. + +It missed the points that it will not set bits in the value +unless these are also masked in the mask. Set value bits +that are not in the mask will simply be ignored. + +Fixes: 06351d133dea ("pinctrl: add a Gemini SoC pin controller") +Signed-off-by: Linus Walleij +--- + drivers/pinctrl/pinctrl-gemini.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/pinctrl/pinctrl-gemini.c b/drivers/pinctrl/pinctrl-gemini.c +index fa7d998e1d5a..1e484a36ff07 100644 +--- a/drivers/pinctrl/pinctrl-gemini.c ++++ b/drivers/pinctrl/pinctrl-gemini.c +@@ -2184,7 +2184,8 @@ static int gemini_pmx_set_mux(struct pinctrl_dev *pctldev, + func->name, grp->name); + + regmap_read(pmx->map, GLOBAL_MISC_CTRL, &before); +- regmap_update_bits(pmx->map, GLOBAL_MISC_CTRL, grp->mask, ++ regmap_update_bits(pmx->map, GLOBAL_MISC_CTRL, ++ grp->mask | grp->value, + grp->value); + regmap_read(pmx->map, GLOBAL_MISC_CTRL, &after); + +-- +2.19.2 + -- cgit v1.2.3