From db0fe2e0f5e97e260b45664cbb38eed58f54b3a5 Mon Sep 17 00:00:00 2001 From: tiopex Date: Mon, 23 Jun 2025 23:02:06 +0200 Subject: [PATCH 1/5] defconfig: btrfs and usb drivers as a module --- arch/arm/configs/miyoo_defconfig | 35 +++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/arch/arm/configs/miyoo_defconfig b/arch/arm/configs/miyoo_defconfig index afc1a2c72..f6ca8f157 100644 --- a/arch/arm/configs/miyoo_defconfig +++ b/arch/arm/configs/miyoo_defconfig @@ -51,19 +51,24 @@ CONFIG_USB_NET_RNDIS_HOST=y # CONFIG_USB_BELKIN is not set # CONFIG_USB_NET_ZAURUS is not set # CONFIG_WLAN is not set -CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_FF_MEMLESS=y +CONFIG_INPUT_MOUSEDEV=m CONFIG_INPUT_MOUSEDEV_SCREEN_X=320 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240 -CONFIG_INPUT_JOYDEV=y -CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_EVDEV=m +CONFIG_KEYBOARD_ATKBD=m CONFIG_KEYBOARD_MIYOO=y -CONFIG_MOUSE_SYNAPTICS_USB=y +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_INPUT_JOYSTICK=y -CONFIG_JOYSTICK_ANALOG=y -CONFIG_JOYSTICK_XPAD=y +CONFIG_JOYSTICK_ANALOG=m +CONFIG_JOYSTICK_XPAD=m CONFIG_JOYSTICK_XPAD_FF=y CONFIG_INPUT_MISC=y -CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_UINPUT=m +CONFIG_SERIO_LIBPS2=y +CONFIG_GAMEPORT=y CONFIG_LEGACY_PTY_COUNT=4 CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y @@ -101,14 +106,15 @@ CONFIG_SND_ALOOP=m # CONFIG_SND_ARM is not set CONFIG_SND_SOC=y CONFIG_SND_SUNIV_CODEC=y +CONFIG_USB=y CONFIG_USB_DYNAMIC_MINORS=y CONFIG_USB_OTG=y -CONFIG_USB_MUSB_HDRC=y -CONFIG_USB_MUSB_SUNXI=y +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_SUNXI=m CONFIG_NOP_USB_XCEIV=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_VBUS_DRAW=500 -CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS=m CONFIG_USB_CONFIGFS_NCM=y CONFIG_USB_CONFIGFS_ECM=y CONFIG_USB_CONFIGFS_ECM_SUBSET=y @@ -123,18 +129,23 @@ CONFIG_STAGING=y # CONFIG_IOMMU_SUPPORT is not set CONFIG_PWM=y CONFIG_PWM_SUNIV=y -CONFIG_PHY_SUN4I_USB=y +CONFIG_PHY_SUN4I_USB=m CONFIG_NVMEM_SUNXI_SID=y CONFIG_EXT4_FS=y -CONFIG_BTRFS_FS=y +CONFIG_BTRFS_FS=m CONFIG_VFAT_FS=y CONFIG_TMPFS=y +CONFIG_CONFIGFS_FS=y CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y CONFIG_KEYS=y # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set +CONFIG_CRYPTO_XXHASH=y +CONFIG_CRYPTO_BLAKE2B=y +CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_DRBG_MENU=y # CONFIG_CRYPTO_HW is not set +CONFIG_LIBCRC32C=y CONFIG_XZ_DEC=y CONFIG_PRINTK_TIME=y CONFIG_CONSOLE_LOGLEVEL_DEFAULT=4 From 8ba8486bdcecab15a830d8116ce9b54912005ab2 Mon Sep 17 00:00:00 2001 From: tiopex Date: Wed, 25 Jun 2025 09:53:54 +0200 Subject: [PATCH 2/5] Add lazy loading symbols in miyoo_kbd --- arch/arm/configs/miyoo_defconfig | 19 +++++------ drivers/input/keyboard/miyoo_kbd.c | 52 +++++++++++++++++++----------- 2 files changed, 41 insertions(+), 30 deletions(-) diff --git a/arch/arm/configs/miyoo_defconfig b/arch/arm/configs/miyoo_defconfig index f6ca8f157..f9cb0790f 100644 --- a/arch/arm/configs/miyoo_defconfig +++ b/arch/arm/configs/miyoo_defconfig @@ -4,9 +4,9 @@ CONFIG_DEFAULT_HOSTNAME="miyoo" CONFIG_LOG_BUF_SHIFT=16 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12 CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_BUG is not set # CONFIG_KALLSYMS is not set CONFIG_EMBEDDED=y -CONFIG_PERF_EVENTS=y CONFIG_SLOB=y # CONFIG_ARCH_MULTI_V7 is not set CONFIG_ARCH_SUNXI_V5=y @@ -37,8 +37,6 @@ CONFIG_INET=y # CONFIG_ETHTOOL_NETLINK is not set CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y -CONFIG_SUNXI_RSB=y -CONFIG_MTD=y CONFIG_BLK_DEV_LOOP=y CONFIG_NETDEVICES=y # CONFIG_ETHERNET is not set @@ -82,7 +80,6 @@ CONFIG_BATTERY_MIYOO=y # CONFIG_HWMON is not set CONFIG_WATCHDOG=y CONFIG_SUNXI_WATCHDOG=y -CONFIG_MFD_AXP20X_RSB=y CONFIG_MFD_SYSCON=y CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y @@ -99,13 +96,13 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_PWM=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -CONFIG_SOUND=y -CONFIG_SND=y +CONFIG_SOUND=m +CONFIG_SND=m # CONFIG_SND_VERBOSE_PROCFS is not set CONFIG_SND_ALOOP=m # CONFIG_SND_ARM is not set -CONFIG_SND_SOC=y -CONFIG_SND_SUNIV_CODEC=y +CONFIG_SND_SOC=m +CONFIG_SND_SUNIV_CODEC=m CONFIG_USB=y CONFIG_USB_DYNAMIC_MINORS=y CONFIG_USB_OTG=y @@ -115,14 +112,13 @@ CONFIG_NOP_USB_XCEIV=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_VBUS_DRAW=500 CONFIG_USB_CONFIGFS=m +CONFIG_USB_CONFIGFS_ACM=y CONFIG_USB_CONFIGFS_NCM=y CONFIG_USB_CONFIGFS_ECM=y CONFIG_USB_CONFIGFS_ECM_SUBSET=y CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_F_FS=y CONFIG_USB_CONFIGFS_F_HID=y -CONFIG_USB_FUNCTIONFS=m -CONFIG_USB_G_SERIAL=m -CONFIG_USB_G_HID=m CONFIG_MMC=y CONFIG_MMC_SUNXI=y CONFIG_STAGING=y @@ -130,6 +126,7 @@ CONFIG_STAGING=y CONFIG_PWM=y CONFIG_PWM_SUNIV=y CONFIG_PHY_SUN4I_USB=m +CONFIG_NVMEM=y CONFIG_NVMEM_SUNXI_SID=y CONFIG_EXT4_FS=y CONFIG_BTRFS_FS=m diff --git a/drivers/input/keyboard/miyoo_kbd.c b/drivers/input/keyboard/miyoo_kbd.c index c9c5cce27..f1294a3a9 100644 --- a/drivers/input/keyboard/miyoo_kbd.c +++ b/drivers/input/keyboard/miyoo_kbd.c @@ -14,25 +14,24 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include -#include #include #include #include #include -#include #include #include #include #include -#include #include -#include #include -#include -#include -#include #include -#include +#include +#include + +static void (*miyoo_increase_volume)(void) = NULL; +static void (*miyoo_decrease_volume)(void) = NULL; +extern void MIYOO_INCREASE_VOLUME(void); +extern void MIYOO_DECREASE_VOLUME(void); //Hotkeys #define KILL_HK "/bin/sh", "-c", "/bin/kill -9 $(/bin/ps -al | /bin/grep \"/mnt/\")" @@ -165,6 +164,12 @@ bool non_hotkey_menu=false; module_param(miyoo_ver,uint,0660); module_param(miyoo_layout,uint,0660); +bool is_module_loaded(const char *mod_name) +{ + struct module *mod = find_module(mod_name); + return mod != NULL; +} + static int do_input_request(uint32_t pin, const char*name) { if(gpio_request(pin, name) < 0){ @@ -235,8 +240,6 @@ static void scan_handler(struct timer_list *timer) static uint32_t pre=0; uint32_t scan=0, val=0, debounce=0; static uint32_t touchRead=0, touchReadPrev=0; - extern void MIYOO_INCREASE_VOLUME(void); - extern void MIYOO_DECREASE_VOLUME(void); static char * kill_argv[] = {KILL_HK, NULL}; static char * kill_soft_argv[] = {KILL_SOFT_HK, NULL}; static char * shutdown_argv[] = {SHUTDOWN_HK, NULL}; @@ -785,19 +788,27 @@ static void scan_handler(struct timer_list *timer) } } else if((val & MY_R) && (val & MY_UP)){ - if(!hotkey_down && !hotkey_custom) { - MIYOO_INCREASE_VOLUME(); - hotkey_down = true; - } + if (!hotkey_down && !hotkey_custom) { + if (!miyoo_increase_volume && is_module_loaded("miyoo") ) { + miyoo_increase_volume = symbol_get(MIYOO_INCREASE_VOLUME); + } + if (miyoo_increase_volume) + miyoo_increase_volume(); + hotkey_down = true; + } hotkey_actioned = true; if (hotkey_custom) hotkey = hotkey == 0 ? 5 : hotkey; } else if((val & MY_R) && (val & MY_DOWN)){ - if(!hotkey_down && !hotkey_custom) { - MIYOO_DECREASE_VOLUME(); - hotkey_down = true; - } + if (!hotkey_down && !hotkey_custom) { + if (!miyoo_decrease_volume && is_module_loaded("miyoo") ) { + miyoo_decrease_volume = symbol_get(MIYOO_DECREASE_VOLUME); + } + if (miyoo_decrease_volume) + miyoo_decrease_volume(); + hotkey_down = true; + } hotkey_actioned = true; if (hotkey_custom) hotkey = hotkey == 0 ? 6 : hotkey; @@ -1113,7 +1124,10 @@ static void __exit kbd_exit(void) { input_unregister_device(mydev); del_timer(&mytimer); - + if (miyoo_increase_volume) + symbol_put(MIYOO_INCREASE_VOLUME); + if (miyoo_decrease_volume) + symbol_put(MIYOO_DECREASE_VOLUME); device_destroy(myclass, major); cdev_del(&mycdev); class_destroy(myclass); From 96951dd618b0e1870fbc3411ff6b6d14494d8a55 Mon Sep 17 00:00:00 2001 From: tiopex Date: Thu, 26 Jun 2025 07:21:01 +0200 Subject: [PATCH 3/5] remove step for gather .ko files, there is tar-pkg with all modules --- .github/workflows/build.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 84f779bcf..ce9d75539 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -53,14 +53,10 @@ jobs: mkdir dist mv arch/arm/boot/dts/*.dtb dist/ mv arch/arm/boot/zImage dist/ - mv drivers/video/fbdev/core/*.ko dist/ - mv drivers/video/fbdev/*.ko dist/ - mv drivers/usb/gadget/legacy/*.ko dist/ - mv sound/drivers/*.ko dist/ mv linux-5.15.141-miyoo-arm.tar dist/ - run: find ${{ inputs.submodule || '.' }}/dist - + - uses: actions/upload-artifact@v4 with: name: kernel (uClibc) From a93901ab52adf9f981ec70256011e4382fec3717 Mon Sep 17 00:00:00 2001 From: tiopex Date: Thu, 3 Jul 2025 21:57:18 +0200 Subject: [PATCH 4/5] Remove volume dep from keyboard driver --- drivers/input/keyboard/miyoo_kbd.c | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/drivers/input/keyboard/miyoo_kbd.c b/drivers/input/keyboard/miyoo_kbd.c index f1294a3a9..fd7587666 100644 --- a/drivers/input/keyboard/miyoo_kbd.c +++ b/drivers/input/keyboard/miyoo_kbd.c @@ -28,11 +28,6 @@ #include #include -static void (*miyoo_increase_volume)(void) = NULL; -static void (*miyoo_decrease_volume)(void) = NULL; -extern void MIYOO_INCREASE_VOLUME(void); -extern void MIYOO_DECREASE_VOLUME(void); - //Hotkeys #define KILL_HK "/bin/sh", "-c", "/bin/kill -9 $(/bin/ps -al | /bin/grep \"/mnt/\")" #define KILL_SOFT_HK "/bin/sh", "-c", "/bin/kill -2 $(/bin/ps -al | /bin/grep \"/mnt/\")" @@ -789,11 +784,6 @@ static void scan_handler(struct timer_list *timer) } else if((val & MY_R) && (val & MY_UP)){ if (!hotkey_down && !hotkey_custom) { - if (!miyoo_increase_volume && is_module_loaded("miyoo") ) { - miyoo_increase_volume = symbol_get(MIYOO_INCREASE_VOLUME); - } - if (miyoo_increase_volume) - miyoo_increase_volume(); hotkey_down = true; } hotkey_actioned = true; @@ -802,11 +792,6 @@ static void scan_handler(struct timer_list *timer) } else if((val & MY_R) && (val & MY_DOWN)){ if (!hotkey_down && !hotkey_custom) { - if (!miyoo_decrease_volume && is_module_loaded("miyoo") ) { - miyoo_decrease_volume = symbol_get(MIYOO_DECREASE_VOLUME); - } - if (miyoo_decrease_volume) - miyoo_decrease_volume(); hotkey_down = true; } hotkey_actioned = true; @@ -1124,10 +1109,6 @@ static void __exit kbd_exit(void) { input_unregister_device(mydev); del_timer(&mytimer); - if (miyoo_increase_volume) - symbol_put(MIYOO_INCREASE_VOLUME); - if (miyoo_decrease_volume) - symbol_put(MIYOO_DECREASE_VOLUME); device_destroy(myclass, major); cdev_del(&mycdev); class_destroy(myclass); From 3eb4cf2bd40cfc610faaa6c23020e9c57861780a Mon Sep 17 00:00:00 2001 From: Apaczer <94932128+Apaczer@users.noreply.github.com> Date: Fri, 4 Jul 2025 22:15:39 +0200 Subject: [PATCH 5/5] miyoo_kbd: rm unused func and headers add MIYOO_INCREASE/DECREASE_VOLUME() comments as ref. --- drivers/input/keyboard/miyoo_kbd.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/input/keyboard/miyoo_kbd.c b/drivers/input/keyboard/miyoo_kbd.c index fd7587666..823bdf2ef 100644 --- a/drivers/input/keyboard/miyoo_kbd.c +++ b/drivers/input/keyboard/miyoo_kbd.c @@ -25,8 +25,6 @@ #include #include #include -#include -#include //Hotkeys #define KILL_HK "/bin/sh", "-c", "/bin/kill -9 $(/bin/ps -al | /bin/grep \"/mnt/\")" @@ -159,12 +157,6 @@ bool non_hotkey_menu=false; module_param(miyoo_ver,uint,0660); module_param(miyoo_layout,uint,0660); -bool is_module_loaded(const char *mod_name) -{ - struct module *mod = find_module(mod_name); - return mod != NULL; -} - static int do_input_request(uint32_t pin, const char*name) { if(gpio_request(pin, name) < 0){ @@ -235,6 +227,8 @@ static void scan_handler(struct timer_list *timer) static uint32_t pre=0; uint32_t scan=0, val=0, debounce=0; static uint32_t touchRead=0, touchReadPrev=0; + //extern void MIYOO_INCREASE_VOLUME(void); + //extern void MIYOO_DECREASE_VOLUME(void); static char * kill_argv[] = {KILL_HK, NULL}; static char * kill_soft_argv[] = {KILL_SOFT_HK, NULL}; static char * shutdown_argv[] = {SHUTDOWN_HK, NULL}; @@ -784,6 +778,7 @@ static void scan_handler(struct timer_list *timer) } else if((val & MY_R) && (val & MY_UP)){ if (!hotkey_down && !hotkey_custom) { + //MIYOO_INCREASE_VOLUME(); hotkey_down = true; } hotkey_actioned = true; @@ -792,6 +787,7 @@ static void scan_handler(struct timer_list *timer) } else if((val & MY_R) && (val & MY_DOWN)){ if (!hotkey_down && !hotkey_custom) { + //MIYOO_DECREASE_VOLUME(); hotkey_down = true; } hotkey_actioned = true;