sunxi-6.11: Fix compilation error incompatible pointer type

This commit is contained in:
The-going
2024-09-27 19:08:38 +03:00
committed by Igor
parent 6313cf4368
commit 3bc94b8355
8 changed files with 49 additions and 68 deletions

View File

@@ -64,7 +64,7 @@ new file mode 100644
index 000000000000..113a45408116
--- /dev/null
+++ b/sound/soc/codecs/ac200.c
@@ -0,0 +1,774 @@
@@ -0,0 +1,772 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * X-Powers AC200 Codec Driver
@@ -810,14 +810,12 @@ index 000000000000..113a45408116
+ return ret;
+}
+
+static int ac200_codec_remove(struct platform_device *pdev)
+static void ac200_codec_remove(struct platform_device *pdev)
+{
+ struct ac200_codec *priv = dev_get_drvdata(&pdev->dev);
+
+ regmap_write(priv->regmap, AC200_SYS_AUDIO_CTL0, 0);
+ regmap_write(priv->regmap, AC200_SYS_AUDIO_CTL1, 0);
+
+ return 0;
+}
+
+static const struct of_device_id ac200_codec_match[] = {

View File

@@ -94,7 +94,7 @@ new file mode 100644
index 000000000000..a839666c50a5
--- /dev/null
+++ b/drivers/char/dump_reg/dump_reg.c
@@ -0,0 +1,888 @@
@@ -0,0 +1,887 @@
+/*
+ * dump registers sysfs driver
+ *
@@ -951,7 +951,7 @@ index 000000000000..a839666c50a5
+ return -1;
+}
+
+static int sunxi_dump_reg_remove(struct platform_device *pdev)
+static void sunxi_dump_reg_remove(struct platform_device *pdev)
+{
+ int i;
+
@@ -960,7 +960,6 @@ index 000000000000..a839666c50a5
+ }
+
+ class_destroy(dump_class);
+ return 0;
+}
+
+static struct platform_driver sunxi_dump_reg_driver = {
@@ -1368,7 +1367,7 @@ new file mode 100644
index 000000000000..a5b4e6c0b578
--- /dev/null
+++ b/drivers/char/sunxi-sysinfo/sunxi-sysinfo.c
@@ -0,0 +1,177 @@
@@ -0,0 +1,175 @@
+/*
+ * Based on drivers/char/sunxi-sysinfo/sunxi-sysinfo.c
+ *
@@ -1524,12 +1523,10 @@ index 000000000000..a5b4e6c0b578
+ return ret;
+}
+
+static int sunxi_info_remove(struct platform_device *pdev)
+static void sunxi_info_remove(struct platform_device *pdev)
+{
+ misc_deregister(&soc_info_device);
+ class_unregister(&info_class);
+
+ return 0;
+}
+
+static struct platform_driver sunxi_info_driver = {

View File

@@ -247,7 +247,7 @@ new file mode 100644
index 000000000000..f4f2dcecbb48
--- /dev/null
+++ b/drivers/misc/sunxi-addr/sunxi-addr.c
@@ -0,0 +1,357 @@
@@ -0,0 +1,356 @@
+/*
+ * The driver of SUNXI NET MAC ADDR Manager.
+ *
@@ -584,10 +584,9 @@ index 000000000000..f4f2dcecbb48
+ return 0;
+}
+
+static int addr_mgt_remove(struct platform_device *pdev)
+static void addr_mgt_remove(struct platform_device *pdev)
+{
+ class_unregister(&addr_class);
+ return 0;
+}
+
+static struct platform_driver addr_mgt_driver = {

View File

@@ -40,7 +40,7 @@ new file mode 100644
index 000000000000..1af735ce8e4d
--- /dev/null
+++ b/drivers/leds/rgb/leds-ws2812.c
@@ -0,0 +1,229 @@
@@ -0,0 +1,227 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (c) 2023, The Linux Foundation. All rights reserved.
@@ -241,12 +241,10 @@ index 000000000000..1af735ce8e4d
+ return 0;
+}
+
+static int ws2812_remove(struct platform_device *pdev)
+static void ws2812_remove(struct platform_device *pdev)
+{
+ misc_deregister(&ws2812_misc_dev);
+ gpio_free(ws2812_pin);
+
+ return 0;
+}
+
+static const struct of_device_id ws2812_of_match[] = {

View File

@@ -4,6 +4,8 @@ Date: Thu, 9 May 2024 20:59:34 -0700
Subject: Sound for H616, H618 Allwinner SOCs
Signed-off-by: Stephen Graf <stephen.graf@gmail.com>
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
---
.../allwinner/sun50i-h616-orangepi-zero.dtsi | 18 +
.../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 75 +-
@@ -14,13 +16,13 @@ Signed-off-by: Stephen Graf <stephen.graf@gmail.com>
sound/soc/soc-core.c | 25 +
sound/soc/sunxi/Kconfig | 8 +
sound/soc/sunxi/Makefile | 1 +
sound/soc/sunxi/sun50iw9-codec.c | 1093 ++++++++++++
sound/soc/sunxi/sun50iw9-codec.c | 1091 ++++++++++++
sound/soc/sunxi_v2/Kconfig | 48 +
sound/soc/sunxi_v2/Makefile | 11 +
sound/soc/sunxi_v2/drv_hdmi.h | 63 +
sound/soc/sunxi_v2/snd_sunxi_ahub.c | 1477 +++++++++++++++++
sound/soc/sunxi_v2/snd_sunxi_ahub.c | 1475 +++++++++++++++++
sound/soc/sunxi_v2/snd_sunxi_ahub.h | 67 +
sound/soc/sunxi_v2/snd_sunxi_ahub_dam.c | 534 ++++++
sound/soc/sunxi_v2/snd_sunxi_ahub_dam.c | 532 ++++++
sound/soc/sunxi_v2/snd_sunxi_ahub_dam.h | 291 ++++
sound/soc/sunxi_v2/snd_sunxi_common.c | 267 +++
sound/soc/sunxi_v2/snd_sunxi_common.h | 67 +
@@ -29,7 +31,7 @@ Signed-off-by: Stephen Graf <stephen.graf@gmail.com>
sound/soc/sunxi_v2/snd_sunxi_mach.h | 17 +
sound/soc/sunxi_v2/snd_sunxi_mach_utils.c | 422 +++++
sound/soc/sunxi_v2/snd_sunxi_mach_utils.h | 116 ++
24 files changed, 5138 insertions(+), 18 deletions(-)
24 files changed, 5132 insertions(+), 18 deletions(-)
create mode 100644 sound/soc/sunxi/sun50iw9-codec.c
create mode 100644 sound/soc/sunxi_v2/Kconfig
create mode 100644 sound/soc/sunxi_v2/Makefile
@@ -368,10 +370,10 @@ index 7d1a70bcf73e..7a10ad229006 100644
obj-$(CONFIG_SND_SUN8I_ADDA_PR_REGMAP) += sun8i-adda-pr-regmap.o
diff --git a/sound/soc/sunxi/sun50iw9-codec.c b/sound/soc/sunxi/sun50iw9-codec.c
new file mode 100644
index 000000000000..38b1d3824c20
index 000000000000..a9dfc1a031e4
--- /dev/null
+++ b/sound/soc/sunxi/sun50iw9-codec.c
@@ -0,0 +1,1093 @@
@@ -0,0 +1,1091 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright 2014 Emilio López <emilio@elopez.com.ar>
@@ -1435,7 +1437,7 @@ index 000000000000..38b1d3824c20
+ return ret;
+}
+
+static int sun50i_h616_codec_remove(struct platform_device *pdev)
+static void sun50i_h616_codec_remove(struct platform_device *pdev)
+{
+ struct snd_soc_card *card = platform_get_drvdata(pdev);
+ struct sun50i_h616_codec *scodec = snd_soc_card_get_drvdata(card);
@@ -1444,8 +1446,6 @@ index 000000000000..38b1d3824c20
+ if (scodec->rst)
+ reset_control_assert(scodec->rst);
+ clk_disable_unprepare(scodec->clk_apb);
+
+ return 0;
+}
+
+static struct platform_driver sun50i_h616_codec_driver = {
@@ -1607,10 +1607,10 @@ index 000000000000..2e05489b01e1
+#endif
diff --git a/sound/soc/sunxi_v2/snd_sunxi_ahub.c b/sound/soc/sunxi_v2/snd_sunxi_ahub.c
new file mode 100644
index 000000000000..8a1065e9183e
index 000000000000..6d4a847a928f
--- /dev/null
+++ b/sound/soc/sunxi_v2/snd_sunxi_ahub.c
@@ -0,0 +1,1477 @@
@@ -0,0 +1,1475 @@
+/*
+ * sound\soc\sunxi\snd_sunxi_ahub.c
+ * (C) Copyright 2021-2025
@@ -3021,7 +3021,7 @@ index 000000000000..8a1065e9183e
+ return ret;
+}
+
+static int sunxi_ahub_dev_remove(struct platform_device *pdev)
+static void sunxi_ahub_dev_remove(struct platform_device *pdev)
+{
+ struct sunxi_ahub_info *ahub_info = dev_get_drvdata(&pdev->dev);
+ struct sunxi_ahub_pinctl_info *pin_info = &ahub_info->pin_info;
@@ -3044,8 +3044,6 @@ index 000000000000..8a1065e9183e
+ devm_kfree(&pdev->dev, ahub_info);
+
+ SND_LOG_DEBUG(HLOG, "unregister ahub platform success\n");
+
+ return 0;
+}
+
+static const struct of_device_id sunxi_ahub_of_match[] = {
@@ -3163,10 +3161,10 @@ index 000000000000..b3c1cc592844
+#endif /* __SND_SUNXI_AHUB_H */
diff --git a/sound/soc/sunxi_v2/snd_sunxi_ahub_dam.c b/sound/soc/sunxi_v2/snd_sunxi_ahub_dam.c
new file mode 100644
index 000000000000..1fcc8aefd50c
index 000000000000..f3c7bb3c7cd2
--- /dev/null
+++ b/sound/soc/sunxi_v2/snd_sunxi_ahub_dam.c
@@ -0,0 +1,534 @@
@@ -0,0 +1,532 @@
+/*
+ * sound\soc\sunxi\snd_sunxi_ahub_dam.c
+ * (C) Copyright 2021-2025
@@ -3633,7 +3631,7 @@ index 000000000000..1fcc8aefd50c
+ return ret;
+}
+
+static int sunxi_ahub_dam_dev_remove(struct platform_device *pdev)
+static void sunxi_ahub_dam_dev_remove(struct platform_device *pdev)
+{
+ struct sunxi_ahub_mem_info *mem_info = &g_mem_info;
+ struct sunxi_ahub_clk_info *clk_info = &g_clk_info;
@@ -3657,8 +3655,6 @@ index 000000000000..1fcc8aefd50c
+ reset_control_assert(clk_info->clk_rst);
+
+ SND_LOG_DEBUG(HLOG, "unregister ahub_dam platform success\n");
+
+ return 0;
+}
+
+static const struct of_device_id sunxi_ahub_dam_of_match[] = {
@@ -4383,7 +4379,7 @@ index 000000000000..89ad9fe71936
+#endif /* __SND_SUNXI_LOG_H */
diff --git a/sound/soc/sunxi_v2/snd_sunxi_mach.c b/sound/soc/sunxi_v2/snd_sunxi_mach.c
new file mode 100644
index 000000000000..27449ad6b843
index 000000000000..ea73eced251e
--- /dev/null
+++ b/sound/soc/sunxi_v2/snd_sunxi_mach.c
@@ -0,0 +1,479 @@
@@ -4819,11 +4815,11 @@ index 000000000000..27449ad6b843
+ return ret;
+}
+
+static int asoc_simple_remove(struct platform_device *pdev)
+static void asoc_simple_remove(struct platform_device *pdev)
+{
+ struct snd_soc_card *card = platform_get_drvdata(pdev);
+
+ return asoc_simple_clean_reference(card);
+ asoc_simple_clean_reference(card);
+}
+
+static const struct of_device_id snd_soc_sunxi_of_match[] = {

View File

@@ -7,18 +7,18 @@ Subject: driver: allwinner h618 emac
drivers/gpio/gpiolib-of.c | 29 +-
drivers/mfd/Kconfig | 10 +
drivers/mfd/Makefile | 1 +
drivers/mfd/sunxi-ac200.c | 288 +++
drivers/mfd/sunxi-ac200.c | 289 +++
drivers/net/ethernet/allwinner/Kconfig | 8 +
drivers/net/ethernet/allwinner/Makefile | 2 +
drivers/net/ethernet/allwinner/sunxi-gmac.c | 2219 +++++++++++++++++
drivers/net/ethernet/allwinner/sunxi-gmac.c | 2217 +++++++++++++++++
drivers/net/ethernet/allwinner/sunxi-gmac.h | 270 ++
.../net/ethernet/allwinner/sunxi_gmac_ops.c | 768 ++++++
drivers/net/phy/Kconfig | 8 +
drivers/net/phy/Makefile | 1 +
drivers/net/phy/sunxi-ephy.c | 518 ++++
drivers/net/phy/sunxi-ephy.c | 516 ++++
include/linux/mfd/ac200.h | 213 ++
include/linux/of_gpio.h | 18 +
14 files changed, 4338 insertions(+), 15 deletions(-)
14 files changed, 4335 insertions(+), 15 deletions(-)
create mode 100644 drivers/mfd/sunxi-ac200.c
create mode 100644 drivers/net/ethernet/allwinner/sunxi-gmac.c
create mode 100644 drivers/net/ethernet/allwinner/sunxi-gmac.h
@@ -108,10 +108,10 @@ index b2e864d702c4..ed61bddea637 100644
obj-$(CONFIG_MFD_AXP20X_RSB) += axp20x-rsb.o
diff --git a/drivers/mfd/sunxi-ac200.c b/drivers/mfd/sunxi-ac200.c
new file mode 100644
index 000000000000..7c5b0e0523cf
index 000000000000..75c032ce147f
--- /dev/null
+++ b/drivers/mfd/sunxi-ac200.c
@@ -0,0 +1,288 @@
@@ -0,0 +1,289 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * MFD core driver for X-Powers' AC200 IC
@@ -333,9 +333,10 @@ index 000000000000..7c5b0e0523cf
+ struct ac200_dev *ac200 = i2c_get_clientdata(i2c);
+
+ regmap_write(ac200->regmap, AC200_SYS_CONTROL, 0);
+
+ mfd_remove_devices(&i2c->dev);
+}static void ac200_i2c_shutdown(struct i2c_client *i2c)
+}
+
+static void ac200_i2c_shutdown(struct i2c_client *i2c)
+{
+ struct ac200_dev *ac200 = i2c_get_clientdata(i2c);
+
@@ -392,7 +393,7 @@ index 000000000000..7c5b0e0523cf
+ },
+ .probe = ac200_i2c_probe,
+ .remove = ac200_i2c_remove,
+ .shutdown = ac200_i2c_shutdown,
+ .shutdown = ac200_i2c_shutdown,
+ .id_table = ac200_ids,
+};
+module_i2c_driver(ac200_i2c_driver);
@@ -429,10 +430,10 @@ index ddd5a5079e8a..56b9c434a5b8 100644
+obj-$(CONFIG_SUNXI_GMAC) += sunxi_gmac.o
diff --git a/drivers/net/ethernet/allwinner/sunxi-gmac.c b/drivers/net/ethernet/allwinner/sunxi-gmac.c
new file mode 100644
index 000000000000..30efda8038f2
index 000000000000..249cee0607e3
--- /dev/null
+++ b/drivers/net/ethernet/allwinner/sunxi-gmac.c
@@ -0,0 +1,2219 @@
@@ -0,0 +1,2217 @@
+/*
+ * linux/drivers/net/ethernet/allwinner/sunxi_gmac.c
+ *
@@ -2598,7 +2599,7 @@ index 000000000000..30efda8038f2
+ return ret;
+}
+
+static int geth_remove(struct platform_device *pdev)
+static void geth_remove(struct platform_device *pdev)
+{
+ struct net_device *ndev = platform_get_drvdata(pdev);
+ struct geth_priv *priv = netdev_priv(ndev);
@@ -2612,8 +2613,6 @@ index 000000000000..30efda8038f2
+ geth_hw_release(pdev);
+ platform_set_drvdata(pdev, NULL);
+ free_netdev(ndev);
+
+ return 0;
+}
+
+static const struct of_device_id geth_of_match[] = {
@@ -3735,10 +3734,10 @@ index 4e3f7981a5e9..d004e4c79083 100644
obj-$(CONFIG_AIR_EN8811H_PHY) += air_en8811h.o
diff --git a/drivers/net/phy/sunxi-ephy.c b/drivers/net/phy/sunxi-ephy.c
new file mode 100644
index 000000000000..92f5ba101ced
index 000000000000..44eb2790ea62
--- /dev/null
+++ b/drivers/net/phy/sunxi-ephy.c
@@ -0,0 +1,518 @@
@@ -0,0 +1,516 @@
+/*
+ * Copyright © 2015-2016, Shuge
+ * Author: Sugar <shugeLinux@gmail.com>
@@ -4172,11 +4171,9 @@ index 000000000000..92f5ba101ced
+ return 0;
+}
+
+static int ac200_ephy_remove(struct platform_device *pdev)
+static void ac200_ephy_remove(struct platform_device *pdev)
+{
+ ac200_ephy_disable(&ac200_ephy);
+
+ return 0;
+}
+
+static int ac200_ephy_suspend(struct device *dev)

View File

@@ -49,7 +49,7 @@ new file mode 100644
index 000000000000..1216cae54856
--- /dev/null
+++ b/drivers/pwm/pwm-sunxi-enhance.c
@@ -0,0 +1,1196 @@
@@ -0,0 +1,1194 @@
+/*
+ * Allwinnertech pulse-width-modulation controller driver
+ *
@@ -1052,7 +1052,7 @@ index 000000000000..1216cae54856
+ /* force to one pwm if read property fail */
+ npwm = 1;
+ }
+
+
+ chip = devm_pwmchip_alloc(&pdev->dev, npwm, sizeof(*pwm));
+ if (IS_ERR(chip)) {
+ return PTR_ERR(chip);
@@ -1166,7 +1166,7 @@ index 000000000000..1216cae54856
+ return ret;
+}
+
+static int sunxi_pwm_remove(struct platform_device *pdev)
+static void sunxi_pwm_remove(struct platform_device *pdev)
+{
+ struct pwm_chip *chip = platform_get_drvdata(pdev);
+ struct sunxi_pwm_chip *pwm = to_sunxi_pwm_chip(chip);
@@ -1174,8 +1174,6 @@ index 000000000000..1216cae54856
+ clk_disable(pwm->bus_clk);
+ reset_control_assert(pwm->pwm_rst_clk);
+ pwmchip_remove(chip);
+
+ return 0;
+}
+
+static int sunxi_pwm_suspend(struct platform_device *pdev, pm_message_t state)

View File

@@ -68,7 +68,7 @@ new file mode 100644
index 000000000000..8efeaf18e42c
--- /dev/null
+++ b/drivers/phy/allwinner/ac200-ephy-ctl.c
@@ -0,0 +1,301 @@
@@ -0,0 +1,299 @@
+// SPDX-License-Identifier: GPL-2.0+
+/**
+ * syscon driver to control and configure AC200 Ethernet PHY
@@ -342,13 +342,11 @@ index 000000000000..8efeaf18e42c
+ return ret;
+}
+
+static int ac200_ephy_ctl_remove(struct platform_device *pdev)
+static void ac200_ephy_ctl_remove(struct platform_device *pdev)
+{
+ struct ac200_ephy_ctl_dev *priv = platform_get_drvdata(pdev);
+
+ ac200_ephy_ctl_disable(priv);
+
+ return 0;
+}
+
+static const struct of_device_id ac200_ephy_ctl_match[] = {