Skip to content

FROMLIST: Revert "thermal: hwmon: Register a hwmon device for each thermal zone" - #30

Open
CSharperMantle wants to merge 258 commits into
AOSC-Tracking:aosc/v7.1.7from
CSharperMantle:github-pr/aosc/v7.1.7-import-acpitz-revert
Open

FROMLIST: Revert "thermal: hwmon: Register a hwmon device for each thermal zone"#30
CSharperMantle wants to merge 258 commits into
AOSC-Tracking:aosc/v7.1.7from
CSharperMantle:github-pr/aosc/v7.1.7-import-acpitz-revert

Conversation

@CSharperMantle

Copy link
Copy Markdown
Member

This is https://lore.kernel.org/all/2301040.irdbgypaU6@rafael.j.wysocki/ and commit f93d951 upstream.

The reverted commit breaks many userspace expectations about hwmon device names:

Revert commit [...] that changed the names of hwmon class devices associated with thermal zones and their sysfs layout which made user space unhappy.

The following screenshots compare the CPU temperature readout by htop(1) on Loongson-3B6000x1-7A2000x1-XB612B0_v1.2 running kernel 7.1.7.

Before:

Screenshot 2026-08-10 202903

After:

Screenshot 2026-08-10 210330

KexyBiscuit and others added 30 commits August 10, 2026 22:04
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
This add CPU HWMon (temperature sensor) platform driver for Loongson-3.

Tested-by: Xi Ruoyao <xry111@xry111.site>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>

Link: chenhuacai/linux@2a6c1c7
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
… fs_initcall

Consider a configuration like this:
1, efifb (or simpledrm) is built-in;
2, a native display driver (such as radeon) is also built-in.

As Javier said, this is not a common configuration (the native display
driver is usually built as a module), but it can happen and cause some
trouble.

In this case, since efifb, radeon and sysfb are all in device_initcall()
level, the order in practise is like this:

