Skip to content

wb6, wb7: added rtc-rv8803 driver to defconfig - #84

Merged
vdromanov merged 3 commits into
dev/v5.10.yfrom
feature/rtc-rv8803
Mar 16, 2022
Merged

wb6, wb7: added rtc-rv8803 driver to defconfig#84
vdromanov merged 3 commits into
dev/v5.10.yfrom
feature/rtc-rv8803

Conversation

@vdromanov

Copy link
Copy Markdown
Contributor

новый rtc

evgeny-boger
evgeny-boger approved these changes Mar 12, 2022
@vdromanov

Copy link
Copy Markdown
Contributor Author

из hwconf:

  • rv8803 - модуль
  • одинаково назвал label для напаянного rtc в wb6 и 7

@vdromanov
vdromanov requested a review from evgeny-boger March 14, 2022 08:36
@vdromanov
vdromanov merged commit 2a813ac into dev/v5.10.y Mar 16, 2022
@vdromanov
vdromanov deleted the feature/rtc-rv8803 branch March 16, 2022 07:17
evgeny-boger pushed a commit that referenced this pull request Mar 26, 2024
…onfig

WB5, WB6 defconfigs: Remove CONFIG_SMP - kernel default is off.

WB6: Add CONFIG_GPIO_MXC, CONFIG_GPIO_GENERIC_PLATFORM.
CONFIG_GPIO_MXC changed from def_bool y to tristate "i.MX GPIO support".
Default value is now false. Change it to 'y' in imx6_wirenboard_defconfig.

Cleanup via savedefconfig.

arch/arm/configs: *defconfig: Enable CONFIG_PINCTRL_MCP23S08=m

arch/arm/configs: *defconfig: Enable CONFIG_MCP4728=m

TODO: Debug. WB5, WB6: Enable AD5064/LTC2637 and MCP4728 in-kernel.

На ядре 5.8.9 не выполняется автоматическая загрузка драйверов i2c, если они
разрешены как модули, причину надо найти.
Временное решение - разрешить их как часть ядра.
Помогает также ручной вызов modprobe, если он идет перед probe контроллера i2c.

CONFIG_AD5064=y
CONFIG_MCP4728=y

arch/arm/configs: WB5, WB6 defconfig: enable CONFIG_LEDS_TRIGGER_DEFAULT_OFF=y

add rtl8xxxu to defconfig file

(cherry picked from commit 192e6ef)
(cherry picked from commit b72550c)

arch/arm/configs: WB5, WB6 defconfig: Add CONFIG_OF_CONFIGFS=y

Enable configfs overlays.

wb6: enable full 1G/3G memory split for 1GB models

arch/arm/configs: WB5, WB6 defconfig: Enable CONFIG_RTL8723BU=m

CONFIG_NVMEM_IMX_OCOTP=y

LIRC and SC16IS7XX are included into wb6 defconfig

wb7: initial defconfig

ARM: config: wb7: disable graphics and unused drivers

wb7: add defconfig for initramfs

