From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0AEC23148D9 for ; Fri, 21 Aug 2026 21:48:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787348910; cv=none; b=q0enyOThygfDjcS55RpEHGk1ybNs4ZZvb7egVg+9koh8wvoUjJ5a8jl7Tme4MXdtBq73rtgCeO0VgDKHZp5g8AoHDwaAanFvGYL0Bw55DaDqN6KOODQE40wicAMvW8K6tLBTT+7MVb5Q0sQ5UcViUoSYXQeNnkcbj4eVkObKvag= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787348910; c=relaxed/simple; bh=Q9+jME9VJAGMwbs5dL+qzw2sN4dhcaFkxpJUEyVEaG0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nY0y02F6gqM84p23x3D+iUo8xISgGZ+K8U31NspMLXuoKX1UbKSLs6oYmWQuRdG90ylRxMXLfHyPctJRjnIpNDhNrQrStPGaurwCexFPAO3ggBBhTfzcG5x4MsfYtxCjh6OCs1NTuu8jUbYBJa4gfz/YsecIV3AA7+Mj971Id4A= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kGTrpOgX; arc=none smtp.client-ip=209.85.210.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kGTrpOgX" Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-84a4d8fd6ecso1555130b3a.1 for ; Fri, 21 Aug 2026 14:48:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787348908; x=1787953708; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=5voLgM5slHX2FHecq7U0sNP2etbB1183FHydBmLAB6E=; b=kGTrpOgXz1h+JPRUNCp6iUcNUE2BFhdwtjvMovufiQ1wBxIOLUJpFtwYsfWKkIqzzx FEUl9B9MS1Sky7RlBdImlrDTTx1lWkitXabYFzIJQqUAA7Un1/ROR9bzENmZ9G6eJ77m 7Va18COFHnWqG1ieZ5WCHs2SbSY9ckEXuqbzdyQ3cKikQXBwZbX5UEpOeZGRuv1dub7x 6X2A/3SH39deoqHWuqLmFKfLb6+JXA1yIqV0fscUd8hP3h5pZp4VVYxcXEFi2AQAJC4C i3sEmAOo2lb8RuNq3tzv4HqYeSZotMc2ZjmQ6I3zTg/UwJ3CviZpwzpt9bJgqkkPq1BL MzbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787348908; x=1787953708; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=5voLgM5slHX2FHecq7U0sNP2etbB1183FHydBmLAB6E=; b=gFig0FHXN30y6VwNDs9pjkcMvOBnoaWw+b9lKNFpE86vpOMsR1o0Xg7QIpwgsL08Pe v9HL0gRrAmwB9UPqA0kvogMLrQYGrye0Mybw5xYZ2gzoHFUsY80J9mnwpv1rvkx5PFvd VQkYL3Nzm1pOW8dF0FVHJ+sxs3QCTMxqr2quGDs42970H3HZKnsAqD9JooWLs5HCfpeC pt/NIdvSArP51KnF4tYUD1MuIYCj3eR2tf+0lVZ1Fa+PYRL1cIKmw7PI15xFG0LN324d gEipKlslqk7Iy5gvLXyNEOLXrUBT0hJuCr2Ze7GAGS1V9nNnoLK09aMmkKyF6U5pteqg i4zQ== X-Forwarded-Encrypted: i=1; AHgh+Rq8a4ovY+vDlNiQ24hD0uHQXXoXT9R8nwCVtEunwFeWmCNSb3ZHu7xEAnE9dPQwNxMQ3/KhxBEjxe3u4HA=@vger.kernel.org X-Gm-Message-State: AFuF++lRVlXR3YTcogvClBv4PnttObR/gRh+rsSD5wIZM69SEcZNCg3Z ItuBKWzNQJ/7tfTVloVrLRrrzL07wxeRLbGx/v16EMCLrY65YAh6i3Kz X-Gm-Gg: AR+sD12Jmgj0CRWo9olNBZHCaNDlfIAfaCVJ2+Jt0WKCpqaAqhRk5RquacIxs9Osynl hsxFWVXDfCB2gTUYhwOXoiAGr/kcs1t5t74dBqp+2VMCLA8QTOJxOVmZ/mtKQ9ZclizOiS+bi6D 8OWZfFoEzAKqzGm5aoOw+a4yiXJ3qZppA6yBgubdYKL6xu2aiu/+kT4M1Su/rxce3SBq7wVGCC9 OMGJhBWph3rB+gc2f8kL795WSjyUgN3FTK6z1I2UJ1lwJgjEQE06C5f3yGuB+/1nDjBJ2ZEfKCY fnkKtu2pfLw/G4gwggAQPCFg5AMmU0gAcZPJ526ZQMH+LKnhPk03waoQv6NwB1QYLTNxA/nIV1k tzY7lRqUdKW0L7gZHyVS2VaZSvJK4n+lURjCFo3pXCGJt2SPFch0mS4lZ58fnyk3dS9es9TUp5V 2wgnKoeSbxJEXuxkHH0ZrjWCqvNWNj6Uy4gP18nAHYqz7os37lMCyNdX/FedyOuBwEX3lo7aKXu XjW9XxoYxyYbKBg1/5ZrSyq4xQplGc= X-Received: by 2002:a05:6a20:9d96:b0:3bf:6237:4d3f with SMTP id adf61e73a8af0-3cd4bc45418mr3436077637.18.1787348908325; Fri, 21 Aug 2026 14:48:28 -0700 (PDT) Received: from localhost.localdomain ([103.16.69.193]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-327bef3bb46sm27276942eec.3.2026.08.21.14.48.24 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 21 Aug 2026 14:48:27 -0700 (PDT) From: Aditya Dash To: Benjamin Tissoires , "Derek J. Clark" , Jiri Kosina , Mark Pearson Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/5] HID: hid-lenovo-go: record calibration completion state Date: Sat, 22 Aug 2026 03:18:08 +0530 Message-ID: <20260821214810.87826-4-mradityadash@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260821214810.87826-1-mradityadash@gmail.com> References: <20260821214810.87826-1-mradityadash@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The firmware uses result value 0 for failure and 1 for success. The driver stores this value directly as a state index. Index 0 means unknown, so the driver reports a firmware failure as unknown. Map the result value to the matching failure or success state. Fixes: 995887a10da1 ("HID: hid-lenovo-go: Add Calibration Settings") Assisted-by: Pi:gpt-5.6-sol Signed-off-by: Aditya Dash --- A successful calibration completion was tested on hardware. No final failure completion was captured. drivers/hid/hid-lenovo-go.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/hid/hid-lenovo-go.c b/drivers/hid/hid-lenovo-go.c index a6e9a130ad41..d2d134873dd1 100644 --- a/drivers/hid/hid-lenovo-go.c +++ b/drivers/hid/hid-lenovo-go.c @@ -577,17 +577,19 @@ static int hid_go_light_event(struct command_report *cmd_rep) static int hid_go_device_status_event(struct command_report *cmd_rep) { + u8 status = cmd_rep->data[1] ? CAL_STAT_SUCCESS : CAL_STAT_FAILURE; + switch (cmd_rep->device_type) { case LEFT_CONTROLLER: switch (cmd_rep->data[0]) { case CALDEV_GYROSCOPE: - drvdata.gp_left_gyro_cal_status = cmd_rep->data[1]; + drvdata.gp_left_gyro_cal_status = status; return 0; case CALDEV_JOYSTICK: - drvdata.gp_left_joy_cal_status = cmd_rep->data[1]; + drvdata.gp_left_joy_cal_status = status; return 0; case CALDEV_TRIGGER: - drvdata.gp_left_trigg_cal_status = cmd_rep->data[1]; + drvdata.gp_left_trigg_cal_status = status; return 0; default: return -EINVAL; @@ -596,13 +598,13 @@ static int hid_go_device_status_event(struct command_report *cmd_rep) case RIGHT_CONTROLLER: switch (cmd_rep->data[0]) { case CALDEV_GYROSCOPE: - drvdata.gp_right_gyro_cal_status = cmd_rep->data[1]; + drvdata.gp_right_gyro_cal_status = status; return 0; case CALDEV_JOYSTICK: - drvdata.gp_right_joy_cal_status = cmd_rep->data[1]; + drvdata.gp_right_joy_cal_status = status; return 0; case CALDEV_TRIGGER: - drvdata.gp_right_trigg_cal_status = cmd_rep->data[1]; + drvdata.gp_right_trigg_cal_status = status; return 0; default: return -EINVAL; -- 2.55.0