Pin control fixes for the v5.14 kernel series:
- Fix the Kconfig dependency for Qualcomm SM8350 pin controller. - Fix pin biasing fallback behaviour on the Mediatek pin controller. - Fix the GPIO numbering scheme for Intel Tiger Lake-H to correspond to the products that are now actually out on the market. - Fix a pin control function itemization in the Sunxi driver out-of-bounds access bug. - Fix disable clocking for the RISC-V K210 pin controller on the errorpath. - Fix a system shutdown bug affecting AMD Ryzen-based laptops, the system would not suspend but just bounce back up. -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmEWNmEACgkQQRCzN7AZ XXMicA/9EProLMt9OzkFKKtbXQ00cAOBRxTOp9XJA1Ch3Iih8N2ksRYsI4rHtETb BA869OyWKvZtUBoFMBp3TSGU3dx5nUI/pOgnP7pfeUQ6noIltD7lYBC3/sWu0YXg xV4zZQlONYKj+V0qJoYvmSeXzpAXtm4M0d/wQGNa2PJ5Zags/jbC1+MyPJqe7gHr BhmDb2TGdM5R4Qc+dMqUpW2pBvwHyNk8PgVZUqPeBHRlPzkeImBnxvmuJNPXgigD pPMLgcjhxX95Kvwu1H0xrx798UEe+T81wtsxq/HVbircvjjcT0luR3PAPTsgaJjz m58rlPIbIERi0azg5wiChIjdhu9EdXiVFSfMomj61Rk8M6not/XucA+TI2V8GS5B sJ6PW6odLyTYAXJI0zzFzz6nGplSqZglcwHnaPVOBzuOp3Y33mowWi58AfVYQu+x qPt0Enu42bAqa7mtEB3esA1TfVigw2/EU44N7xEM4AObP7m4XGJVYc+3LV6p4SJD 4aXz6Wd/BIzP9SeC7G94JKAPyIuRBNbc1jdWfFtn6mEAe50DiAw2HkW3sH5DwtiK VQhmEbpGzfuN0ndvJRNI669IHy+vJCwCRciq6TbTNGA9OVvkwA8crh1VEicSFn2G 0CopfTWUivvVmB5eu8Ma+DiVO9xeg3b+6Ipzy6UaCIObw0TUXvw= =Dd/A -----END PGP SIGNATURE----- Merge tag 'pinctrl-v5.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control fixes from Linus Walleij: "An assortment of pin control fixes of varying importance, the most important ones affecting Intel and AMD laptops turned up the recent few days so it's time to push this to your tree. - Fix the Kconfig dependency for Qualcomm SM8350 pin controller - Fix pin biasing fallback behaviour on the Mediatek pin controller - Fix the GPIO numbering scheme for Intel Tiger Lake-H to correspond to the products that are now actually out on the market - Fix a pin control function itemization in the Sunxi driver out-of-bounds access bug - Fix disable clocking for the RISC-V K210 pin controller on the errorpath - Fix a system shutdown bug affecting AMD Ryzen-based laptops, the system would not suspend but just bounce back up" * tag 'pinctrl-v5.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: amd: Fix an issue with shutdown when system set to s0ix pinctrl: k210: Fix k210_fpioa_probe() pinctrl: sunxi: Don't underestimate number of functions pinctrl: tigerlake: Fix GPIO mapping for newer version of software pinctrl: mediatek: Fix fallback behavior for bias_set_combo pinctrl: qcom: fix GPIOLIB dependencies
This commit is contained in:
commit
462938cd48
@ -701,32 +701,32 @@ static const struct pinctrl_pin_desc tglh_pins[] = {
|
||||
|
||||
static const struct intel_padgroup tglh_community0_gpps[] = {
|
||||
TGL_GPP(0, 0, 24, 0), /* GPP_A */
|
||||
TGL_GPP(1, 25, 44, 128), /* GPP_R */
|
||||
TGL_GPP(2, 45, 70, 32), /* GPP_B */
|
||||
TGL_GPP(3, 71, 78, INTEL_GPIO_BASE_NOMAP), /* vGPIO_0 */
|
||||
TGL_GPP(1, 25, 44, 32), /* GPP_R */
|
||||
TGL_GPP(2, 45, 70, 64), /* GPP_B */
|
||||
TGL_GPP(3, 71, 78, 96), /* vGPIO_0 */
|
||||
};
|
||||
|
||||
static const struct intel_padgroup tglh_community1_gpps[] = {
|
||||
TGL_GPP(0, 79, 104, 96), /* GPP_D */
|
||||
TGL_GPP(1, 105, 128, 64), /* GPP_C */
|
||||
TGL_GPP(2, 129, 136, 160), /* GPP_S */
|
||||
TGL_GPP(3, 137, 153, 192), /* GPP_G */
|
||||
TGL_GPP(4, 154, 180, 224), /* vGPIO */
|
||||
TGL_GPP(0, 79, 104, 128), /* GPP_D */
|
||||
TGL_GPP(1, 105, 128, 160), /* GPP_C */
|
||||
TGL_GPP(2, 129, 136, 192), /* GPP_S */
|
||||
TGL_GPP(3, 137, 153, 224), /* GPP_G */
|
||||
TGL_GPP(4, 154, 180, 256), /* vGPIO */
|
||||
};
|
||||
|
||||
static const struct intel_padgroup tglh_community3_gpps[] = {
|
||||
TGL_GPP(0, 181, 193, 256), /* GPP_E */
|
||||
TGL_GPP(1, 194, 217, 288), /* GPP_F */
|
||||
TGL_GPP(0, 181, 193, 288), /* GPP_E */
|
||||
TGL_GPP(1, 194, 217, 320), /* GPP_F */
|
||||
};
|
||||
|
||||
static const struct intel_padgroup tglh_community4_gpps[] = {
|
||||
TGL_GPP(0, 218, 241, 320), /* GPP_H */
|
||||
TGL_GPP(0, 218, 241, 352), /* GPP_H */
|
||||
TGL_GPP(1, 242, 251, 384), /* GPP_J */
|
||||
TGL_GPP(2, 252, 266, 352), /* GPP_K */
|
||||
TGL_GPP(2, 252, 266, 416), /* GPP_K */
|
||||
};
|
||||
|
||||
static const struct intel_padgroup tglh_community5_gpps[] = {
|
||||
TGL_GPP(0, 267, 281, 416), /* GPP_I */
|
||||
TGL_GPP(0, 267, 281, 448), /* GPP_I */
|
||||
TGL_GPP(1, 282, 290, INTEL_GPIO_BASE_NOMAP), /* JTAG */
|
||||
};
|
||||
|
||||
|
@ -925,12 +925,10 @@ int mtk_pinconf_adv_pull_set(struct mtk_pinctrl *hw,
|
||||
err = hw->soc->bias_set(hw, desc, pullup);
|
||||
if (err)
|
||||
return err;
|
||||
} else if (hw->soc->bias_set_combo) {
|
||||
err = hw->soc->bias_set_combo(hw, desc, pullup, arg);
|
||||
if (err)
|
||||
return err;
|
||||
} else {
|
||||
return -ENOTSUPP;
|
||||
err = mtk_pinconf_bias_set_rev1(hw, desc, pullup);
|
||||
if (err)
|
||||
err = mtk_pinconf_bias_set(hw, desc, pullup);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -444,8 +444,7 @@ static int amd_gpio_irq_set_wake(struct irq_data *d, unsigned int on)
|
||||
unsigned long flags;
|
||||
struct gpio_chip *gc = irq_data_get_irq_chip_data(d);
|
||||
struct amd_gpio *gpio_dev = gpiochip_get_data(gc);
|
||||
u32 wake_mask = BIT(WAKE_CNTRL_OFF_S0I3) | BIT(WAKE_CNTRL_OFF_S3) |
|
||||
BIT(WAKE_CNTRL_OFF_S4);
|
||||
u32 wake_mask = BIT(WAKE_CNTRL_OFF_S0I3) | BIT(WAKE_CNTRL_OFF_S3);
|
||||
|
||||
raw_spin_lock_irqsave(&gpio_dev->lock, flags);
|
||||
pin_reg = readl(gpio_dev->base + (d->hwirq)*4);
|
||||
|
@ -950,23 +950,37 @@ static int k210_fpioa_probe(struct platform_device *pdev)
|
||||
return ret;
|
||||
|
||||
pdata->pclk = devm_clk_get_optional(dev, "pclk");
|
||||
if (!IS_ERR(pdata->pclk))
|
||||
clk_prepare_enable(pdata->pclk);
|
||||
if (!IS_ERR(pdata->pclk)) {
|
||||
ret = clk_prepare_enable(pdata->pclk);
|
||||
if (ret)
|
||||
goto disable_clk;
|
||||
}
|
||||
|
||||
pdata->sysctl_map =
|
||||
syscon_regmap_lookup_by_phandle_args(np,
|
||||
"canaan,k210-sysctl-power",
|
||||
1, &pdata->power_offset);
|
||||
if (IS_ERR(pdata->sysctl_map))
|
||||
return PTR_ERR(pdata->sysctl_map);
|
||||
if (IS_ERR(pdata->sysctl_map)) {
|
||||
ret = PTR_ERR(pdata->sysctl_map);
|
||||
goto disable_pclk;
|
||||
}
|
||||
|
||||
k210_fpioa_init_ties(pdata);
|
||||
|
||||
pdata->pctl = pinctrl_register(&k210_pinctrl_desc, dev, (void *)pdata);
|
||||
if (IS_ERR(pdata->pctl))
|
||||
return PTR_ERR(pdata->pctl);
|
||||
if (IS_ERR(pdata->pctl)) {
|
||||
ret = PTR_ERR(pdata->pctl);
|
||||
goto disable_pclk;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
disable_pclk:
|
||||
clk_disable_unprepare(pdata->pclk);
|
||||
disable_clk:
|
||||
clk_disable_unprepare(pdata->clk);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct of_device_id k210_fpioa_dt_ids[] = {
|
||||
|
@ -13,7 +13,7 @@ config PINCTRL_MSM
|
||||
|
||||
config PINCTRL_APQ8064
|
||||
tristate "Qualcomm APQ8064 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -21,7 +21,7 @@ config PINCTRL_APQ8064
|
||||
|
||||
config PINCTRL_APQ8084
|
||||
tristate "Qualcomm APQ8084 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -29,7 +29,7 @@ config PINCTRL_APQ8084
|
||||
|
||||
config PINCTRL_IPQ4019
|
||||
tristate "Qualcomm IPQ4019 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -37,7 +37,7 @@ config PINCTRL_IPQ4019
|
||||
|
||||
config PINCTRL_IPQ8064
|
||||
tristate "Qualcomm IPQ8064 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -45,7 +45,7 @@ config PINCTRL_IPQ8064
|
||||
|
||||
config PINCTRL_IPQ8074
|
||||
tristate "Qualcomm Technologies, Inc. IPQ8074 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for
|
||||
@ -55,7 +55,7 @@ config PINCTRL_IPQ8074
|
||||
|
||||
config PINCTRL_IPQ6018
|
||||
tristate "Qualcomm Technologies, Inc. IPQ6018 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for
|
||||
@ -65,7 +65,7 @@ config PINCTRL_IPQ6018
|
||||
|
||||
config PINCTRL_MSM8226
|
||||
tristate "Qualcomm 8226 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -74,7 +74,7 @@ config PINCTRL_MSM8226
|
||||
|
||||
config PINCTRL_MSM8660
|
||||
tristate "Qualcomm 8660 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -82,7 +82,7 @@ config PINCTRL_MSM8660
|
||||
|
||||
config PINCTRL_MSM8960
|
||||
tristate "Qualcomm 8960 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -90,7 +90,7 @@ config PINCTRL_MSM8960
|
||||
|
||||
config PINCTRL_MDM9615
|
||||
tristate "Qualcomm 9615 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -98,7 +98,7 @@ config PINCTRL_MDM9615
|
||||
|
||||
config PINCTRL_MSM8X74
|
||||
tristate "Qualcomm 8x74 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -106,7 +106,7 @@ config PINCTRL_MSM8X74
|
||||
|
||||
config PINCTRL_MSM8916
|
||||
tristate "Qualcomm 8916 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -114,7 +114,7 @@ config PINCTRL_MSM8916
|
||||
|
||||
config PINCTRL_MSM8953
|
||||
tristate "Qualcomm 8953 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -124,7 +124,7 @@ config PINCTRL_MSM8953
|
||||
|
||||
config PINCTRL_MSM8976
|
||||
tristate "Qualcomm 8976 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -134,7 +134,7 @@ config PINCTRL_MSM8976
|
||||
|
||||
config PINCTRL_MSM8994
|
||||
tristate "Qualcomm 8994 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -143,7 +143,7 @@ config PINCTRL_MSM8994
|
||||
|
||||
config PINCTRL_MSM8996
|
||||
tristate "Qualcomm MSM8996 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -151,7 +151,7 @@ config PINCTRL_MSM8996
|
||||
|
||||
config PINCTRL_MSM8998
|
||||
tristate "Qualcomm MSM8998 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -159,7 +159,7 @@ config PINCTRL_MSM8998
|
||||
|
||||
config PINCTRL_QCS404
|
||||
tristate "Qualcomm QCS404 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -167,7 +167,7 @@ config PINCTRL_QCS404
|
||||
|
||||
config PINCTRL_QDF2XXX
|
||||
tristate "Qualcomm Technologies QDF2xxx pin controller driver"
|
||||
depends on GPIOLIB && ACPI
|
||||
depends on ACPI
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the GPIO driver for the TLMM block found on the
|
||||
@ -175,7 +175,7 @@ config PINCTRL_QDF2XXX
|
||||
|
||||
config PINCTRL_QCOM_SPMI_PMIC
|
||||
tristate "Qualcomm SPMI PMIC pin controller driver"
|
||||
depends on GPIOLIB && OF && SPMI
|
||||
depends on OF && SPMI
|
||||
select REGMAP_SPMI
|
||||
select PINMUX
|
||||
select PINCONF
|
||||
@ -190,7 +190,7 @@ config PINCTRL_QCOM_SPMI_PMIC
|
||||
|
||||
config PINCTRL_QCOM_SSBI_PMIC
|
||||
tristate "Qualcomm SSBI PMIC pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
select PINMUX
|
||||
select PINCONF
|
||||
select GENERIC_PINCONF
|
||||
@ -204,7 +204,7 @@ config PINCTRL_QCOM_SSBI_PMIC
|
||||
|
||||
config PINCTRL_SC7180
|
||||
tristate "Qualcomm Technologies Inc SC7180 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -213,7 +213,7 @@ config PINCTRL_SC7180
|
||||
|
||||
config PINCTRL_SC7280
|
||||
tristate "Qualcomm Technologies Inc SC7280 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -222,7 +222,7 @@ config PINCTRL_SC7280
|
||||
|
||||
config PINCTRL_SC8180X
|
||||
tristate "Qualcomm Technologies Inc SC8180x pin controller driver"
|
||||
depends on GPIOLIB && (OF || ACPI)
|
||||
depends on (OF || ACPI)
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -231,7 +231,7 @@ config PINCTRL_SC8180X
|
||||
|
||||
config PINCTRL_SDM660
|
||||
tristate "Qualcomm Technologies Inc SDM660 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -240,7 +240,7 @@ config PINCTRL_SDM660
|
||||
|
||||
config PINCTRL_SDM845
|
||||
tristate "Qualcomm Technologies Inc SDM845 pin controller driver"
|
||||
depends on GPIOLIB && (OF || ACPI)
|
||||
depends on (OF || ACPI)
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -249,7 +249,7 @@ config PINCTRL_SDM845
|
||||
|
||||
config PINCTRL_SDX55
|
||||
tristate "Qualcomm Technologies Inc SDX55 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -258,7 +258,7 @@ config PINCTRL_SDX55
|
||||
|
||||
config PINCTRL_SM6125
|
||||
tristate "Qualcomm Technologies Inc SM6125 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -267,7 +267,7 @@ config PINCTRL_SM6125
|
||||
|
||||
config PINCTRL_SM8150
|
||||
tristate "Qualcomm Technologies Inc SM8150 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -276,7 +276,7 @@ config PINCTRL_SM8150
|
||||
|
||||
config PINCTRL_SM8250
|
||||
tristate "Qualcomm Technologies Inc SM8250 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
depends on OF
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
@ -285,8 +285,7 @@ config PINCTRL_SM8250
|
||||
|
||||
config PINCTRL_SM8350
|
||||
tristate "Qualcomm Technologies Inc SM8350 pin controller driver"
|
||||
depends on GPIOLIB && OF
|
||||
select PINCTRL_MSM
|
||||
depends on PINCTRL_MSM
|
||||
help
|
||||
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
||||
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
||||
|
@ -1219,10 +1219,12 @@ static int sunxi_pinctrl_build_state(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
/*
|
||||
* We suppose that we won't have any more functions than pins,
|
||||
* we'll reallocate that later anyway
|
||||
* Find an upper bound for the maximum number of functions: in
|
||||
* the worst case we have gpio_in, gpio_out, irq and up to four
|
||||
* special functions per pin, plus one entry for the sentinel.
|
||||
* We'll reallocate that later anyway.
|
||||
*/
|
||||
pctl->functions = kcalloc(pctl->ngroups,
|
||||
pctl->functions = kcalloc(4 * pctl->ngroups + 4,
|
||||
sizeof(*pctl->functions),
|
||||
GFP_KERNEL);
|
||||
if (!pctl->functions)
|
||||
|
Loading…
Reference in New Issue
Block a user