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

This commit is contained in:
2024-09-10 06:57:01 +00:00
parent d3fa4e6e7c
commit a37554ada3

View File

@@ -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;