wb6, wb7: added rtc-rv8803 driver to defconfig (#84)

* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

wb6: fix bootlet configuration and MMC pinctrl config (#89)

This commit fixes USB bootlet kernel:

    - fix kernel panic on g_mass_storage module removing
    by making configfs included (not as module);
    - fix LEDs by enabling PWM driver for i.MX6

Also it adds missing eMMC lanes pinctrls. Looks like it worked earlier
because Boot ROM initialized these pins (didn't work on USB boot though).

wb7: add missing drivers similar to wb6 (#90)

fec: use ethFECX interface names to reorder them in userspace (#97)

Interface name swapping (eth0<->eth1) is broken in Debian bullseye
because of the missing systemd patch from Debian maintainers
(which was available in stretch).

Ethernet interfaces enumeration is performed in the order they are
defined in the device tree. For imx6ul, FEC2 goes before FEC1.

Instead of changing the order in the device tree (in common file for
many device trees), we decided to change the interface name template in
FEC driver from ethX to ethFECX.

This feature can be disabled in the kernel config.

wb7: enable SYSVIPC config option (#98)

This config option enables System V IPC functions
(like shared memory access, semaphores, message queues and so on).
As it turned out, these functions are used by some of our customers.

wb: add AF_KCM option to enable Docker on Debian 11

add bunch of config options for Docker

as suggested by ./check-config.sh

also enable wireguard and bonding core network drivers

wb: Kconfig: add modules for ipsec support (#117)

* wb: Kconfig: add modules for ipsec support

* Extended netfilter support (#118)

* add nftables to changelog

Co-authored-by: KraPete <86825564+KraPete@users.noreply.github.com>

wb7-initramfs: remove all unused USB gadget features (#123)

wb6_defconfig: add nft nat support (#126)

wb: adddefconfig for SoM testing

defconfig: wb7 mdio bitbang

defconfig: wb7: enable exfat support (module) in defconfig

defconfig: add wb7min defconfig

minimum configuration w/o Wi-Fi and with everything compiled in kernel.

wb6: initramfs: add missing GPIO driver to defconfig + actualize

defconfig: wb7: add wbec drivers

ARM: config: wb7: add wbec and SD3078 drivers, remove AXP pwrkey driver

defconfig: wb7: enable rtl8733bu

fix defconfig: add wb7min defconfig
taraant pushed a commit that referenced this pull request May 16, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request May 16, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request May 16, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request May 16, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request May 16, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request May 19, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request May 19, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request May 19, 2025
Original commits:
  arch/arm/configs/imx6_wirenboard_defconfig
    7f13aba: CONFIG_NVMEM_IMX_OCOTP=y
    6c68cdc: LIRC and SC16IS7XX are included into wb6 defconfig
    2a813ac: wb6, wb7: added rtc-rv8803 driver to defconfig (#84)
    e8b83b4: fec: use ethFECX interface names to reorder them in userspace (#97)
    f6683e6: wb: add AF_KCM option to enable Docker on Debian 11
    378cd82: add bunch of config options for Docker
    eb0aa5f: wb6_defconfig: add nft nat support (#126)
    913bb9d: wb6, wb7: config: add options required for wg-quick
    2ce8b34: wb6, wb7 defconfig: add CONFIG_CAN_GS_USB=m
    9d6636a: wb6: add docker 28.0.0 support
  arch/arm/configs/imx6_wirenboard_initramfs_defconfig
    567646d: wb6: fix bootlet configuration and MMC pinctrl config (#89)
    5aec967: wb6: initramfs: add missing GPIO driver to defconfig + actualize
  arch/arm/configs/mxs_wirenboard_defconfig
    f6683e6: wb: add AF_KCM option to enable Docker on Debian 11
  arch/arm/configs/wirenboard7_38071cb_defconfig
    efbe2be: add wb7min defconfig
    e5de9a0: add necessary wbec modules to 38071cb defconfig; add modules to dts
  arch/arm/configs/wirenboard7_defconfig
    e93ab6f: wb7: initial defconfig
    2a813ac: wb6, wb7: added rtc-rv8803 driver to defconfig (#84)
    6cba421: wb7: add missing drivers similar to wb6 (#90)
    07f3524: wb7: enable SYSVIPC config option (#98)
    f6683e6: wb: add AF_KCM option to enable Docker on Debian 11
    378cd82: add bunch of config options for Docker
    afb7828: wb: Kconfig: add modules for ipsec support (#117)
    cc880b8: wb7: enable exfat support (module) in defconfig
    efbe2be: add wb7min defconfig
    7eea16e: wb7: add wbec drivers
    e0e8cf4: iio:adc: add WBEC ADC driver
    97b9b0f: wb7: Add rtl8733bu wireless driver as a submodule
    2d264d4: build rtc_wbec in kernel
    913bb9d: wb6, wb7: config: add options required for wg-quick
    e312115: config: add CAN SAE J1939 support built in
    2ce8b34: wb6, wb7 defconfig: add CONFIG_CAN_GS_USB=m
    1257d54: Add parameters for support docker 28.0.0
  arch/arm/configs/wirenboard7_initramfs_defconfig
    ffc690f: wb7: add defconfig for initramfs
    822c635: wb7-initramfs: remove all unused USB gadget features (#123)
    37d87c1: add WBEC support for wb7 bootlet
    7b39e7b: wb7_initramfs: add exfat support
  arch/arm/configs/wirenboard7_som_test_defconfig
    82d206f: wb: add dts and defconfig for SoM testing
taraant pushed a commit that referenced this pull request May 19, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request May 19, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request May 19, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request May 19, 2025
Original commits:
  arch/arm/Makefile
    dd9d47a: ARM: 9156/1: drop cc-option fallbacks for architecture selection
  arch/arm/boot/dts/Makefile
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
    6e40c49: new dts for wb6.8.x (rtc_clkout is gpio)
    757ff51: introduced a new model wb6.9: changed wdg-gpio; new eth phy (lan8720) (#69)
    82d206f: wb: add dts and defconfig for SoM testing
    41efdbd: ARM: dts: r40: Add dts for Wiren Board 7
    a490e92: wb6.7.x: added -nousbhub dts (wbc-modem is connected directly to SoC's usb) (#85)
    a047e1e: dts: wb7: add dts for WB 7.3
    b4c9015: dts: add wirenboard6x-init DTS for 5.10 (#94)
    dcb2d34: wb: dts: disable CAN on WB7.3 and add WB7.3.1
    bd7d6f2: arm: dts: wb7: add 7.3.2 w/o eth MAC EEPROMs
    e6227e4: wb7: add support for hw rev. 7.3.3 (#105)
    3ea1b23: wb7: dts: lower usb-gadget speed; add initram-dts with high usb-gadget speed (#122)
    efbe2be: add wb7min defconfig
    06dad6d: ARM: dts: r40: Add dts for Wiren Board 7.4
    37d87c1: add WBEC support for wb7 bootlet
    0349992: dts: wb7: add WB 7.4.2 revision with different ADC resistor divider
    6430e72: wb74: add 38071cb dts
  arch/arm/boot/dts/imx23-audio.dts
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
  arch/arm/boot/dts/imx23-olinuxino.dts
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
  arch/arm/boot/dts/imx23.dtsi
    52e1e85: mxs: imx23: use microseconds counter from DIGCTL block as a clocksource instead of 32kHz timer
  arch/arm/boot/dts/imx28-ev-dbg.dts
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
  arch/arm/boot/dts/imx28-wirenboard50.dts
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
  arch/arm/boot/dts/imx28-wirenboard52-functest.dts
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
  arch/arm/boot/dts/imx28-wirenboard52.dts
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
  arch/arm/boot/dts/imx28-wirenboard55.dts
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
  arch/arm/boot/dts/imx28-wirenboard58.dts
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
  arch/arm/boot/dts/imx28-wirenboard5x-usbfw.dts
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
  arch/arm/boot/dts/imx28.dtsi
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
  arch/arm/boot/dts/imx6ul-pinfunc.h
    9c04994: ARM: dts: imx6ul: properly initialize UART7/8 RTS input regs
  arch/arm/boot/dts/imx6ul-wirenboard-evk.dts
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
  arch/arm/boot/dts/imx6ul-wirenboard61.dts
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
    8b7ff1b: rts on rs485 uarts is configured as gpio with default PD (#56)
    c336a5a: wb6: dts: define clock for phy for proper reset
    6e40c49: new dts for wb6.8.x (rtc_clkout is gpio)
    b042223: dts: disable rts-gpios on WB6 modX uarts by default (#68)
    ad93eeb: wb7: defined proper modem's gpios and usb-soc addr (#78)
    2a813ac: wb6, wb7: added rtc-rv8803 driver to defconfig (#84)
    567646d: wb6: fix bootlet configuration and MMC pinctrl config (#89)
    a5a031d: wb: dts: adjust gpio line names (#116)
  arch/arm/boot/dts/imx6ul-wirenboard65.dts
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
    a5a031d: wb: dts: adjust gpio line names (#116)
  arch/arm/boot/dts/imx6ul-wirenboard660.dts
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
  arch/arm/boot/dts/imx6ul-wirenboard670-nousbhub.dts
    a490e92: wb6.7.x: added -nousbhub dts (wbc-modem is connected directly to SoC's usb) (#85)
  arch/arm/boot/dts/imx6ul-wirenboard670.dts
    b672c11: arch/arm/boot/dts: WB5, WB6: Add all .dts and corresponding Makefile
    8b7ff1b: rts on rs485 uarts is configured as gpio with default PD (#56)
    b042223: dts: disable rts-gpios on WB6 modX uarts by default (#68)
    ad93eeb: wb7: defined proper modem's gpios and usb-soc addr (#78)
    a5a031d: wb: dts: adjust gpio line names (#116)
  arch/arm/boot/dts/imx6ul-wirenboard680.dts
    6e40c49: new dts for wb6.8.x (rtc_clkout is gpio)
    2a813ac: wb6, wb7: added rtc-rv8803 driver to defconfig (#84)
  arch/arm/boot/dts/imx6ul-wirenboard690.dts
    757ff51: introduced a new model wb6.9: changed wdg-gpio; new eth phy (lan8720) (#69)
    d2deca0: dts: fixed unstable eth connection on wb6.9 (#75)
    42e6bec: wb6.9: fixed incorrect clk on fec2 (#79)
    a5a031d: wb: dts: adjust gpio line names (#116)
  arch/arm/boot/dts/imx6ul-wirenboard6x-init.dts
    b4c9015: dts: add wirenboard6x-init DTS for 5.10 (#94)
  arch/arm/boot/dts/imx6ul.dtsi
    955fa47: dts: imx6ul(l): add LDP_1P1 regulator
  arch/arm/boot/dts/omap3.dtsi
    6ce6443: ARM: dts: Fix swapped mmc order for omap3
  arch/arm/boot/dts/omap4.dtsi
    a55de4f: ARM: dts: Fix moving mmc devices with aliases for omap4 & 5
  arch/arm/boot/dts/omap44xx-clocks.dtsi
    9f399a9: ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race
  arch/arm/boot/dts/omap5.dtsi
    a55de4f: ARM: dts: Fix moving mmc devices with aliases for omap4 & 5
  arch/arm/boot/dts/sun8i-r40-wirenboard-som-test.dts
    82d206f: wb: add dts and defconfig for SoM testing
    a5a031d: wb: dts: adjust gpio line names (#116)
  arch/arm/boot/dts/sun8i-r40-wirenboard720.dts
    41efdbd: ARM: dts: r40: Add dts for Wiren Board 7
    b905f07: ARM: dts: r40: wb7: enable battery driver
    ad93eeb: wb7: defined proper modem's gpios and usb-soc addr (#78)
    2a813ac: wb6, wb7: added rtc-rv8803 driver to defconfig (#84)
    e0c49db: dts: rename wirenboard 7.2.0 dts file
    a047e1e: dts: wb7: add dts for WB 7.3
    bd7d6f2: arm: dts: wb7: add 7.3.2 w/o eth MAC EEPROMs
    8dd7b01: dts: add missing wirenboard-7xx compatible strings for 7.2.x
  arch/arm/boot/dts/sun8i-r40-wirenboard72x-eui-eeprom.dtsi
    bd7d6f2: arm: dts: wb7: add 7.3.2 w/o eth MAC EEPROMs
  arch/arm/boot/dts/sun8i-r40-wirenboard72x-factory.dts
    37d87c1: add WBEC support for wb7 bootlet
  arch/arm/boot/dts/sun8i-r40-wirenboard72x-initram.dts
    3ea1b23: wb7: dts: lower usb-gadget speed; add initram-dts with high usb-gadget speed (#122)
    8dd7b01: dts: add missing wirenboard-7xx compatible strings for 7.2.x
    37d87c1: add WBEC support for wb7 bootlet
  arch/arm/boot/dts/sun8i-r40-wirenboard72x-initram.dtsi
    37d87c1: add WBEC support for wb7 bootlet
    5c684d2: dts: fix microsd on 7.3+ boards in bootlet
  arch/arm/boot/dts/sun8i-r40-wirenboard72x.dtsi
    e0c49db: dts: rename wirenboard 7.2.0 dts file
    a047e1e: dts: wb7: add dts for WB 7.3
    bf5df80: wb:dts: fix annoying warning
    0bc316f: arm: dts: wb7: change order of ethernet aliases
    4cd32ad: dts: wb7: add generic labels for ethernet adapters (#107)
    a5a031d: wb: dts: adjust gpio line names (#116)
    3ea1b23: wb7: dts: lower usb-gadget speed; add initram-dts with high usb-gadget speed (#122)
    b334992: wb7: dts: work around wrong LED mode on 2nd eth
    0cbd16d: wb7: disable microsd card detect gpio
    fe28816: add regulator-boot-on in dts
    ca89d0b: wb7 dts: add wbio-i2c-recovery pins
  arch/arm/boot/dts/sun8i-r40-wirenboard730.dts
    a047e1e: dts: wb7: add dts for WB 7.3
    e89aa80: wb:dts: move wb7.3.0 to include
    dcb2d34: wb: dts: disable CAN on WB7.3 and add WB7.3.1
    1e5bc22: fix userspace compatibility
    bd7d6f2: arm: dts: wb7: add 7.3.2 w/o eth MAC EEPROMs
  arch/arm/boot/dts/sun8i-r40-wirenboard731.dts
    dcb2d34: wb: dts: disable CAN on WB7.3 and add WB7.3.1
    1e5bc22: fix userspace compatibility
    bd7d6f2: arm: dts: wb7: add 7.3.2 w/o eth MAC EEPROMs
  arch/arm/boot/dts/sun8i-r40-wirenboard732.dts
    bd7d6f2: arm: dts: wb7: add 7.3.2 w/o eth MAC EEPROMs
  arch/arm/boot/dts/sun8i-r40-wirenboard733.dts
    e6227e4: wb7: add support for hw rev. 7.3.3 (#105)
  arch/arm/boot/dts/sun8i-r40-wirenboard734-38071cb.dts
    efbe2be: add wb7min defconfig
  arch/arm/boot/dts/sun8i-r40-wirenboard73x.dtsi
    e89aa80: wb:dts: move wb7.3.0 to include
  arch/arm/boot/dts/sun8i-r40-wirenboard741.dts
    06dad6d: ARM: dts: r40: Add dts for Wiren Board 7.4
    0349992: dts: wb7: add WB 7.4.2 revision with different ADC resistor divider
  arch/arm/boot/dts/sun8i-r40-wirenboard742-38071cb.dts
    6430e72: wb74: add 38071cb dts
    e5de9a0: add necessary wbec modules to 38071cb defconfig; add modules to dts
  arch/arm/boot/dts/sun8i-r40-wirenboard742.dts
    0349992: dts: wb7: add WB 7.4.2 revision with different ADC resistor divider
  arch/arm/boot/dts/sun8i-r40-wirenboard74x.dtsi
    06dad6d: ARM: dts: r40: Add dts for Wiren Board 7.4
    758f443: wirenboard74x.dtsi: fix `V_OUT ON` gpio name
    0349992: dts: wb7: add WB 7.4.2 revision with different ADC resistor divider
    091e719: wb74: disable microsd card detect gpio
    5ce47c0: dts: wb74x: fix 1-Wire pins
    fe28816: add regulator-boot-on in dts
    ca89d0b: wb7 dts: add wbio-i2c-recovery pins
  arch/arm/boot/dts/sun8i-r40-wirenboard7xx-38071cb.dtsi
    efbe2be: add wb7min defconfig
  arch/arm/boot/dts/sun8i-r40.dtsi
    686a254: ARM: dts: sun8i: r40: add node for CAN controller
    f815c6d: ARM: dts: sun8i: r40: Add timer node
    a86742b: ARM: dtsi: add pwm node for sun8i R40.
    f500a4a: ARM: dts: sun8i: r40: add second ethernet support (submitted to upstream)
    8278a35: ARM: dts: sun8i: r40: add rtp node (submitted to upstream)
    796285b: ARM: dts: sun8i: r40: add child iio node for gpadc
    359abbb: ARM: dts: sun8i: r40: add usb0 dual role support
    3a20b97: WIP: r40 sid
    154bb8b: ARM: dts: sun8i: r40: add cpufreq tables
    2de4fb0: dts: arm: r40: add various pins to pinctrl
    2b4ba7f: ARM: dts: sun4i: r40: change uart compatible
    6cdef71: dts: arm: r40: add various pins to pinctrl
  arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-lts.dts
    286c39d: arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems
    edc5d16: arm64: dts: allwinner: Revert SD card CD GPIO for Pine64-LTS
  arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi
    286c39d: arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems
  arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
    a4a7cf6: arm64: dts: allwinner: a64: Sort watchdog node
    e0475ad: arm64: dts: allwinner: Add sun4i MMIO timer nodes
  arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
    8d7906c: arm64: dts: allwinner: h6: beelink-gs1: Remove ext. 32 kHz osc reference
  arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
    e0475ad: arm64: dts: allwinner: Add sun4i MMIO timer nodes
  drivers/of/overlay.c
    ad88b84: of: overlay: kobjectify overlay objects
    860cbed: of: overlay: global sysfs enable attribute
    b446483: of: overlay: add per overlay sysfs attributes
    68bb5b9: wb: workaround: disable memory leak warning in runtime dt overlays
taraant pushed a commit that referenced this pull request Jun 9, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Jun 9, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Jun 9, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Jun 9, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Jun 9, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Jul 29, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Jul 29, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Jul 29, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Jul 29, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Jul 29, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Sep 5, 2025
[ Upstream commit 90d5c9b ]

=============================
[ BUG: Invalid wait context ]
6.13.0-rc1 #84 Tainted: G           O
-----------------------------
cat/56160 is trying to lock:
ffff888105c86648 (&cprc->stat_lock){+.+.}-{3:3}, at: update_general_status+0x32a/0x8c0 [f2fs]
other info that might help us debug this:
context-{5:5}
2 locks held by cat/56160:
 #0: ffff88810a002a98 (&p->lock){+.+.}-{4:4}, at: seq_read_iter+0x56/0x4c0
 #1: ffffffffa0462638 (f2fs_stat_lock){....}-{2:2}, at: stat_show+0x29/0x1020 [f2fs]
stack backtrace:
CPU: 0 UID: 0 PID: 56160 Comm: cat Tainted: G           O       6.13.0-rc1 #84
Tainted: [O]=OOT_MODULE
Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
Call Trace:
 <TASK>
 dump_stack_lvl+0x88/0xd0
 dump_stack+0x14/0x20
 __lock_acquire+0x8d4/0xbb0
 lock_acquire+0xd6/0x300
 _raw_spin_lock+0x38/0x50
 update_general_status+0x32a/0x8c0 [f2fs]
 stat_show+0x50/0x1020 [f2fs]
 seq_read_iter+0x116/0x4c0
 seq_read+0xfa/0x130
 full_proxy_read+0x66/0x90
 vfs_read+0xc4/0x350
 ksys_read+0x74/0xf0
 __x64_sys_read+0x1d/0x20
 x64_sys_call+0x17d9/0x1b80
 do_syscall_64+0x68/0x130
 entry_SYSCALL_64_after_hwframe+0x67/0x6f
RIP: 0033:0x7f2ca53147e2

- seq_read
 - stat_show
  - raw_spin_lock_irqsave(&f2fs_stat_lock, flags)
  : f2fs_stat_lock is raw_spinlock_t type variable
  - update_general_status
   - spin_lock(&sbi->cprc_info.stat_lock);
   : stat_lock is spinlock_t type variable

The root cause is the lock order is incorrect [1], we should not acquire
spinlock_t lock after raw_spinlock_t lock, as if CONFIG_PREEMPT_LOCK is
on, spinlock_t is implemented based on rtmutex, which can sleep after
holding the lock.

To fix this issue, let's use change f2fs_stat_lock lock type from
raw_spinlock_t to spinlock_t, it's safe due to:
- we don't need to use raw version of spinlock as the path is not
performance sensitive.
- we don't need to use irqsave version of spinlock as it won't be
used in irq context.

Quoted from [1]:

"Extend lockdep to validate lock wait-type context.

The current wait-types are:

	LD_WAIT_FREE,		/* wait free, rcu etc.. */
	LD_WAIT_SPIN,		/* spin loops, raw_spinlock_t etc.. */
	LD_WAIT_CONFIG,		/* CONFIG_PREEMPT_LOCK, spinlock_t etc.. */
	LD_WAIT_SLEEP,		/* sleeping locks, mutex_t etc.. */

Where lockdep validates that the current lock (the one being acquired)
fits in the current wait-context (as generated by the held stack).

This ensures that there is no attempt to acquire mutexes while holding
spinlocks, to acquire spinlocks while holding raw_spinlocks and so on. In
other words, its a more fancy might_sleep()."

[1] https://lore.kernel.org/all/20200321113242.427089655@linutronix.de

Fixes: 98237fc ("f2fs: use spin_lock to avoid hang")
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
taraant pushed a commit that referenced this pull request Oct 31, 2025
[ Upstream commit 90d5c9b ]

=============================
[ BUG: Invalid wait context ]
6.13.0-rc1 #84 Tainted: G           O
-----------------------------
cat/56160 is trying to lock:
ffff888105c86648 (&cprc->stat_lock){+.+.}-{3:3}, at: update_general_status+0x32a/0x8c0 [f2fs]
other info that might help us debug this:
context-{5:5}
2 locks held by cat/56160:
 #0: ffff88810a002a98 (&p->lock){+.+.}-{4:4}, at: seq_read_iter+0x56/0x4c0
 #1: ffffffffa0462638 (f2fs_stat_lock){....}-{2:2}, at: stat_show+0x29/0x1020 [f2fs]
stack backtrace:
CPU: 0 UID: 0 PID: 56160 Comm: cat Tainted: G           O       6.13.0-rc1 #84
Tainted: [O]=OOT_MODULE
Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
Call Trace:
 <TASK>
 dump_stack_lvl+0x88/0xd0
 dump_stack+0x14/0x20
 __lock_acquire+0x8d4/0xbb0
 lock_acquire+0xd6/0x300
 _raw_spin_lock+0x38/0x50
 update_general_status+0x32a/0x8c0 [f2fs]
 stat_show+0x50/0x1020 [f2fs]
 seq_read_iter+0x116/0x4c0
 seq_read+0xfa/0x130
 full_proxy_read+0x66/0x90
 vfs_read+0xc4/0x350
 ksys_read+0x74/0xf0
 __x64_sys_read+0x1d/0x20
 x64_sys_call+0x17d9/0x1b80
 do_syscall_64+0x68/0x130
 entry_SYSCALL_64_after_hwframe+0x67/0x6f
RIP: 0033:0x7f2ca53147e2

- seq_read
 - stat_show
  - raw_spin_lock_irqsave(&f2fs_stat_lock, flags)
  : f2fs_stat_lock is raw_spinlock_t type variable
  - update_general_status
   - spin_lock(&sbi->cprc_info.stat_lock);
   : stat_lock is spinlock_t type variable

The root cause is the lock order is incorrect [1], we should not acquire
spinlock_t lock after raw_spinlock_t lock, as if CONFIG_PREEMPT_LOCK is
on, spinlock_t is implemented based on rtmutex, which can sleep after
holding the lock.

To fix this issue, let's use change f2fs_stat_lock lock type from
raw_spinlock_t to spinlock_t, it's safe due to:
- we don't need to use raw version of spinlock as the path is not
performance sensitive.
- we don't need to use irqsave version of spinlock as it won't be
used in irq context.

Quoted from [1]:

"Extend lockdep to validate lock wait-type context.

The current wait-types are:

	LD_WAIT_FREE,		/* wait free, rcu etc.. */
	LD_WAIT_SPIN,		/* spin loops, raw_spinlock_t etc.. */
	LD_WAIT_CONFIG,		/* CONFIG_PREEMPT_LOCK, spinlock_t etc.. */
	LD_WAIT_SLEEP,		/* sleeping locks, mutex_t etc.. */

Where lockdep validates that the current lock (the one being acquired)
fits in the current wait-context (as generated by the held stack).

This ensures that there is no attempt to acquire mutexes while holding
spinlocks, to acquire spinlocks while holding raw_spinlocks and so on. In
other words, its a more fancy might_sleep()."

[1] https://lore.kernel.org/all/20200321113242.427089655@linutronix.de

Fixes: 98237fc ("f2fs: use spin_lock to avoid hang")
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
taraant pushed a commit that referenced this pull request Oct 31, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Oct 31, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Oct 31, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Oct 31, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Oct 31, 2025
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Apr 14, 2026
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Apr 14, 2026
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Apr 14, 2026
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Apr 14, 2026
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
taraant pushed a commit that referenced this pull request Apr 14, 2026
* wb6, wb7: added rtc-rv8803 driver to defconfig as a module

* wb6, wb7: renamed onboard-rtc label
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.

3 participants