SDL: switch2: Read out serial number

From d635a064aa20343a4bf5fe659dde515dbf5fcef9 Mon Sep 17 00:00:00 2001
From: Vicki Pfau <[EMAIL REDACTED]>
Date: Fri, 17 Oct 2025 18:56:57 -0700
Subject: [PATCH] switch2: Read out serial number

---
 src/joystick/hidapi/SDL_hidapi_switch2.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/joystick/hidapi/SDL_hidapi_switch2.c b/src/joystick/hidapi/SDL_hidapi_switch2.c
index cd7b22c42a80b..c21510fcab88c 100644
--- a/src/joystick/hidapi/SDL_hidapi_switch2.c
+++ b/src/joystick/hidapi/SDL_hidapi_switch2.c
@@ -425,6 +425,15 @@ static bool HIDAPI_DriverSwitch2_InitUSB(SDL_HIDAPI_Device *device)
 
     unsigned char calibration_data[0x40] = {0};
 
+    res = ReadFlashBlock(ctx, 0x13000, calibration_data);
+    if (res < 0) {
+        SDL_LogWarn(SDL_LOG_CATEGORY_INPUT, "Couldn't read serial number: %d", res);
+    } else {
+        char serial[0x11] = {0};
+        SDL_strlcpy(serial, (char*)&calibration_data[2], sizeof(serial));
+        HIDAPI_SetDeviceSerial(device, serial);
+    }
+
     res = ReadFlashBlock(ctx, 0x13080, calibration_data);
     if (res < 0) {
         SDL_LogWarn(SDL_LOG_CATEGORY_INPUT, "Couldn't read factory calibration data: %d", res);