diff options
-rw-r--r-- | Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch | 93 | ||||
-rw-r--r-- | kernel.spec | 4 |
2 files changed, 97 insertions, 0 deletions
diff --git a/Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch b/Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch new file mode 100644 index 000000000..8ac29de0e --- /dev/null +++ b/Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch @@ -0,0 +1,93 @@ +From: Josh Boyer <jwboyer@fedoraproject.org> +Date: Wed, 8 Oct 2014 19:10:10 -0400 +Subject: [PATCH] Revert "pinctrl: qcom: use restart_notifier mechanism for + ps_hold" + +This reverts commit cf1fc187628913070c3e418ce0e205732435aa2f. +--- + drivers/pinctrl/qcom/pinctrl-msm.c | 31 +++++++++++++------------------ + 1 file changed, 13 insertions(+), 18 deletions(-) + +diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c +index d30dddd21323..d5ed1272b928 100644 +--- a/drivers/pinctrl/qcom/pinctrl-msm.c ++++ b/drivers/pinctrl/qcom/pinctrl-msm.c +@@ -27,7 +27,8 @@ + #include <linux/gpio.h> + #include <linux/interrupt.h> + #include <linux/spinlock.h> +-#include <linux/reboot.h> ++ ++#include <asm/system_misc.h> + + #include "../core.h" + #include "../pinconf.h" +@@ -42,7 +43,6 @@ + * @dev: device handle. + * @pctrl: pinctrl handle. + * @chip: gpiochip handle. +- * @restart_nb: restart notifier block. + * @irq: parent irq for the TLMM irq_chip. + * @lock: Spinlock to protect register resources as well + * as msm_pinctrl data structures. +@@ -56,7 +56,6 @@ struct msm_pinctrl { + struct device *dev; + struct pinctrl_dev *pctrl; + struct gpio_chip chip; +- struct notifier_block restart_nb; + int irq; + + spinlock_t lock; +@@ -853,14 +852,13 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl) + return 0; + } + +-static int msm_ps_hold_restart(struct notifier_block *nb, unsigned long action, +- void *data) +-{ +- struct msm_pinctrl *pctrl = container_of(nb, struct msm_pinctrl, restart_nb); ++#ifdef CONFIG_ARM ++static void __iomem *msm_ps_hold; + +- writel(0, pctrl->regs + PS_HOLD_OFFSET); +- mdelay(1000); +- return NOTIFY_DONE; ++static void msm_reset(enum reboot_mode reboot_mode, const char *cmd) ++{ ++ writel(0, msm_ps_hold); ++ mdelay(10000); + } + + static void msm_pinctrl_setup_pm_reset(struct msm_pinctrl *pctrl) +@@ -870,14 +868,13 @@ static void msm_pinctrl_setup_pm_reset(struct msm_pinctrl *pctrl) + + for (; i <= pctrl->soc->nfunctions; i++) + if (!strcmp(func[i].name, "ps_hold")) { +- pctrl->restart_nb.notifier_call = msm_ps_hold_restart; +- pctrl->restart_nb.priority = 128; +- if (register_restart_handler(&pctrl->restart_nb)) +- dev_err(pctrl->dev, +- "failed to setup restart handler.\n"); +- break; ++ msm_ps_hold = pctrl->regs + PS_HOLD_OFFSET; ++ arm_pm_restart = msm_reset; + } + } ++#else ++static void msm_pinctrl_setup_pm_reset(const struct msm_pinctrl *pctrl) {} ++#endif + + int msm_pinctrl_probe(struct platform_device *pdev, + const struct msm_pinctrl_soc_data *soc_data) +@@ -946,8 +943,6 @@ int msm_pinctrl_remove(struct platform_device *pdev) + + pinctrl_unregister(pctrl->pctrl); + +- unregister_restart_handler(&pctrl->restart_nb); +- + return 0; + } + EXPORT_SYMBOL(msm_pinctrl_remove); +-- +1.9.3 + diff --git a/kernel.spec b/kernel.spec index 4f395a1ee..1375d376d 100644 --- a/kernel.spec +++ b/kernel.spec @@ -619,6 +619,8 @@ Patch26030: GFS2-Make-rename-not-save-dirent-location.patch Patch26031: libata-Un-break-ATA-blacklist.patch +Patch26032: Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch + # git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel Patch30000: kernel-arm64.patch @@ -1350,6 +1352,8 @@ ApplyPatch GFS2-Make-rename-not-save-dirent-location.patch ApplyPatch libata-Un-break-ATA-blacklist.patch +ApplyPatch Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch + %if 0%{?aarch64patches} ApplyPatch kernel-arm64.patch %ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does. |