From a37554ada329ec4b91a074d25e93b3144722285d Mon Sep 17 00:00:00 2001 From: Colin Date: Tue, 10 Sep 2024 06:57:01 +0000 Subject: [PATCH] moby: ship all of megi's patches again: this fixes charging. once i get the camera working i can then start wittling down the patch stack --- hosts/modules/hal/pine64/kernel.nix | 478 +++++++++++++++------------- 1 file changed, 254 insertions(+), 224 deletions(-) diff --git a/hosts/modules/hal/pine64/kernel.nix b/hosts/modules/hal/pine64/kernel.nix index fc8012272..537a20ed3 100644 --- a/hosts/modules/hal/pine64/kernel.nix +++ b/hosts/modules/hal/pine64/kernel.nix @@ -36,233 +36,263 @@ in # megi's patches apply cleanly, but fails to compile without tweaking config (e.g. CONFIG_FB_SUN5I_EINK=n) # boot.kernelPatches = pkgs.armbian-build.patches.megous.series; - boot.kernelPatches = with pkgs.armbian-build.patches.megous; [ - # ANX7688 USB-C driver; required for display initialization and for battery charging - # byName."usb-typec-anx7688-Add-driver-for-ANX7688-USB-C-HDMI-bridge" - # byName."usb-typec-anx7688-Port-to-Linux-6.9" - # byName."usb-typec-anx7688-Port-to-Linux-6.10" + boot.kernelPatches = pkgs.armbian-build.patches.megous.series ++ + # with pkgs.armbian-build.patches.megous; [ + # # ANX7688 USB-C driver; required for display initialization and for battery charging + # byName."usb-typec-anx7688-Add-driver-for-ANX7688-USB-C-HDMI-bridge" + # byName."usb-typec-anx7688-Port-to-Linux-6.9" + # byName."usb-typec-anx7688-Port-to-Linux-6.10" + # # { + # # # with this patch: dmesg | grep 'anx7688 0-0028: failed to parse connector from DT' + # # # i guess the anx7688 driver being proposed for upstream requires a different device tree + # # # than megi's version + # # name = "usb: typec: anx7688: Add driver for ANX7688 USB-C HDMI bridge"; + # # patch = pkgs.fetchurl { + # # # https://lore.kernel.org/lkml/ZhPM4XU8ttsFftBd@duo.ucw.cz/ + # # name = "usb: typec: anx7688: Add driver for ANX7688 USB-C HDMI bridge"; + # # url = "http://lore.kernel.org/lkml/ZhPM4XU8ttsFftBd@duo.ucw.cz/1-a.txt"; + # # hash = "sha256-doJOtaJLvepgagkQH0oqzVR9VQY4ZbK/3gx4kKgKnLg="; + # # }; + # # } + # ### enable the ANX7688 in device tree + # # HDMI patches: because the Type C patch references the hdmi node, incidentally, so need to create that first + # byName."arm64-dts-allwinner-a64-Add-hdmi-sound-card" + # byName."arm64-dts-allwinner-a64-Enable-hdmi-sound-card-on-boards-with-h" + # # required for later patches to apply + # byName."arm64-dts-sun50i-a64-pinephone-Add-front-back-cameras" + # # this links ANX7688 into the pinephone-1.2 devicetree + # byName."arm64-dts-sun50i-a64-pinephone-Add-Type-C-support-for-all-PP-va" + + # # try to solve "anx7688 0-0028: Could not get role switch" + # byName."phy-allwinner-sun4i-usb-Add-support-for-usb_role_switch" + # byName."usb-typec-typec-extcon-Add-typec-extcon-bridge-driver" + # # this links the battery into the device tree (not sure if necessary?) + # byName."arm64-dts-sun50i-a64-pinephone-Add-detailed-OCV-to-capactiy-con" + # # this links the supply queried by ANX7688 into device tree (not sure if necessary?) + # byName."arm64-dts-sun50i-a64-pinephone-Add-supply-for-i2c-bus-to-anx768" + + # # try to solve that it still doesn't charge even with the above + # byName."regulator-axp20x-Add-support-for-vin-supply-for-drivevbus" + # byName."regulator-axp20x-Turn-N_VBUSEN-to-input-on-x-powers-sense-vbus-" + + # # still needs more + # byName."power-axp20x_battery-Allow-to-set-target-voltage-to-4.35V" + # byName."power-supply-axp20x_battery-Add-support-for-reporting-OCV" + # byName."regulator-axp20x-Enable-over-temperature-protection-and-16s-res" + # byName."power-supply-axp20x_battery-Fix-charging-done-detection" + # byName."power-supply-axp20x-usb-power-Change-Vbus-hold-voltage-to-4.5V" + # byName."power-supply-axp20x-battery-Support-POWER_SUPPLY_PROP_CHARGE_BE" + # byName."power-supply-axp20x-battery-Add-support-for-POWER_SUPPLY_PROP_E" + # byName."power-supply-Add-support-for-USB_BC_ENABLED-and-USB_DCP_INPUT_C" + # byName."power-supply-axp20x-usb-power-Add-missing-interrupts" + # byName."usb-typec-fusb302-Add-OF-extcon-support" + # # ^^ even this wasn't enough + + # # enable /dev/modem-power; /sys/class/modem-power. my eg25-control script depends on it. + # # XXX(2024-09-01): NOT compatible with Linux 6.11 + # byName."misc-modem-power-Power-manager-for-modems" + # byName."arm64-dts-sun50i-a64-pinephone-Add-modem-power-manager" + + # # byName."media-ov5640-Experiment-Try-to-disable-denoising-sharpening" + # # byName."media-ov5640-Sleep-after-poweroff-to-ensure-next-poweron-is-not" + # # byName."media-ov5640-Don-t-powerup-the-sensor-during-driver-probe" + # # byName."media-ov5640-set-default-ae-target-lower" + # # byName."media-ov5640-Improve-error-reporting" + # # byName."media-ov5640-Implement-autofocus" + # # byName."media-ov5640-Improve-firmware-load-time" + # # byName."media-ov5640-Fix-focus-commands-blocking-until-complete" + # # byName."media-ov5640-Add-read-only-property-for-vblank" + # # byName."media-ov5640-use-pm_runtime_force_suspend-resume-for-system-sus" + # # byName."media-sun6i-csi-capture-Use-subdev-operation-to-access-bridge-f" + # # byName."media-sun6i-csi-subdev-Use-subdev-active-state-to-store-active-" + # # byName."media-sun6i-csi-merge-sun6i_csi_formats-and-sun6i_csi_formats_m" + # # byName."media-sun6i-csi-add-V4L2_CAP_IO_MC-capability" + # # byName."media-sun6i-csi-implement-vidioc_enum_framesizes" + # # byName."media-sun6i-csi-Add-multicamera-support-for-parallel-bus" + # # byName."dt-bindings-input-gpio-vibrator-Don-t-require-enable-gpios" + # # byName."input-gpio-vibra-Allow-to-use-vcc-supply-alone-to-control-the-v" + # # byName."dt-bindings-leds-Add-a-binding-for-AXP813-charger-led" + # # byName."leds-axp20x-Support-charger-LED-on-AXP20x-like-PMICs" + # # byName."ARM-dts-axp813-Add-charger-LED" + # # byName."media-i2c-gc2145-Move-upstream-driver-out-of-the-way" + # # byName."media-gc2145-Galaxycore-camera-module-driver" + # # byName."media-gc2145-Added-BGGR-bayer-mode" + # # byName."media-gc2145-Disable-debug-output" + # # byName."media-gc2145-Add-PIXEL_RATE-HBLANK-and-VBLANK-controls" + # # byName."media-gc2145-implement-system-suspend" + # # byName."media-gc2145-fix-white-balance-colors" + # # byName."media-i2c-gc2145-Parse-and-register-properties" + # # byName."mailbox-Allow-to-run-mailbox-while-timekeeping-is-suspended" + # # byName."firmware-scpi-Add-support-for-sending-a-SCPI_CMD_SET_SYS_PWR_ST" + # # byName."ARM-sunxi-Use-SCPI-to-send-suspend-message-to-SCP-on-A83T" + # # byName."arm64-dts-sun50i-h5-Use-my-own-more-aggressive-OPPs-on-H5" + # # byName."cpufreq-sun50i-Show-detected-CPU-bin-for-easier-debugging" + # # byName."net-stmmac-sun8i-Use-devm_regulator_get-for-PHY-regulator" + # # byName."net-stmmac-sun8i-Rename-PHY-regulator-variable-to-regulator_phy" + # # byName."net-stmmac-sun8i-Add-support-for-enabling-a-regulator-for-PHY-I" + # # byName."input-cyttsp4-De-obfuscate-platform-data-for-keys" + # # byName."input-cyttsp4-Remove-useless-indirection-with-driver-platform-d" + # # byName."input-cyttsp4-Remove-unused-enable_vkeys" + # # byName."input-cyttsp4-De-obfuscate-MT-signals-setup-platform-data" + # # byName."input-cyttsp4-Clear-the-ids-buffer-in-a-saner-way" + # # byName."input-cyttsp4-ENOSYS-error-is-ok-when-powering-up" + # # byName."input-cyttsp4-Faster-recovery-from-failed-wakeup-HACK" + # # byName."input-cyttsp4-Use-i2c-spi-names-directly-in-the-driver" + # # byName."input-cyttsp4-Port-the-driver-to-use-device-properties" + # # byName."input-cyttsp4-Restart-on-wakeup-wakeup-by-I2C-read-doesn-t-work" + # # byName."input-cyttsp4-Fix-warnings" + # # byName."input-cyttsp4-Make-the-driver-not-hog-the-system-s-workqueue" + # # byName."input-cyttsp4-Fix-probe-oops" + # # byName."regulator-Add-simple-driver-for-enabling-a-regulator-from-users" + # # byName."iio-adc-sun4i-gpadc-iio-Allow-to-use-sun5i-a13-gpadc-iio-from-D" + # # byName."mtd-spi-nor-Add-vdd-regulator-support" + # # byName."ARM-dts-sun5i-Add-soc-handle" + # # byName."arm64-dts-sun50i-a64-pinephone-Fix-BH-modem-manager-behavior" + # # byName."arm64-dts-sun50i-a64-pinephone-Add-detailed-OCV-to-capactiy-con" + # # byName."arm64-dts-sun50i-a64-pinephone-Shorten-post-power-on-delay-on-m" + # # byName."arm64-dts-sun50i-a64-pinephone-Add-mount-matrix-for-acceleromet" + # # byName."arm64-dts-sun50i-a64-pinephone-Add-support-for-Bluetooth-audio" + # # byName."arm64-dts-sun50i-a64-pinephone-Enable-internal-HMIC-bias" + # # byName."arm64-dts-sun50i-a64-pinephone-Add-support-for-modem-audio" + # # byName."arm64-dts-sun50i-a64-pinephone-Bump-I2C-frequency-to-400kHz" + # # byName."arm64-dts-sun50i-a64-pinephone-Add-interrupt-pin-for-WiFi" + # # byName."arm64-dts-sun50i-a64-pinephone-Power-off-the-touch-controller-i" + # # byName."arm64-dts-sun50i-a64-pinephone-Don-t-make-lradc-keys-a-wakeup-s" + # # byName."arm64-dts-sun50i-a64-pinephone-Set-minimum-backlight-duty-cycle" + # # byName."arm64-dts-sun50i-a64-pinephone-Add-supply-for-i2c-bus-to-anx768" + # # byName."arm64-dts-sun50i-a64-pinephone-Workaround-broken-HDMI-HPD-signa" + # # byName."arm64-dts-sun50i-a64-pinephone-Add-AF8133J-to-PinePhone" + # # byName."arm64-dts-sun50i-a64-pinephone-Add-mount-matrix-for-PinePhone-m" + # # byName."arm64-dts-sun50i-a64-pinephone-Add-support-for-Pinephone-keyboa" + # # byName."arm64-dts-sun50i-a64-pinephone-Enable-Pinephone-Keyboard-power-" + # # byName."arm64-dts-sun50i-a64-pinephone-Add-support-for-Pinephone-1.2-be" + # # byName."arm64-dts-sun50i-a64-pinephone-Add-power-supply-to-stk3311" + # # byName."arm64-dts-sun50i-a64-pinephone-Add-reboot-mode-driver" + # # byName."arm64-dts-sun50i-a64-pinephone-Use-newer-jack-detection-impleme" + # # byName."arm64-dts-sun50-a64-pinephone-Define-jack-pins-in-DT" + # # byName."dt-bindings-sound-Add-jack-type-property-to-sun8i-a33-codec" + # # byName."ASoC-sun8i-codec-Allow-the-jack-type-to-be-set-via-device-tree" + # # byName."ASoC-sun8i-codec-define-button-keycodes" + # # byName."ASoC-sun8i-codec-Add-debug-output-for-jack-detection" + # # byName."ASoC-sun8i-codec-Set-jack_type-from-DT-in-probe" + # # byName."ASoC-simple-card-Allow-to-define-pins-for-aux-jack-devices" + # # byName."clk-sunxi-ng-a64-Increase-PLL_AUDIO-base-frequency" + # # byName."dt-bindings-mfd-Add-codec-related-properties-to-AC100-PMIC" + # # byName."sound-soc-ac100-codec-Support-analog-part-of-X-Powers-AC100-cod" + # # byName."sound-soc-sun8i-codec-Add-support-for-digital-part-of-the-AC100" + # # byName."ASoC-ec25-New-codec-driver-for-the-EC25-modem" + # # byName."ASOC-sun9i-hdmi-audio-Initial-implementation" + # # byName."arm64-dts-sun50i-a64-Set-fifo-size-for-uarts" + # # byName."Mark-some-slow-drivers-for-async-probe-with-PROBE_PREFER_ASYNCH" + # # byName."arm64-xor-Select-32regs-without-benchmark-to-speed-up-boot" + # # byName."clk-Implement-protected-clocks-for-all-OF-clock-providers" + # # byName."Revert-clk-qcom-Support-protected-clocks-property" + # # byName."arm64-dts-allwinner-a64-Protect-SCP-clocks" + # # byName."bus-sunxi-rsb-Always-check-register-address-validity" + # # byName."firmware-arm_scpi-Support-unidirectional-mailbox-channels" + # # byName."arm64-dts-allwinner-a64-Add-SCPI-protocol" + # # byName."rtc-sun6i-Allow-RTC-wakeup-after-shutdown" + # # byName."arm64-dts-sun50i-a64-Add-missing-trip-points-for-GPU" + # # byName."arm64-dts-allwinner-a64-Fix-LRADC-compatible" + # # byName."ASoC-codec-es8316-DAC-Soft-Ramp-Rate-is-just-a-2-bit-control" + # # byName."spi-rockchip-Fix-runtime-PM-and-other-issues" + # # byName."spi-fixes" + # # byName."media-cedrus-Fix-failure-to-clean-up-hardware-on-probe-failure" + # # byName."ASoC-rockchip-Fix-doubling-of-playback-speed-after-system-sleep" + # # byName."usb-musb-sunxi-Avoid-enabling-host-side-code-on-SoCs-where-it-s" + # # byName."arm64-dts-allwinner-Enforce-consistent-MMC-numbering" + # # byName."ARM-dts-sunxi-Add-aliases-for-MMC" + # # byName."drm-rockchip-Fix-panic-on-reboot-when-DRM-device-fails-to-bind" + # # byName."usb-gadget-Fix-dangling-pointer-in-netdev-private-data" + # # byName."Fix-for-usb-gadget-on-PP" + # # byName."mmc-dw-mmc-rockchip-fix-sdmmc-after-soft-reboot" + # # byName."Revert-drm-sun4i-lvds-Invert-the-LVDS-polarity" + # # byName."of-property-fw_devlink-Support-allwinner-sram-links" + # # byName."arm64-dts-rockchip-rk356x-Fix-PCIe-register-map-and-ranges" + # # byName."Fix-intptr_t-typedef" + # # byName."mmc-sunxi-mmc-Remove-runtime-PM" + # # byName."usb-serial-option-add-reset_resume-callback-for-WWAN-devices" + # # byName."media-rkisp1-Adapt-to-different-SoCs-having-different-size-limi" + # # byName."media-ov5648-Fix-call-to-pm_runtime_set_suspended" + # # byName."drm-rockchip-dw-mipi-dsi-rockchip-Fix-ISP1-PHY-initialization" + # # byName."drm-rockchip-dw-mipi-dsi-rockchip-Restore-DPHY-config-on-resume" + # # byName."bluetooth-h5-Don-t-re-initialize-rtl8723cs-on-resume" + # # byName."drm-sun4i-Unify-sun8i_-_layer-structs" + # # byName."drm-sun4i-Add-more-parameters-to-sunxi_engine-commit-callback" + # # byName."drm-sun4i-Fix-layer-zpos-change-atomic-modesetting" + # # byName."drm-sun4i-drm-Change-update_bits-to-write" + # # byName."drm-sun4i-Mark-one-of-the-UI-planes-as-a-cursor-one" + # # byName."drm-sun4i-Implement-gamma-correction" + # # byName."drm-panel-st7703-Fix-xbd599-timings-to-make-refresh-rate-exactl" + # # byName."drm-sun4i-Support-taking-over-display-pipeline-state-from-p-boo" + # # byName."video-pwm_bl-Allow-to-change-lth_brightness-via-sysfs" + # # byName."clk-sunxi-ng-sun50i-a64-Switch-parent-of-MIPI-DSI-to-periph0-1x" + # # byName."drm-sun4i-tcon-Support-keeping-dclk-rate-upon-ancestor-clock-ch" + # # byName."phy-allwinner-sun4i-usb-Add-support-for-usb_role_switch" + # # byName."regulator-axp20x-Add-support-for-vin-supply-for-drivevbus" + # # byName."regulator-axp20x-Turn-N_VBUSEN-to-input-on-x-powers-sense-vbus-" + # # byName."drm-bridge-dw-hdmi-Allow-to-accept-HPD-status-from-other-driver" + # # byName."drm-bridge-dw-hdmi-Report-HDMI-hotplug-events" + # # byName."dt-bindings-axp20x-adc-allow-to-use-TS-pin-as-GPADC" + # # byName."iio-adc-axp20x_adc-allow-to-set-TS-pin-to-GPADC-mode" + # # byName."power-axp20x_battery-Allow-to-set-target-voltage-to-4.35V" + # # byName."power-supply-axp20x_battery-Add-support-for-reporting-OCV" + # # byName."regulator-axp20x-Enable-over-temperature-protection-and-16s-res" + # # byName."power-supply-axp20x_battery-Setup-thermal-regulation-experiment" + # # byName."power-supply-axp20x_battery-Fix-charging-done-detection" + # # byName."mfd-axp20x-Add-battery-IRQ-resources" + # # byName."power-supply-axp20x_battery-Send-uevents-for-status-changes" + # # byName."power-supply-axp20x_battery-Monitor-battery-health" + # # byName."power-supply-axp20x-usb-power-Change-Vbus-hold-voltage-to-4.5V" + # # byName."power-axp803-Add-interrupts-for-low-battery-power-condition" + # # byName."power-supply-axp20x-battery-Support-POWER_SUPPLY_PROP_CHARGE_BE" + # # byName."power-supply-axp20x-battery-Enable-poweron-by-RTC-alarm" + # # byName."power-supply-axp20x-battery-Add-support-for-POWER_SUPPLY_PROP_E" + # # byName."power-supply-Add-support-for-USB_BC_ENABLED-and-USB_DCP_INPUT_C" + # # byName."power-supply-axp20x-usb-power-Add-missing-interrupts" + # # byName."sunxi-Use-dev_err_probe-to-handle-EPROBE_DEFER-errors" + # # byName."thermal-sun8i-Be-loud-when-probe-fails" + # # byName."i2c-mv64xxx-Don-t-make-a-fuss-when-pinctrl-recovery-state-is-no" + # # byName."iio-st_sensors-Don-t-report-error-when-the-device-is-not-presen" + # # byName."opp-core-Avoid-confusing-error-when-no-regulator-is-defined-in-" + # # byName."rtc-Print-which-error-caused-RTC-read-failure" + # # byName."usb-typec-fusb302-Slightly-increase-wait-time-for-BC1.2-result" + # # byName."usb-typec-fusb302-Set-the-current-before-enabling-pullups" + # # byName."usb-typec-fusb302-Extend-debugging-interface-with-driver-state-" + # # byName."usb-typec-fusb302-Retry-reading-of-CC-pins-status-if-activity-i" + # # byName."usb-typec-fusb302-More-useful-of-logging-status-on-interrupt" + # # byName."usb-typec-fusb302-Update-VBUS-state-even-if-VBUS-interrupt-is-n" + # # byName."usb-typec-fusb302-Add-OF-extcon-support" + # # byName."usb-typec-fusb302-Fix-register-definitions" + # # byName."usb-typec-fusb302-Clear-interrupts-before-we-start-toggling" + # # byName."usb-typec-typec-extcon-Add-typec-extcon-bridge-driver" + # # byName."usb-typec-typec-extcon-Enable-debugging-for-now" + # # byName."usb-typec-typec-extcon-Allow-to-force-reset-on-each-mux-change" + # # byName."Revert-usb-typec-tcpm-unregister-existing-source-caps-before-re" + # # byName."usb-typec-altmodes-displayport-Respect-DP_CAP_RECEPTACLE-bit" + # # byName."usb-typec-tcpm-Unregister-altmodes-before-registering-new-ones" + # # byName."usb-typec-tcpm-Fix-PD-devices-capabilities-registration" + # # byName."usb-typec-tcpm-Improve-logs" + # # byName."mtd-spi-nor-Add-Alliance-memory-support" + # # byName."Defconfigs-for-all-my-devices" + # # byName."Update-defconfigs" + # ] ++ + [ { - name = "usb: typec: anx7688: Add driver for ANX7688 USB-C HDMI bridge"; - patch = pkgs.fetchurl { - # https://lore.kernel.org/lkml/ZhPM4XU8ttsFftBd@duo.ucw.cz/ - name = "usb: typec: anx7688: Add driver for ANX7688 USB-C HDMI bridge"; - url = "http://lore.kernel.org/lkml/ZhPM4XU8ttsFftBd@duo.ucw.cz/1-a.txt"; - hash = "sha256-doJOtaJLvepgagkQH0oqzVR9VQY4ZbK/3gx4kKgKnLg="; + name = "fix-compilation-specific-to-megi"; + patch = null; + extraStructuredConfig = with lib.kernel; { + ### BUILD FIXES, NOT SPECIFIC TO MY PREFERENCES + # + # disabling the sun5i_eink driver avoids this compilation error: + # CC [M] drivers/video/fbdev/sun5i-eink-neon.o + # aarch64-unknown-linux-gnu-gcc: error: unrecognized command line option '-mfloat-abi=softfp' + # aarch64-unknown-linux-gnu-gcc: error: unrecognized command line option '-mfpu=neon' + # make[3]: *** [../scripts/Makefile.build:289: drivers/video/fbdev/sun5i-eink-neon.o] Error 1 + FB_SUN5I_EINK = no; + BES2600 = no; # fails to compile (implicit declaration of function 'ieee80211_tx_status'; did you mean 'ieee80211_tx_status_ni') }; } - ### enable the ANX7688 in device tree - # HDMI patches: because the Type C patch references the hdmi node, incidentally, so need to create that first - byName."arm64-dts-allwinner-a64-Add-hdmi-sound-card" - byName."arm64-dts-allwinner-a64-Enable-hdmi-sound-card-on-boards-with-h" - # required for later patches to apply - byName."arm64-dts-sun50i-a64-pinephone-Add-front-back-cameras" - # this links ANX7688 into the pinephone-1.2 devicetree - byName."arm64-dts-sun50i-a64-pinephone-Add-Type-C-support-for-all-PP-va" - - # enable /dev/modem-power; /sys/class/modem-power. my eg25-control script depends on it. - # XXX(2024-09-01): NOT compatible with Linux 6.11 - byName."misc-modem-power-Power-manager-for-modems" - byName."arm64-dts-sun50i-a64-pinephone-Add-modem-power-manager" - - # byName."media-ov5640-Experiment-Try-to-disable-denoising-sharpening" - # byName."media-ov5640-Sleep-after-poweroff-to-ensure-next-poweron-is-not" - # byName."media-ov5640-Don-t-powerup-the-sensor-during-driver-probe" - # byName."media-ov5640-set-default-ae-target-lower" - # byName."media-ov5640-Improve-error-reporting" - # byName."media-ov5640-Implement-autofocus" - # byName."media-ov5640-Improve-firmware-load-time" - # byName."media-ov5640-Fix-focus-commands-blocking-until-complete" - # byName."media-ov5640-Add-read-only-property-for-vblank" - # byName."media-ov5640-use-pm_runtime_force_suspend-resume-for-system-sus" - # byName."media-sun6i-csi-capture-Use-subdev-operation-to-access-bridge-f" - # byName."media-sun6i-csi-subdev-Use-subdev-active-state-to-store-active-" - # byName."media-sun6i-csi-merge-sun6i_csi_formats-and-sun6i_csi_formats_m" - # byName."media-sun6i-csi-add-V4L2_CAP_IO_MC-capability" - # byName."media-sun6i-csi-implement-vidioc_enum_framesizes" - # byName."media-sun6i-csi-Add-multicamera-support-for-parallel-bus" - # byName."dt-bindings-input-gpio-vibrator-Don-t-require-enable-gpios" - # byName."input-gpio-vibra-Allow-to-use-vcc-supply-alone-to-control-the-v" - # byName."dt-bindings-leds-Add-a-binding-for-AXP813-charger-led" - # byName."leds-axp20x-Support-charger-LED-on-AXP20x-like-PMICs" - # byName."ARM-dts-axp813-Add-charger-LED" - # byName."media-i2c-gc2145-Move-upstream-driver-out-of-the-way" - # byName."media-gc2145-Galaxycore-camera-module-driver" - # byName."media-gc2145-Added-BGGR-bayer-mode" - # byName."media-gc2145-Disable-debug-output" - # byName."media-gc2145-Add-PIXEL_RATE-HBLANK-and-VBLANK-controls" - # byName."media-gc2145-implement-system-suspend" - # byName."media-gc2145-fix-white-balance-colors" - # byName."media-i2c-gc2145-Parse-and-register-properties" - # byName."mailbox-Allow-to-run-mailbox-while-timekeeping-is-suspended" - # byName."firmware-scpi-Add-support-for-sending-a-SCPI_CMD_SET_SYS_PWR_ST" - # byName."ARM-sunxi-Use-SCPI-to-send-suspend-message-to-SCP-on-A83T" - # byName."arm64-dts-sun50i-h5-Use-my-own-more-aggressive-OPPs-on-H5" - # byName."cpufreq-sun50i-Show-detected-CPU-bin-for-easier-debugging" - # byName."net-stmmac-sun8i-Use-devm_regulator_get-for-PHY-regulator" - # byName."net-stmmac-sun8i-Rename-PHY-regulator-variable-to-regulator_phy" - # byName."net-stmmac-sun8i-Add-support-for-enabling-a-regulator-for-PHY-I" - # byName."input-cyttsp4-De-obfuscate-platform-data-for-keys" - # byName."input-cyttsp4-Remove-useless-indirection-with-driver-platform-d" - # byName."input-cyttsp4-Remove-unused-enable_vkeys" - # byName."input-cyttsp4-De-obfuscate-MT-signals-setup-platform-data" - # byName."input-cyttsp4-Clear-the-ids-buffer-in-a-saner-way" - # byName."input-cyttsp4-ENOSYS-error-is-ok-when-powering-up" - # byName."input-cyttsp4-Faster-recovery-from-failed-wakeup-HACK" - # byName."input-cyttsp4-Use-i2c-spi-names-directly-in-the-driver" - # byName."input-cyttsp4-Port-the-driver-to-use-device-properties" - # byName."input-cyttsp4-Restart-on-wakeup-wakeup-by-I2C-read-doesn-t-work" - # byName."input-cyttsp4-Fix-warnings" - # byName."input-cyttsp4-Make-the-driver-not-hog-the-system-s-workqueue" - # byName."input-cyttsp4-Fix-probe-oops" - # byName."regulator-Add-simple-driver-for-enabling-a-regulator-from-users" - # byName."iio-adc-sun4i-gpadc-iio-Allow-to-use-sun5i-a13-gpadc-iio-from-D" - # byName."mtd-spi-nor-Add-vdd-regulator-support" - # byName."ARM-dts-sun5i-Add-soc-handle" - # byName."arm64-dts-sun50i-a64-pinephone-Fix-BH-modem-manager-behavior" - # byName."arm64-dts-sun50i-a64-pinephone-Add-detailed-OCV-to-capactiy-con" - # byName."arm64-dts-sun50i-a64-pinephone-Shorten-post-power-on-delay-on-m" - # byName."arm64-dts-sun50i-a64-pinephone-Add-mount-matrix-for-acceleromet" - # byName."arm64-dts-sun50i-a64-pinephone-Add-support-for-Bluetooth-audio" - # byName."arm64-dts-sun50i-a64-pinephone-Enable-internal-HMIC-bias" - # byName."arm64-dts-sun50i-a64-pinephone-Add-support-for-modem-audio" - # byName."arm64-dts-sun50i-a64-pinephone-Bump-I2C-frequency-to-400kHz" - # byName."arm64-dts-sun50i-a64-pinephone-Add-interrupt-pin-for-WiFi" - # byName."arm64-dts-sun50i-a64-pinephone-Power-off-the-touch-controller-i" - # byName."arm64-dts-sun50i-a64-pinephone-Don-t-make-lradc-keys-a-wakeup-s" - # byName."arm64-dts-sun50i-a64-pinephone-Set-minimum-backlight-duty-cycle" - # byName."arm64-dts-sun50i-a64-pinephone-Add-supply-for-i2c-bus-to-anx768" - # byName."arm64-dts-sun50i-a64-pinephone-Workaround-broken-HDMI-HPD-signa" - # byName."arm64-dts-sun50i-a64-pinephone-Add-AF8133J-to-PinePhone" - # byName."arm64-dts-sun50i-a64-pinephone-Add-mount-matrix-for-PinePhone-m" - # byName."arm64-dts-sun50i-a64-pinephone-Add-support-for-Pinephone-keyboa" - # byName."arm64-dts-sun50i-a64-pinephone-Enable-Pinephone-Keyboard-power-" - # byName."arm64-dts-sun50i-a64-pinephone-Add-support-for-Pinephone-1.2-be" - # byName."arm64-dts-sun50i-a64-pinephone-Add-power-supply-to-stk3311" - # byName."arm64-dts-sun50i-a64-pinephone-Add-reboot-mode-driver" - # byName."arm64-dts-sun50i-a64-pinephone-Use-newer-jack-detection-impleme" - # byName."arm64-dts-sun50-a64-pinephone-Define-jack-pins-in-DT" - # byName."dt-bindings-sound-Add-jack-type-property-to-sun8i-a33-codec" - # byName."ASoC-sun8i-codec-Allow-the-jack-type-to-be-set-via-device-tree" - # byName."ASoC-sun8i-codec-define-button-keycodes" - # byName."ASoC-sun8i-codec-Add-debug-output-for-jack-detection" - # byName."ASoC-sun8i-codec-Set-jack_type-from-DT-in-probe" - # byName."ASoC-simple-card-Allow-to-define-pins-for-aux-jack-devices" - # byName."clk-sunxi-ng-a64-Increase-PLL_AUDIO-base-frequency" - # byName."dt-bindings-mfd-Add-codec-related-properties-to-AC100-PMIC" - # byName."sound-soc-ac100-codec-Support-analog-part-of-X-Powers-AC100-cod" - # byName."sound-soc-sun8i-codec-Add-support-for-digital-part-of-the-AC100" - # byName."ASoC-ec25-New-codec-driver-for-the-EC25-modem" - # byName."ASOC-sun9i-hdmi-audio-Initial-implementation" - # byName."arm64-dts-sun50i-a64-Set-fifo-size-for-uarts" - # byName."Mark-some-slow-drivers-for-async-probe-with-PROBE_PREFER_ASYNCH" - # byName."arm64-xor-Select-32regs-without-benchmark-to-speed-up-boot" - # byName."clk-Implement-protected-clocks-for-all-OF-clock-providers" - # byName."Revert-clk-qcom-Support-protected-clocks-property" - # byName."arm64-dts-allwinner-a64-Protect-SCP-clocks" - # byName."bus-sunxi-rsb-Always-check-register-address-validity" - # byName."firmware-arm_scpi-Support-unidirectional-mailbox-channels" - # byName."arm64-dts-allwinner-a64-Add-SCPI-protocol" - # byName."rtc-sun6i-Allow-RTC-wakeup-after-shutdown" - # byName."arm64-dts-sun50i-a64-Add-missing-trip-points-for-GPU" - # byName."arm64-dts-allwinner-a64-Fix-LRADC-compatible" - # byName."ASoC-codec-es8316-DAC-Soft-Ramp-Rate-is-just-a-2-bit-control" - # byName."spi-rockchip-Fix-runtime-PM-and-other-issues" - # byName."spi-fixes" - # byName."media-cedrus-Fix-failure-to-clean-up-hardware-on-probe-failure" - # byName."ASoC-rockchip-Fix-doubling-of-playback-speed-after-system-sleep" - # byName."usb-musb-sunxi-Avoid-enabling-host-side-code-on-SoCs-where-it-s" - # byName."arm64-dts-allwinner-Enforce-consistent-MMC-numbering" - # byName."ARM-dts-sunxi-Add-aliases-for-MMC" - # byName."drm-rockchip-Fix-panic-on-reboot-when-DRM-device-fails-to-bind" - # byName."usb-gadget-Fix-dangling-pointer-in-netdev-private-data" - # byName."Fix-for-usb-gadget-on-PP" - # byName."mmc-dw-mmc-rockchip-fix-sdmmc-after-soft-reboot" - # byName."Revert-drm-sun4i-lvds-Invert-the-LVDS-polarity" - # byName."of-property-fw_devlink-Support-allwinner-sram-links" - # byName."arm64-dts-rockchip-rk356x-Fix-PCIe-register-map-and-ranges" - # byName."Fix-intptr_t-typedef" - # byName."mmc-sunxi-mmc-Remove-runtime-PM" - # byName."usb-serial-option-add-reset_resume-callback-for-WWAN-devices" - # byName."media-rkisp1-Adapt-to-different-SoCs-having-different-size-limi" - # byName."media-ov5648-Fix-call-to-pm_runtime_set_suspended" - # byName."drm-rockchip-dw-mipi-dsi-rockchip-Fix-ISP1-PHY-initialization" - # byName."drm-rockchip-dw-mipi-dsi-rockchip-Restore-DPHY-config-on-resume" - # byName."bluetooth-h5-Don-t-re-initialize-rtl8723cs-on-resume" - # byName."drm-sun4i-Unify-sun8i_-_layer-structs" - # byName."drm-sun4i-Add-more-parameters-to-sunxi_engine-commit-callback" - # byName."drm-sun4i-Fix-layer-zpos-change-atomic-modesetting" - # byName."drm-sun4i-drm-Change-update_bits-to-write" - # byName."drm-sun4i-Mark-one-of-the-UI-planes-as-a-cursor-one" - # byName."drm-sun4i-Implement-gamma-correction" - # byName."drm-panel-st7703-Fix-xbd599-timings-to-make-refresh-rate-exactl" - # byName."drm-sun4i-Support-taking-over-display-pipeline-state-from-p-boo" - # byName."video-pwm_bl-Allow-to-change-lth_brightness-via-sysfs" - # byName."clk-sunxi-ng-sun50i-a64-Switch-parent-of-MIPI-DSI-to-periph0-1x" - # byName."drm-sun4i-tcon-Support-keeping-dclk-rate-upon-ancestor-clock-ch" - # byName."phy-allwinner-sun4i-usb-Add-support-for-usb_role_switch" - # byName."regulator-axp20x-Add-support-for-vin-supply-for-drivevbus" - # byName."regulator-axp20x-Turn-N_VBUSEN-to-input-on-x-powers-sense-vbus-" - # byName."drm-bridge-dw-hdmi-Allow-to-accept-HPD-status-from-other-driver" - # byName."drm-bridge-dw-hdmi-Report-HDMI-hotplug-events" - # byName."dt-bindings-axp20x-adc-allow-to-use-TS-pin-as-GPADC" - # byName."iio-adc-axp20x_adc-allow-to-set-TS-pin-to-GPADC-mode" - # byName."power-axp20x_battery-Allow-to-set-target-voltage-to-4.35V" - # byName."power-supply-axp20x_battery-Add-support-for-reporting-OCV" - # byName."regulator-axp20x-Enable-over-temperature-protection-and-16s-res" - # byName."power-supply-axp20x_battery-Setup-thermal-regulation-experiment" - # byName."power-supply-axp20x_battery-Fix-charging-done-detection" - # byName."mfd-axp20x-Add-battery-IRQ-resources" - # byName."power-supply-axp20x_battery-Send-uevents-for-status-changes" - # byName."power-supply-axp20x_battery-Monitor-battery-health" - # byName."power-supply-axp20x-usb-power-Change-Vbus-hold-voltage-to-4.5V" - # byName."power-axp803-Add-interrupts-for-low-battery-power-condition" - # byName."power-supply-axp20x-battery-Support-POWER_SUPPLY_PROP_CHARGE_BE" - # byName."power-supply-axp20x-battery-Enable-poweron-by-RTC-alarm" - # byName."power-supply-axp20x-battery-Add-support-for-POWER_SUPPLY_PROP_E" - # byName."power-supply-Add-support-for-USB_BC_ENABLED-and-USB_DCP_INPUT_C" - # byName."power-supply-axp20x-usb-power-Add-missing-interrupts" - # byName."sunxi-Use-dev_err_probe-to-handle-EPROBE_DEFER-errors" - # byName."thermal-sun8i-Be-loud-when-probe-fails" - # byName."i2c-mv64xxx-Don-t-make-a-fuss-when-pinctrl-recovery-state-is-no" - # byName."iio-st_sensors-Don-t-report-error-when-the-device-is-not-presen" - # byName."opp-core-Avoid-confusing-error-when-no-regulator-is-defined-in-" - # byName."rtc-Print-which-error-caused-RTC-read-failure" - # byName."usb-typec-fusb302-Slightly-increase-wait-time-for-BC1.2-result" - # byName."usb-typec-fusb302-Set-the-current-before-enabling-pullups" - # byName."usb-typec-fusb302-Extend-debugging-interface-with-driver-state-" - # byName."usb-typec-fusb302-Retry-reading-of-CC-pins-status-if-activity-i" - # byName."usb-typec-fusb302-More-useful-of-logging-status-on-interrupt" - # byName."usb-typec-fusb302-Update-VBUS-state-even-if-VBUS-interrupt-is-n" - # byName."usb-typec-fusb302-Add-OF-extcon-support" - # byName."usb-typec-fusb302-Fix-register-definitions" - # byName."usb-typec-fusb302-Clear-interrupts-before-we-start-toggling" - # byName."usb-typec-typec-extcon-Add-typec-extcon-bridge-driver" - # byName."usb-typec-typec-extcon-Enable-debugging-for-now" - # byName."usb-typec-typec-extcon-Allow-to-force-reset-on-each-mux-change" - # byName."Revert-usb-typec-tcpm-unregister-existing-source-caps-before-re" - # byName."usb-typec-altmodes-displayport-Respect-DP_CAP_RECEPTACLE-bit" - # byName."usb-typec-tcpm-Unregister-altmodes-before-registering-new-ones" - # byName."usb-typec-tcpm-Fix-PD-devices-capabilities-registration" - # byName."usb-typec-tcpm-Improve-logs" - # byName."mtd-spi-nor-Add-Alliance-memory-support" - # byName."Defconfigs-for-all-my-devices" - # byName."Update-defconfigs" - - # { - # name = "fix-compilation-specific-to-megi"; - # patch = null; - # extraStructuredConfig = with lib.kernel; { - # ### BUILD FIXES, NOT SPECIFIC TO MY PREFERENCES - # # - # # disabling the sun5i_eink driver avoids this compilation error: - # # CC [M] drivers/video/fbdev/sun5i-eink-neon.o - # # aarch64-unknown-linux-gnu-gcc: error: unrecognized command line option '-mfloat-abi=softfp' - # # aarch64-unknown-linux-gnu-gcc: error: unrecognized command line option '-mfpu=neon' - # # make[3]: *** [../scripts/Makefile.build:289: drivers/video/fbdev/sun5i-eink-neon.o] Error 1 - # FB_SUN5I_EINK = no; - # BES2600 = no; # fails to compile (implicit declaration of function 'ieee80211_tx_status'; did you mean 'ieee80211_tx_status_ni') - # }; - # } { name = "fix-no-display"; patch = null;