Hi Maya,
On 6/11/22 12:39, Maccraft123 wrote:
From: Maya Matuszczyk maccraft123mc@gmail.com
The device is identified by "NEXT" in board name, however there are different versions of it, "Next Advance" and "Next Pro", that have different DMI board names. Due to a production error a batch or two have their board names prefixed by "AYANEO" and that's how we ended up with 6 different entries for what's basically one device with different hardware specifications.
Signed-off-by: Maya Matuszczyk maccraft123mc@gmail.com
.../gpu/drm/drm_panel_orientation_quirks.c | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+)
diff --git a/drivers/gpu/drm/drm_panel_orientation_quirks.c b/drivers/gpu/drm/drm_panel_orientation_quirks.c index 4e853acfd1e8..62fc7eb69341 100644 --- a/drivers/gpu/drm/drm_panel_orientation_quirks.c +++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c @@ -152,6 +152,42 @@ static const struct dmi_system_id orientation_data[] = { DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "AYA NEO 2021"), }, .driver_data = (void *)&lcd800x1280_rightside_up,
- }, { /* AYA NEO NEXT */
.matches = {
DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
DMI_EXACT_MATCH(DMI_BOARD_NAME, "NEXT"),
},
.driver_data = (void *)&lcd800x1280_rightside_up,
- },
If you change:
DMI_EXACT_MATCH(DMI_BOARD_NAME, "NEXT"),
to:
DMI_MATCH(DMI_BOARD_NAME, "NEXT"),
Then the matching code will do a substring search for "NEXT" in DMI_BOARD_NAME. IOW it will do a strstr using DMI_BOARD_NAME as the haystack and "NEXT" as the needle.
And since all 6 board-names contain "NEXT", this single entry will then match all 6 variants.
So please respin this patch using just a single entry with:
DMI_MATCH(DMI_BOARD_NAME, "NEXT"),
Thanks & Regards,
Hans
{ /* AYA NEO NEXT Advance */
.matches = {
DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
DMI_EXACT_MATCH(DMI_BOARD_NAME, "NEXT Advance"),
},
.driver_data = (void *)&lcd800x1280_rightside_up,
- }, { /* AYA NEO NEXT Pro */
.matches = {
DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
DMI_EXACT_MATCH(DMI_BOARD_NAME, "NEXT Pro"),
},
.driver_data = (void *)&lcd800x1280_rightside_up,
- }, { /* AYA NEO NEXT (Batch with different board name) */
.matches = {
DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
DMI_EXACT_MATCH(DMI_BOARD_NAME, "AYANEO NEXT"),
},
.driver_data = (void *)&lcd800x1280_rightside_up,
- }, { /* AYA NEO NEXT Advance (Batch with different board name) */
.matches = {
DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
DMI_EXACT_MATCH(DMI_BOARD_NAME, "AYANEO NEXT Advance"),
},
.driver_data = (void *)&lcd800x1280_rightside_up,
- }, { /* AYA NEO NEXT Pro (Batch with different board name) */
.matches = {
DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
DMI_EXACT_MATCH(DMI_BOARD_NAME, "AYANEO NEXT Pro"),
},
}, { /* Chuwi HiBook (CWI514) */ .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "Hampoo"),.driver_data = (void *)&lcd800x1280_rightside_up,