efifb registered at first, but no "efi-framebuffer" device yet. radeon
registered later, and /dev/fb0 created. sysfb_init() comes at last, it
registers "efi-framebuffer" and then causes an error message "efifb: a
framebuffer is already registered". Make sysfb_init() to be subsys_
initcall_sync() can avoid this. And Javier Martinez Canillas is trying
to make a more general solution in commit 873eb3b ("fbdev: Disable
sysfb device registration when removing conflicting FBs").

However, this patch still makes sense because it can make the screen
display as early as possible (We cannot move to subsys_initcall, since
sysfb_init() should be executed after PCI enumeration).

This is a better version of commit 60aebc9 ("drivers/firmware:
Move sysfb_init() from device_initcall to subsys_initcall_sync") since
the previous commit leads to blank displays on some systems. The reason
is that vgaarb initialization is also a subsys_initcall_sync function so
sysfb_disable() is sometimes missed. So here we move sysfb_init() to an
fs_initcall function which is ensured after vgaarb initialization.

Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>

Link: chenhuacai/linux@8bea46f
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Radeon driver can not handle the interrupt is faster than DMA data, so
irq handler must update an old ih.rptr value in IH_RB_RPTR register to
enable interrupt again when interrupt is faster than DMA data.

Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Zhijie Zhang <zhangzhijie@loongson.cn>

Link: chenhuacai/linux@6266d00
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
32BIT Loongson machines don't have SMC and FreqCtrl registers, so make
this drvier depend on MACH_LOONGSON64.

Cc: stable@vger.kernel.org
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>

Link: https://github.com/chenhuacai/linux/commits/master/2ae9fe9393b63dbd4ca83ed4cceaf287a2df82b5
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
…essage

The id field of smc_message is stand for the CPU ID. Traditionally this
driver is supposed to used by desktop and laptop productions so 4-bits
are enough. But now we have servers that can have as many as 256 cores,
so we need 8-bits CPU ID.

On the other hand, the val field is usually stand for CPU frequency so
12-bits are enough to represent 4GHz, and for higher frequencies there
is an extra bit to extend.

In theory, this is a incompatible change, but fortunately the old SMC
firmwares are not widely shipped and can be updated on the air, thus we
can safely adjust the widths.

Cc: stable@vger.kernel.org
Signed-off-by: Hongliang Wang <wanghongliang@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>

Link: https://github.com/chenhuacai/linux/commits/master/19ff9dc80cdd58051a9a5f8669f5eba66cd8a0cb
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Our server productions (e.g. Loongson-3D6000/3E6000) can have multiple
nodes in one package and SMC mailboxes are also per-node. So replace the
per-package mutex with per-node one.

Cc: stable@vger.kernel.org
Signed-off-by: Hongliang Wang <wanghongliang@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>

Link: https://github.com/chenhuacai/linux/commits/master/0aef298d02ef8c4b5d6456ab04b3f42b0102ed01
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
…t callbacks

Our server productions (e.g. Loongson-3D6000/3E6000) can have discrete
global physical CPU IDs while the core ID inside the packages are always
continuous. In these cases we should use global physical CPU IDs to get
and set frequencies.

Cc: stable@vger.kernel.org
Signed-off-by: Hongliang Wang <wanghongliang@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>

Link: https://github.com/chenhuacai/linux/commits/master/227212863d7696a7952d4e6c28afe0e6e9eb9f53
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Our server productions (e.g. Loongson-3D6000/3E6000) can have multiple
nodes in one package and SMC mailboxes are also per-node. However, IOCSR
read/write can only perform on the current node, while sometimes we want
to perform on other nodes (e.g. when switch governor, the get and target
callbacks are not run on target core). So replace IOCSR read/write with
MMIO ones.

Cc: stable@vger.kernel.org
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>

Link: https://github.com/chenhuacai/linux/commits/master/a2960fe265c2d2e0db0e356b0aee5a132faaae63
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
This patch adds supoort for the Phytium SoC family.

Signed-off-by: Chen Baozi <chenbaozi@phytium.com.cn>
Change-Id: Ibe06dc2e54a413a8c1257fef3aade99e6ca6480f

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/154f8e5d365d57d38ad6fabc230861c9643db154
[Kexy: Resolved minor conflict in arch/arm64/Kconfig.platforms]
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Update pci_ids.h with the vendor ID for Phytium.

Signed-off-by: Chen Baozi <chenbaozi@phytium.com.cn>
Change-Id: Ie0ea6afa71a8ba2f66f8426c1db063cd734d985c

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/b570810d41c9cb46f05c31b51d156c6b4441486a
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
This patch adds support for Phytium GMAC controller which derived from
Synopsys Designware MAC 10/100/1000 Universal. As required by SBBR,
ACPI DSDT is supported as well as device tree.

Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Signed-off-by: Chen Baozi <chenbaozi@phytium.com.cn>
Change-Id: Id72b75c7a398c98b94df07ae92d7aa72bdc4d8ad

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/bf64fd4ae38b9dee89dfe8b17b79a50eec56961e
[Kexy: Resolved minor conflict in MAINTAINERS]
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
[Icenowy: Remove lpi_irq reference]
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>

[ Mingcong Bai: Resolved a minor post-7.0 merge conflict in
  drivers/net/ethernet/stmicro/stmmac/Kconfig
  drivers/net/ethernet/stmicro/stmmac/Makefile ]

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
… coherent

Add a memory barrier to sync TX descriptor to avoid data error.

Besides, increase the ring buffer size to avoid buffer overflow.

Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Signed-off-by: Chen Baozi <chenbaozi@phytium.com.cn>
Change-Id: I47bd63a472c915b7f88b16921e8fa63bf8b284d9

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/cc1c23a77c9282f285d22c046dc6908209e5a236
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>

[ Mingcong Bai: Fixed a minor post-7.0.6 merge conflict in
  drivers/net/ethernet/stmicro/stmmac/common.h ]

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
1. spi: Rename SPI_MASTER_GPIO_SS to SPI_CONTROLLER_GPIO_SS 82238
2. net: stmmac: clarify difference between "interface" and "phy_interface"  a014c35
3. net: stmmac: convert plat->phylink_node to fwnode   e80af2a
4. net: stmmac: Make stmmac_pltfr_remove() return void 3246627
5. Remove IOMMU_CAP_INTR_REMAP, instead rely on the interrupt subsystem 143c7bc
6. i2c: Switch .probe() to not take an id parameter 03c835f
7. drivers: gpio: add #include <linux/seq_file.h>

Signed-off-by: zuoqian <zuoqian2032@phytium.com.cn>

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/52a27ae1196d3714b22e430fb43ab9ac2e55e914
[Kexy: Resolved minor conflicts in drivers/gpio/gpio-phytium-core.c,
 drivers/input/keyboard/phytium-keypad.c,
 drivers/irqchip/irq-gic-phytium-2500-its.c, drivers/spi/spi-phytium.c,
 sound/soc/codecs/es8336.c, and sound/soc/codecs/es8388.c]
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Signed-off-by: liutianyu1250 <liutianyu1250@phytium.com.cn>

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/f1b4bd2a3b847e061631dfea27f4c64bb75cfe9b
[Kexy: Resolved minor conflicts in
 arch/arm64/boot/dts/phytium/pe2201-demo-ddr4.dts,
 arch/arm64/boot/dts/phytium/pe2201.dtsi,
 arch/arm64/boot/dts/phytium/pe2202-chillipi-edu-board.dts,
 arch/arm64/boot/dts/phytium/pe2202-demo-ddr4-local.dts,
 arch/arm64/boot/dts/phytium/pe2202-demo-ddr4.dts,
 arch/arm64/boot/dts/phytium/pe2202-miniitx-board.dts,
 arch/arm64/boot/dts/phytium/pe2202-power-board.dts,
 arch/arm64/boot/dts/phytium/pe2202.dtsi,
 arch/arm64/boot/dts/phytium/pe2204-come-board.dts,
 arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts,
 arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts,
 arch/arm64/boot/dts/phytium/pe2204-edu-board.dts,
 arch/arm64/boot/dts/phytium/pe2204-hanwei-board.dts,
 arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts,
 arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts,
 arch/arm64/boot/dts/phytium/pe2204.dtsi,
 arch/arm64/boot/dts/phytium/pe220x.dtsi,
 arch/arm64/boot/dts/phytium/phytiumpi_firefly.dts,
 drivers/char/hw_random/phytium-rng.c,
 drivers/char/ipmi/bt_bmc_phytium.c,
 drivers/char/ipmi/kcs_bmc_phytium.c,
 drivers/dma/phytium/phytium-ddmac.c,
 drivers/dma/phytium/phytium-ddmac.h,
 drivers/edac/phytium_pe220x_edac.c, drivers/gpio/gpio-phytium-core.c,
 drivers/gpio/gpio-phytium-core.h, drivers/gpio/gpio-phytium-pci.c,
 drivers/gpio/gpio-phytium-platform.c,
 drivers/gpio/gpio-phytium-sgpio.c, drivers/gpu/drm/phytium/pe220x_dc.c,
 drivers/gpu/drm/phytium/pe220x_dc.h,
 drivers/gpu/drm/phytium/pe220x_dp.c,
 drivers/gpu/drm/phytium/pe220x_dp.h,
 drivers/gpu/drm/phytium/pe220x_reg.h,
 drivers/gpu/drm/phytium/phytium_crtc.c,
 drivers/gpu/drm/phytium/phytium_crtc.h,
 drivers/gpu/drm/phytium/phytium_debugfs.c,
 drivers/gpu/drm/phytium/phytium_debugfs.h,
 drivers/gpu/drm/phytium/phytium_display_drv.c,
 drivers/gpu/drm/phytium/phytium_display_drv.h,
 drivers/gpu/drm/phytium/phytium_dp.c,
 drivers/gpu/drm/phytium/phytium_dp.h,
 drivers/gpu/drm/phytium/phytium_fb.c,
 drivers/gpu/drm/phytium/phytium_fb.h,
 drivers/gpu/drm/phytium/phytium_fbdev.c,
 drivers/gpu/drm/phytium/phytium_fbdev.h,
 drivers/gpu/drm/phytium/phytium_gem.c,
 drivers/gpu/drm/phytium/phytium_gem.h,
 drivers/gpu/drm/phytium/phytium_panel.c,
 drivers/gpu/drm/phytium/phytium_panel.h,
 drivers/gpu/drm/phytium/phytium_pci.c,
 drivers/gpu/drm/phytium/phytium_pci.h,
 drivers/gpu/drm/phytium/phytium_plane.c,
 drivers/gpu/drm/phytium/phytium_plane.h,
 drivers/gpu/drm/phytium/phytium_platform.c,
 drivers/gpu/drm/phytium/phytium_platform.h,
 drivers/gpu/drm/phytium/phytium_reg.h,
 drivers/gpu/drm/phytium/px210_dc.c, drivers/gpu/drm/phytium/px210_dc.h,
 drivers/gpu/drm/phytium/px210_dp.c, drivers/gpu/drm/phytium/px210_dp.h,
 drivers/gpu/drm/phytium/px210_reg.h, drivers/hwmon/tacho-phytium.c,
 drivers/hwspinlock/phytium_hwspinlock.c,
 drivers/i2c/busses/i2c-phytium-common.c,
 drivers/i2c/busses/i2c-phytium-core.h,
 drivers/i2c/busses/i2c-phytium-master.c,
 drivers/i2c/busses/i2c-phytium-pci.c,
 drivers/i2c/busses/i2c-phytium-platform.c,
 drivers/i2c/busses/i2c-phytium-slave.c, drivers/iio/adc/phytium-adc.c,
 drivers/input/keyboard/phytium-keypad.c,
 drivers/input/serio/phytium-ps2.c,
 drivers/irqchip/irq-gic-phytium-2500-its.c,
 drivers/irqchip/irq-gic-phytium-2500.c,
 drivers/irqchip/irq-phytium-ixic.c, drivers/mailbox/phytium_mailbox.c,
 drivers/media/platform/phytium/phytium_jpeg_core.c,
 drivers/media/platform/phytium/phytium_jpeg_core.h,
 drivers/media/platform/phytium/phytium_jpeg_reg.h,
 drivers/mfd/phytium_px210_i2s_lsd.c,
 drivers/mfd/phytium_px210_i2s_mmd.c,
 drivers/mmc/host/phytium-mci-pci.c,
 drivers/mmc/host/phytium-mci-plat.c, drivers/mmc/host/phytium-mci.c,
 drivers/mmc/host/phytium-mci.h, drivers/mmc/host/phytium-sdci.c,
 drivers/mmc/host/phytium-sdci.h, drivers/mtd/nand/raw/phytium_nand.c,
 drivers/mtd/nand/raw/phytium_nand.h,
 drivers/mtd/nand/raw/phytium_nand_pci.c,
 drivers/mtd/nand/raw/phytium_nand_plat.c,
 drivers/net/can/phytium/phytium_can.c,
 drivers/net/can/phytium/phytium_can.h,
 drivers/net/can/phytium/phytium_can_pci.c,
 drivers/net/can/phytium/phytium_can_platform.c,
 drivers/pci/controller/pcie-phytium-ep.c,
 drivers/pci/controller/pcie-phytium-ep.h,
 drivers/pci/controller/pcie-phytium-register.h,
 drivers/pwm/pwm-phytium.c, drivers/remoteproc/homo_remoteproc.c,
 drivers/spi/spi-phytium-dma.c, drivers/spi/spi-phytium-pci.c,
 drivers/spi/spi-phytium-plat.c, drivers/spi/spi-phytium-qspi.c,
 drivers/spi/spi-phytium.c, drivers/spi/spi-phytium.h,
 drivers/tty/serial/phytium-uart.c, drivers/w1/masters/phytium_w1.c,
 include/linux/irqchip/arm-gic-phytium-2500.h,
 sound/pci/hda/hda_phytium.c, sound/pci/hda/hda_phytium.h,
 sound/soc/codecs/es8336.c, sound/soc/codecs/es8336.h,
 sound/soc/codecs/es8388.c, sound/soc/phytium/local.h,
 sound/soc/phytium/phytium_i2s.c, sound/soc/phytium/pmdk_dp.c,
 sound/soc/phytium/pmdk_es8336.c, and sound/soc/phytium/pmdk_es8388.c]
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Support for error detection and correction on the Phytium
Pe220x family of SOCs.

Signed-off-by: Zhu Honglei <zhuhonglei1714@phytium.com.cn>
Signed-off-by: Lan Hengyu <lanhengyu1395@phytium.com.cn>
Signed-off-by: Li Mingzhe <limingzhe1839@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Change-Id: Iaa02a12427e8a032e12dcf148da9b6deb574a2f6

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/fcb536a33d3ad3a005af1113aef503352fba964a
[Kexy: Resolved minor conflict in MAINTAINERS, dropped changes in
 drivers/edac/Kconfig, drivers/edac/Makefile,
 and drivers/edac/phytium_edac.c]
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Modify stmmmac driver to support phytium DWMAC controler.

Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Chen Baozi <chenbaozi@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Change-Id: I878377c5fb88935dcbc7b83f368ae5408938f890

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/f18feb0bef4216b257a29d176e7366c7025f3115
[Kexy: Resolved minor conflict in MAINTAINERS]
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Test S3 with net device open will got this cut log.
...
   NETDEV WATCHDOG: eth0 (phytium-dwmac): transmit queue 0 timed out 8532ms
   WARNING: CPU: 2 PID: 0 at net/sched/sch_generic.c:525 dev_watchdog+0x234/0x23c
...

Miss pm function in phytium_dwmac_driver.
So add it.

Signed-off-by: liutianyu1250 <liutianyu1250@phytium.com.cn>

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/e4084ab6219ff1e5b2ad5cc68b58be491b3f448f
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
This patch provides support for Phytium GMAC controller driver.

Signed-off-by: Song Wenting <songwenting@phytium.com.cn>
Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Change-Id: If526fbf5cda879b4445b027ec32b94e9403b3870

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/4a478e247258caf39ae5d7541ecb6c4aa08c90b8
[Kexy: Resolved minor conflict in MAINTAINERS]
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
When MDIO registration fails, it will double free netdev,
which will cause the system to crash.

Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Change-Id: I2605bc0ac4554c81b18e7874a68409e0a535da7a

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/593ac038cf31fbf629ed1c84176c349976e31272
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
When network driver supports broadcast mode, no_broadcast bit of the
network config register needs to be set to 0.

Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Change-Id: I4721a61da370130dc6dce608448681b3fe8298d3

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/82a2fb0b2765a621ca2617c2471856264f909332
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Added 1000BASE-x interface type support for phymac driver.

Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Change-Id: I7f950dad763afd4814c73e0ca67d08168d5b2cb8

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/b590f0e74c19a7da0dd49e0777600cb39d50bf84
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
A maximum of three DMA ring addresses can be allocated,
and check whether the high addresses in multiple queues
are consistent after the address is assigned.

Mainline: NA
Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Change-Id: Ifd4d5c486341e1ed4cc1e433799bc53d15647f15

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/1ed603cd93296e432c6322f6fac2d968170eafd0
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Fix spelling mistakes and replace the default value
with a macro definition.

Mainline: NA
Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Change-Id: Icc51d45f0fb10eb8dad8aad59f839f2c0406653c

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/6848fd7516a4ab90e013a42513bb8c8b6a8b6cf8
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
We should return -EOPNOTSUPP to the unsupported device types,
otherwise the wireless attribute will be added by default.

Mainline: NA
Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Change-Id: Ie0522ed5c744ddc885ab633dac5ecc9661c580f2

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/66403a1703bf00c249e081103f7efbc2867c53bc
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Firstly, modify the state of pdata->speed and pdata->duplex to be
obtained in the phytmac_mac_config.
Secondly, the base.speed and base.duplex in the phytmac_get_link_
ksettings were changed from the default values to pdata.

Mainline: NA
Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Change-Id: Ifda2028cfd32381f97b57ad1a46f0861c0c21105

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/a728bf473513902c773a61d68ea35a1dd08c39d6
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Support usxgmii wol by change the value of registers,
including  wol register, int register, net config register
and spec_add1 register.

Mainline: NA
Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Change-Id: Ie651779a4bc2487aaaa51b24c69a5cc9d8de3784

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/11ba74ddc3fcd568a41284b08ff69a86809e38fa
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Roll back rx_clean version to not use batching.

Mainline: NA
Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Change-Id: Ie6e7585304ac6a7b9101e04c5af5219b3a361996

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/1040f4e7b52143571a6fa9e85e13cd0c1642aafc
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Changing the way netdev_alloc_skb function assigns SKB directly,
so that MAC driver alloc pages in advance and build SKB in the
phytmac RX function.

Mainline: NA
Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Change-Id: Ia765cea707d97a212ab9864c139a6198668c8604

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/bb1fd376f46bcf15d08af0210af4b45ca5990fcb
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
DMA config register needs the rx_buf_len to be aligned to
64-bytes.

Mainline: NA
Signed-off-by: Li Wencheng <liwencheng@phytium.com.cn>
Signed-off-by: Wang Yinfeng <wangyinfeng@phytium.com.cn>
Change-Id: I7535ac7d8abaf80397b39ec1a16b1b959c9decfd

Link: https://gitee.com/phytium_embedded/phytium-linux-kernel/commit/38380eb6dd3618217d0bc254e0d4b126b331c0c1
Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Icenowy and others added 29 commits August 10, 2026 22:04
The mainline pcie-mediatek-gen3 driver does not have code managing
downstream device power / reset.

As the Wi-Fi card on ciri is a fixed device, set the related regulator
to always-on and use GPIO hog to set the status of its reset pin.

Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Despite the Ciri device's touchpad is on the detachable keyboard, the
I2C HID device seen by Linux is emulated by ChromeOS EC and always
present regardless of the presence of physical touchpad.

Enable the device in the device tree.

Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
The following functions were never declared nor used by anything other
than the Device Tree Overlay's ConfigFS interface. Mark them as static to
resolve a few `-Werror=missing-prototypes' errors (CONFIG_WERROR).

  - fdt_translate_address()
  - ssize_t cfs_overlay_item_dtbo_read()
  - ssize_t cfs_overlay_item_dtbo_write()

Fixes: "ARMBIAN: drv:of: Device Tree Overlay ConfigFS interface"
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
…pecification

When building with CONFIG_WERROR:

  drivers/platform/x86/intel/int3472/discrete.c:385:44: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ [-Werror=format=]
    385 |                     dev_info(int3472->dev, "  con_id=%s, flags=0x%x\n", con_id, gpio_flags);
        |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~

Correct the number conversation specification as `%lx'.

Fixes: "BACKPORT: SURFACE: Add camera support for Surface Pro 9"
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
When building with CONFIG_WERROR:

  drivers/platform/x86/intel/int3472/discrete.c:391:47: error: too many arguments for format [-Werror=format-extra-args]
    391 |                         dev_err(int3472->dev, "Failed to register type 0x02x: %d\n", type, ret);
        |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Remove the unused `type' argument to fix build.

Fixes: "BACKPORT: SURFACE: Add camera support for Surface Pro 9"
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
…nd Panel Replay

There has been a lot of report about freezing displays on laptops,
especially on those based on RDNA 2/3/4 architectures. These features are
probably more trouble than they are worth, so disable them by default.

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
With commit 09033be ("mei: me: use PCI_DEVICE_DATA macro"), calls to
the `MEI_PCI_DEVICE' macro were replaced with `PCI_DEVICE_DATA'.

Convert entries added by linux-surface patches to fix build.

Fixes: "BACKPORT: SURFACE: mei: me: Add Icelake device ID for iTouch"
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Similar to commit b929926 ("sh: define __BIG_ENDIAN for math-emu"),
define __LITTLE_ENDIAN and __BIG_ENDIAN as 0 to mitigate build-time
warnings:

  ./include/math-emu/double.h:59:21: error: ‘__BIG_ENDIAN’ is not defined, evaluates to ‘0’ [-Werror=undef]
     59 | #if __BYTE_ORDER == __BIG_ENDIAN
        |

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202507301656.7FEX6J5W-lkp@intel.com/
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
This flag was introduced with commit eec3796 ("powerpc64/ftrace: Move
ftrace sequence out of line") to workaround an issue with ftrace. However,
this flag was passed to bindgen and caused the following error:

  Unable to generate bindings: clang diagnosed error: error: unsupported option '-fpatchable-function-entry=1' for target 'powerpc64le-unknown-linux-gnu'

Add this flag to bindgen_skip_c_flags to fix build.

Fixes: "BACKPORT: FROMLIST: powerpc: Enable Rust for ppc64le"
Tested-by: Mingcong Bai <jeffbai@aosc.io>
…selected

This should suppress an assertion failure during build. Further
investigation should be conducted when possible.

Fixes: "BACKPORT: FROMLIST: mips/mm: Add NUMA balancing support"
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>

Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
This should suppress an assertion failure during build. Further
investigation should be conducted when possible.

Fixes: "BACKPORT: FROMLIST: mips/mm: Add NUMA balancing support"
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>

Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
…yscall_*()

Functions `audit_classify_syscall_n32()', `audit_classify_syscall_o32()`
were never declared in the previous code and causes build errors due to
`-Werror=missing-prototype'.

Create function prototype declarations in `audit-{n,o}32.h' and reference
them in each of the respective sources. Also remove the extern references
as they are no longer needed.

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>

Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
…acros

Follow commit 42f355e ("audit: replace magic audit syscall class
numbers with macros") and replace all magic numbers in MIPS audit code.

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>

Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Follow commit 42f355e ("audit: replace magic audit syscall class
numbers with macros") and replace all magic numbers in MIPS audit code.

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>

Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
audit_classify_arch() and audit_classify_syscall() are already defined
in arch/mips/kernel/audit-native.c, adding preprocessor directives to
remove them from lib/audit.c on MIPS.

Signed-off-by: Kexy Biscuit <kexybiscuit@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
…OS patch

The ttm_mem_io_reserve() function calls a driver-defined callback to set
mem->bus.caching.  Thus we cannot use the value read before calling
ttm_mem_io_reserve(), or we'd effectively erase the set from driver.
Instead we should only downgrade cached to write_combined if the driver
says to use cached.

Fixes: eb4186e ("BACKPORT: FROMLIST: drm/ttm: downgrade cached to write_combined when snooping not available")
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
…OMPILE_TEST

Also add a guard for dma_ops assignment as it only exists on the
architectures selecting CONFIG_ARCH_HAS_DMA_OPS.

It makes hacking the driver without an aarch64 machine easier.

Signed-off-by: Xi Ruoyao <xry111@xry111.site>
This seems used nowhere and the header is removed in Linux 7.1.

Signed-off-by: Xi Ruoyao <xry111@xry111.site>
…G_OF

The of_match_node macro is no-op if !CONFIG_OF, so with CONFIG_WERROR
the build would fail as nothing uses the "np" variable.

Signed-off-by: Xi Ruoyao <xry111@xry111.site>
…aming for 2K2000/2K3000/3B6000M

Older Loongson 2K3000/3B6000M firmware uses the following so-called "ABI
1.0" compatible name. Add this back for compatibility's sake.

Update your firmware and care for your customer's right! Ugh.

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
…ILENCE_ON_EMPTY quirk for Behringer Flow 8"

Revert the only possible common code path in that change, which apparently
broke S3 resume on MECHREVO WUJIE 14 Pro A-7BC4U.

This reverts commit 344b64d.

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
This made no sense in our case, especially for Afterglow.

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
Afterglow uses native build environments (that is, 32-bit x86 chroot/
container as build environment for 32-bit x86 binaries), `zstd -22'
requests more virtual memory than that could be allowed.

Introduce `cmd_zstd_with_size' for CONFIG_X86_32 builds.

DO NOT UPSTREAM: This should really be done through build environment
detection, not by Kconfig - cross-compilation breaks the aforementioned
assumptions.

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
This reverts commit 8b793a9.

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
This reverts commit 931e315.

[ Mingcong Bai: Resolved a minor post-7.0 merge conflict in
    drivers/input/mouse/Kconfig ]

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
This reverts commit 8291ffa.

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
This reverts commit 6f468ea.

Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
This reverts commit d79dc40.

Fixes: "AOSCOS: AOSCOS: Revert "Input: pc110pad - remove driver""
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
@MingcongBai

Copy link
Copy Markdown

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.