diff --git a/patches-6.18/00485-pinctrl-sky1-add-acpi-support.patch b/patches-6.18/00485-pinctrl-sky1-add-acpi-support.patch index b90afad..8a94bbc 100644 --- a/patches-6.18/00485-pinctrl-sky1-add-acpi-support.patch +++ b/patches-6.18/00485-pinctrl-sky1-add-acpi-support.patch @@ -31,7 +31,7 @@ diff --git a/drivers/pinctrl/cix/pinctrl-sky1-base.c b/drivers/pinctrl/cix/pinct index 111111111111..222222222222 100644 --- a/drivers/pinctrl/cix/pinctrl-sky1-base.c +++ b/drivers/pinctrl/cix/pinctrl-sky1-base.c -@@ -1,503 +1,711 @@ +@@ -1,503 +1,715 @@ // SPDX-License-Identifier: GPL-2.0+ // // Author: Jerry Zhu @@ -594,6 +594,9 @@ index 111111111111..222222222222 100644 { - return ARRAY_SIZE(sky1_gpio_functions); + struct sky1_pinctrl *spctl = pinctrl_dev_get_drvdata(pctldev); ++ ++ if (spctl->pin_regs[pin_id] == -1) ++ return -EINVAL; + *config = readl(spctl->base + spctl->pin_regs[pin_id]); + + return 0; @@ -675,6 +678,7 @@ index 111111111111..222222222222 100644 + + name = pin_get_name(pctldev, pin_id); + ret = sky1_pinconf_get(pctldev, pin_id, &config); ++ if (ret) + return; + seq_printf(s, " %s: 0x%lx\n", name, config); + } diff --git a/patches-7.0/0048-pinctrl-sky1-add-acpi-support.patch b/patches-7.0/0048-pinctrl-sky1-add-acpi-support.patch index 6ac6219..e86993e 100644 --- a/patches-7.0/0048-pinctrl-sky1-add-acpi-support.patch +++ b/patches-7.0/0048-pinctrl-sky1-add-acpi-support.patch @@ -31,7 +31,7 @@ diff --git a/drivers/pinctrl/cix/pinctrl-sky1-base.c b/drivers/pinctrl/cix/pinct index 111111111111..222222222222 100644 --- a/drivers/pinctrl/cix/pinctrl-sky1-base.c +++ b/drivers/pinctrl/cix/pinctrl-sky1-base.c -@@ -1,503 +1,711 @@ +@@ -1,503 +1,715 @@ // SPDX-License-Identifier: GPL-2.0+ // // Author: Jerry Zhu @@ -594,6 +594,9 @@ index 111111111111..222222222222 100644 { - return ARRAY_SIZE(sky1_gpio_functions); + struct sky1_pinctrl *spctl = pinctrl_dev_get_drvdata(pctldev); ++ ++ if (spctl->pin_regs[pin_id] == -1) ++ return -EINVAL; + *config = readl(spctl->base + spctl->pin_regs[pin_id]); + + return 0; @@ -675,6 +678,7 @@ index 111111111111..222222222222 100644 + + name = pin_get_name(pctldev, pin_id); + ret = sky1_pinconf_get(pctldev, pin_id, &config); ++ if (ret) + return; + seq_printf(s, " %s: 0x%lx\n", name, config); + } diff --git a/patches-7.1/0048-pinctrl-sky1-add-acpi-support.patch b/patches-7.1/0048-pinctrl-sky1-add-acpi-support.patch index 4dc9e3e..157a598 100644 --- a/patches-7.1/0048-pinctrl-sky1-add-acpi-support.patch +++ b/patches-7.1/0048-pinctrl-sky1-add-acpi-support.patch @@ -31,7 +31,7 @@ diff --git a/drivers/pinctrl/cix/pinctrl-sky1-base.c b/drivers/pinctrl/cix/pinct index 111111111111..222222222222 100644 --- a/drivers/pinctrl/cix/pinctrl-sky1-base.c +++ b/drivers/pinctrl/cix/pinctrl-sky1-base.c -@@ -1,503 +1,711 @@ +@@ -1,503 +1,715 @@ // SPDX-License-Identifier: GPL-2.0+ // // Author: Jerry Zhu @@ -594,6 +594,9 @@ index 111111111111..222222222222 100644 { - return ARRAY_SIZE(sky1_gpio_functions); + struct sky1_pinctrl *spctl = pinctrl_dev_get_drvdata(pctldev); ++ ++ if (spctl->pin_regs[pin_id] == -1) ++ return -EINVAL; + *config = readl(spctl->base + spctl->pin_regs[pin_id]); + + return 0; @@ -675,6 +678,7 @@ index 111111111111..222222222222 100644 + + name = pin_get_name(pctldev, pin_id); + ret = sky1_pinconf_get(pctldev, pin_id, &config); ++ if (ret) + return; + seq_printf(s, " %s: 0x%lx\n", name, config); + }