--- Makefile.orig 2022-11-08 06:44:58.000000000 -0800 +++ Makefile 2022-11-18 12:26:08.115955355 -0800 @@ -1534,8 +1534,6 @@ ln -s $(CURDIR) $(MODLIB)/build ; \ fi @sed 's:^:kernel/:' modules.order > $(MODLIB)/modules.order - @cp -f modules.builtin $(MODLIB)/ - @cp -f $(objtree)/modules.builtin.modinfo $(MODLIB)/ endif # CONFIG_MODULES --- drivers/clk/bcm/clk-raspberrypi.c.orig 2022-11-08 06:44:58.000000000 -0800 +++ drivers/clk/bcm/clk-raspberrypi.c 2022-11-18 12:26:08.115955355 -0800 @@ -362,7 +362,7 @@ struct raspberrypi_clk_variant *variant; if (clks->id > RPI_FIRMWARE_NUM_CLK_ID) { - dev_err(rpi->dev, "Unknown clock id: %u", clks->id); + dev_warn(rpi->dev, "Unknown clock id: %u", clks->id); return -EINVAL; } --- fs/super.c.orig 2022-11-29 14:38:39.000000000 +0000 +++ fs/super.c 2022-11-29 23:21:22.426057053 +0000 @@ -1243,7 +1243,7 @@ bdev = blkdev_get_by_path(fc->source, mode, fc->fs_type); if (IS_ERR(bdev)) { - errorf(fc, "%s: Can't open blockdev", fc->source); + warnf(fc, "%s: Can't open blockdev", fc->source); return PTR_ERR(bdev); } --- arch/arm/Kconfig.orig 2022-04-12 07:12:05.000000000 -0700 +++ arch/arm/Kconfig 2022-04-12 14:17:08.779623562 -0700 @@ -96,11 +96,6 @@ select HAVE_GCC_PLUGINS select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7) select HAVE_IRQ_TIME_ACCOUNTING - select HAVE_KERNEL_GZIP - select HAVE_KERNEL_LZ4 - select HAVE_KERNEL_LZMA - select HAVE_KERNEL_LZO - select HAVE_KERNEL_XZ select HAVE_KPROBES if !XIP_KERNEL && !CPU_ENDIAN_BE32 && !CPU_V7M select HAVE_KRETPROBES if HAVE_KPROBES select HAVE_MOD_ARCH_SPECIFIC --- drivers/usb/gadget/legacy/hid.c.orig 2022-01-22 05:56:56.000000000 -0800 +++ drivers/usb/gadget/legacy/hid.c 2022-01-22 09:26:47.326896150 -0800 @@ -271,6 +271,48 @@ }, }; +/* Additional goop to define a USB raw HID gadget */ + +static struct hidg_func_descriptor raw_hid_data = { + .subclass = 0, /* No subclass */ + .protocol = 0, /* No protocol */ + .report_length = 64, + .report_desc_length = 33, + .report_desc = { +0x06, 0x00, 0xFF, // Usage Page = 0xFF00 (Vendor Defined Page 1) +0x09, 0x01, // Usage (Vendor Usage 1) +0xA1, 0x01, // Collection (Application) +// Input report +0x19, 0x01, // Usage Minimum +0x29, 0x40, // Usage Maximum +0x15, 0x00, // Logical Minimum +0x26, 0xFF, 0x00, // Logical Maximum +0x75, 0x08, // Report Size: 8-bit field size +0x95, 64, // Report Count +0x81, 0x02, // Input (Data, Array, Abs) +// Output report +0x19, 0x01, // Usage Minimum +0x29, 0x40, // Usage Maximum +0x75, 0x08, // Report Size: 8-bit field size +0x95, 64, // Report Count +0x91, 0x02, // Output (Data, Array, Abs) +0xC0 // End Collection + } +}; + +static struct platform_device raw_hid = { + .name = "hidg", + .id = 0, + .num_resources = 0, + .resource = 0, + .dev.platform_data = &raw_hid_data, +}; + +int __init init_raw_hid(void) +{ + pr_info("g_hid: loading raw HID descriptor\n"); + return platform_device_register(&raw_hid); +} MODULE_DESCRIPTION(DRIVER_DESC); MODULE_AUTHOR("Fabien Chouteau, Peter Korsgaard"); @@ -280,6 +322,8 @@ { int status; + init_raw_hid(); + status = platform_driver_probe(&hidg_plat_driver, hidg_plat_driver_probe); if (status < 0) --- drivers/usb/dwc2/gadget.c.orig 2022-04-12 07:12:05.000000000 -0700 +++ drivers/usb/dwc2/gadget.c 2022-04-12 14:26:07.706729114 -0700 @@ -3413,6 +3413,8 @@ usbcfg &= ~GUSBCFG_TOUTCAL_MASK; usbcfg |= GUSBCFG_TOUTCAL(7); + usbcfg |= GUSBCFG_FORCEDEVMODE; + /* remove the HNP/SRP and set the PHY */ usbcfg &= ~(GUSBCFG_SRPCAP | GUSBCFG_HNPCAP); dwc2_writel(hsotg, usbcfg, GUSBCFG);