diff --git a/projects/ArchR/packages/linux-drivers/archr-joypad/patches/0001-accept-rocknix-joypad-compatible.patch b/projects/ArchR/packages/linux-drivers/archr-joypad/patches/0001-accept-rocknix-joypad-compatible.patch new file mode 100644 index 0000000000..9809b5cfd0 --- /dev/null +++ b/projects/ArchR/packages/linux-drivers/archr-joypad/patches/0001-accept-rocknix-joypad-compatible.patch @@ -0,0 +1,31 @@ +From: ArchR +Subject: [PATCH] archr-joypad: bind to "rocknix-joypad" compatible + +ROCKNIX's overlay_server produces DTBOs whose MyMini joypad variant +fragment sets: + + compatible = "rocknix-joypad"; + +If a user flashes ArchR and applies a ROCKNIX-generated overlay, the +joypad node fails to bind because ArchR's MyMini-style driver only +registers under "archr-joypad" / "odroidgo3-joypad". The hardware is +identical and the driver code is the same lineage, so we add the +ROCKNIX compatible string to the match table — controls then come up +with no further changes. + +The arch-r.io overlay generator already emits both compatibles in a +stringlist, so its DTBOs always worked on ArchR. This patch is for +the third-party / ROCKNIX-site case where only "rocknix-joypad" is +present. + +--- a/archr-joypad.c ++++ b/archr-joypad.c +@@ -640,6 +640,7 @@ + static const struct of_device_id joypad_of_match[] = { + { .compatible = "archr-joypad", }, + { .compatible = "odroidgo3-joypad", }, ++ { .compatible = "rocknix-joypad", }, + {}, + }; + + diff --git a/projects/ArchR/packages/linux-drivers/generic-dsi/sources/panel-generic-dsi.c b/projects/ArchR/packages/linux-drivers/generic-dsi/sources/panel-generic-dsi.c index e22c13384a..5b8c763c1c 100644 --- a/projects/ArchR/packages/linux-drivers/generic-dsi/sources/panel-generic-dsi.c +++ b/projects/ArchR/packages/linux-drivers/generic-dsi/sources/panel-generic-dsi.c @@ -669,6 +669,12 @@ static void generic_panel_remove(struct mipi_dsi_device *dsi) static const struct of_device_id generic_panel_of_match[] = { { .compatible = "archr,generic-dsi" }, + /* Also bind to overlays produced by ROCKNIX (overlay_server, nightly + * builds, dtbo-overlay branch) so users can flash ArchR with a DTBO + * generated upstream and have the panel come up. The init sequence + * and panel_description format are identical between the two — only + * the compatible string differs. */ + { .compatible = "rocknix,generic-dsi" }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, generic_panel_of_match);