From nobody Mon Oct 6 06:37:39 2025 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (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 84ECF207A27 for ; Thu, 24 Jul 2025 05:51:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753336281; cv=none; b=HqeLCrhAjFrzB4RALmydAhvwpjfXVJh26MzsUFjNy4uiurtxG41kLGxppshSB19CQ24eP+mf4OO2mU4EwWe+lGrDIt9timVMiHu4C1+dipdqIsScVy8vJXZOk18XF4yoVu4f4dztzhws+5z45uAilbbxuzm2stoC70WGgVrEoSY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753336281; c=relaxed/simple; bh=QfIN2VJlZFmnJIE0R01/0M2S1pIHyVHFieThVVU9jqU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=C7axA0+3onJPsB9E4uXgLNZlyK5OzBNe88Me4lfiurPVsNS00smkZlIjd05upHZFLHjHqxjq4OEpb6VcX/ep7A3dVFpKQUA9kV41rxw4pYiFUU0twJJUQ08SOSe35R/RMfwRFxQIHa0yS+q1ZW2YvU2+cn5BwTKxBVpeKm1L6Bk= 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=R6mzR4u0; arc=none smtp.client-ip=209.85.215.179 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="R6mzR4u0" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-b39011e5f8eso597850a12.0 for ; Wed, 23 Jul 2025 22:51:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753336277; x=1753941077; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=L5ZkyeZ8stL+8iJNjVz/qRVYgE+h61bRVG1pL/fdi78=; b=R6mzR4u01PMwTj44wf6v0VwvKJOGvNnp4Us5PYuRDcsoDjfPfetG1vT2L2CDhDodEW +LLT2Jsg4+Vp1p2YxiqVXVvOqa0GlSU7JW1y0RHL1KlNBLfasK/mkOE7vRQIijhCCTcC Uk5KbRjE0nWsAGpERrk7FrFnI+G7ciNGUVanVbXWfYP9PXOTfgKCfBL0Jtew/a/v0plp 6PQtD9v5KFocgBJArEAvd8nEdngyU7k7+T46Wg93p7YDJ1ji0H9GgTg8aMo/wYSzm3ej Gllp03eqPh1bVCz3ZEaUwcpf98b7gIgaXpgVc2sds+hU8XJqOdfR2AJk7cUZl899lzY6 H69g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753336277; x=1753941077; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=L5ZkyeZ8stL+8iJNjVz/qRVYgE+h61bRVG1pL/fdi78=; b=w6cyYIdkg3wAOe+vTOR4x7nWMLaZXPTDuNyA7on9cwJxw/OkOnpRahlhCDeSdDPMvK 18RCVyVlQcd13s2y8tqocuu9QehupBVuhD6mjUJ68xR3ow6PoIW60tMrCplTZayQRvkI n55/68KNSEMxeeHkMcEcbxTRgSBfahGoi7K/eNQwRFAgDkUmzhNVspSNDXcjriqhLWbr GXp6wihgEUbknj+DOl2pkbMbSLF7gXatI2WwRXlaN0vJXITJbrAgz7QG0YBIeiWzetK6 /8v0w8yv96GE5LQy2FPvOnMmU/J04s630hrHORLVaEwNTa7L61YWTeaOG6UKXLdrZmUQ 0VRA== X-Gm-Message-State: AOJu0YzmgF8ecvdXatwCWOPOHxp8Qt9ple8dMlHQef/Y8txjNGlQNlSc bp7g4tIfBK518pyeGDrL7HQhtHaq3B3G0dFs3b4llB6oGTTVLh0d7ihFpu3t+gKn X-Gm-Gg: ASbGnctMvCMfIy/auoLEkwvQiAmWVYH2qPljMb3Lal9ars7hXKKmI4cdC+YVX2lBKsI sACnJX+SPFw9+sNJME9JD02yV2JR5gMQcSYD+wjG5qVCIBP/8Muijxij7FGFmCEVgX9Cuag0oVJ sUomCcW7VxlzOtUFcR4teCGyIxgOxdIM9wYGKzGy2IqwHzIc+/EhXDuJMzSWRLalGHn1lZMVWNY Tfn3sh7QF0t6r0uAvToYGBBjsFToR+7fYC9MuSDrBiUEnXUSoIw3gg7M4b5NRYOVFERv/50wPyK 2QX+Wl6FgNJeXalpYpfyXtU6lE71aDOIlw0I4fPV1e7vVRHwTAX2I+fUNJeu750qZeSrYw4c60O AU3rClFWADsLcvo+x5jGKys+hFWJsO/JvQOQ= X-Google-Smtp-Source: AGHT+IHDl1evI2pbV1CVaa2jR1CyuhJdTzVv1ZacKlLgjPi9khteNnINKx8VPMtR0nKTE6ppqqof1w== X-Received: by 2002:a17:903:ac8:b0:235:ef67:b5a0 with SMTP id d9443c01a7336-23f981cc1a3mr85928925ad.36.1753336276624; Wed, 23 Jul 2025 22:51:16 -0700 (PDT) Received: from imran-device.. ([132.237.156.254]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-23fa476eac0sm6655645ad.60.2025.07.23.22.51.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Jul 2025 22:51:16 -0700 (PDT) From: Mande Imran Ahmed To: pkshih@realtek.com, kevin_yang@realtek.com, rtl8821cerfe2@gmail.com, phhuang@realtek.com, damon.chen@realtek.com Cc: linux-kernel@vger.kernel.org, Mande Imran Ahmed Subject: [PATCH] net:realtek:use sysfs_emit() instead of scnprintf() for sysfs consistency Date: Thu, 24 Jul 2025 11:20:18 +0530 Message-ID: <20250724055018.15878-1-immu.ahmed1905@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Update the Realtek rtw89 wireless driver to replace scnprintf() with sysfs_emit() for formatting sysfs attribute output, in line with the recommendations from Documentation/filesystems/sysfs.rst. This change enhances the safety and correctness of sysfs handling, promotes consistency throughout the kernel, and aids long-term maintainability. Functionality verified using ping, iperf, and connection tests to ensure stability after the change. Signed-off-by: Mande Imran Ahmed --- drivers/net/wireless/realtek/rtw89/phy.c | 8 +++---- drivers/net/wireless/realtek/rtw89/sar.c | 30 ++++++++++++------------ 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireles= s/realtek/rtw89/phy.c index 76a2e26d4a10..a58aefb51fb5 100644 --- a/drivers/net/wireless/realtek/rtw89/phy.c +++ b/drivers/net/wireless/realtek/rtw89/phy.c @@ -2087,19 +2087,19 @@ EXPORT_SYMBOL(rtw89_phy_ant_gain_pwr_offset); int rtw89_print_ant_gain(struct rtw89_dev *rtwdev, char *buf, size_t bufsz, const struct rtw89_chan *chan) { - char *p =3D buf, *end =3D buf + bufsz; + char *p =3D buf; s8 offset_patha, offset_pathb; =20 if (!rtw89_can_apply_ant_gain(rtwdev, chan->band_type)) { - p +=3D scnprintf(p, end - p, "no DAG is applied\n"); + p +=3D sysfs_emit(p, "no DAG is applied\n"); goto out; } =20 offset_patha =3D rtw89_phy_ant_gain_query(rtwdev, RF_PATH_A, chan->freq); offset_pathb =3D rtw89_phy_ant_gain_query(rtwdev, RF_PATH_B, chan->freq); =20 - p +=3D scnprintf(p, end - p, "ChainA offset: %d dBm\n", offset_patha); - p +=3D scnprintf(p, end - p, "ChainB offset: %d dBm\n", offset_pathb); + p +=3D sysfs_emit(p, "ChainA offset: %d dBm\n", offset_patha); + p +=3D sysfs_emit(p, "ChainB offset: %d dBm\n", offset_pathb); =20 out: return p - buf; diff --git a/drivers/net/wireless/realtek/rtw89/sar.c b/drivers/net/wireles= s/realtek/rtw89/sar.c index 517b66022f18..80eacada6911 100644 --- a/drivers/net/wireless/realtek/rtw89/sar.c +++ b/drivers/net/wireless/realtek/rtw89/sar.c @@ -318,7 +318,7 @@ int rtw89_print_sar(struct rtw89_dev *rtwdev, char *buf= , size_t bufsz, /* its members are protected by rtw89_sar_set_src() */ const struct rtw89_sar_handler *sar_hdl =3D &rtw89_sar_handlers[src]; const u8 fct_mac =3D rtwdev->chip->txpwr_factor_mac; - char *p =3D buf, *end =3D buf + bufsz; + char *p =3D buf; int ret; s32 cfg; u8 fct; @@ -326,17 +326,17 @@ int rtw89_print_sar(struct rtw89_dev *rtwdev, char *b= uf, size_t bufsz, lockdep_assert_wiphy(rtwdev->hw->wiphy); =20 if (src =3D=3D RTW89_SAR_SOURCE_NONE) { - p +=3D scnprintf(p, end - p, "no SAR is applied\n"); + p +=3D sysfs_emit(p, "no SAR is applied\n"); goto out; } =20 - p +=3D scnprintf(p, end - p, "source: %d (%s)\n", src, + p +=3D sysfs_emit(p, "source: %d (%s)\n", src, sar_hdl->descr_sar_source); =20 ret =3D sar_hdl->query_sar_config(rtwdev, sar_parm, &cfg); if (ret) { - p +=3D scnprintf(p, end - p, "config: return code: %d\n", ret); - p +=3D scnprintf(p, end - p, + p +=3D sysfs_emit(p, "config: return code: %d\n", ret); + p +=3D sysfs_emit(p, "assign: max setting: %d (unit: 1/%lu dBm)\n", RTW89_SAR_TXPWR_MAC_MAX, BIT(fct_mac)); goto out; @@ -344,10 +344,10 @@ int rtw89_print_sar(struct rtw89_dev *rtwdev, char *b= uf, size_t bufsz, =20 fct =3D sar_hdl->txpwr_factor_sar; =20 - p +=3D scnprintf(p, end - p, "config: %d (unit: 1/%lu dBm)\n", cfg, + p +=3D sysfs_emit(p, "config: %d (unit: 1/%lu dBm)\n", cfg, BIT(fct)); =20 - p +=3D scnprintf(p, end - p, "support different configs by antenna: %s\n", + p +=3D sysfs_emit(p, "support different configs by antenna: %s\n", str_yes_no(rtwdev->chip->support_sar_by_ant)); out: return p - buf; @@ -356,24 +356,24 @@ int rtw89_print_sar(struct rtw89_dev *rtwdev, char *b= uf, size_t bufsz, int rtw89_print_tas(struct rtw89_dev *rtwdev, char *buf, size_t bufsz) { struct rtw89_tas_info *tas =3D &rtwdev->tas; - char *p =3D buf, *end =3D buf + bufsz; + char *p =3D buf; =20 if (!rtw89_tas_is_active(rtwdev)) { - p +=3D scnprintf(p, end - p, "no TAS is applied\n"); + p +=3D sysfs_emit(p, "no TAS is applied\n"); goto out; } =20 - p +=3D scnprintf(p, end - p, "State: %s\n", + p +=3D sysfs_emit(p, "State: %s\n", rtw89_tas_state_str(tas->state)); - p +=3D scnprintf(p, end - p, "Average time: %d\n", + p +=3D sysfs_emit(p, "Average time: %d\n", tas->window_size * 2); - p +=3D scnprintf(p, end - p, "SAR gap: %d dBm\n", + p +=3D sysfs_emit(p, "SAR gap: %d dBm\n", RTW89_TAS_SAR_GAP >> RTW89_TAS_FACTOR); - p +=3D scnprintf(p, end - p, "DPR gap: %d dBm\n", + p +=3D sysfs_emit(p, "DPR gap: %d dBm\n", RTW89_TAS_DPR_GAP >> RTW89_TAS_FACTOR); - p +=3D scnprintf(p, end - p, "DPR ON offset: %d dBm\n", + p +=3D sysfs_emit(p, "DPR ON offset: %d dBm\n", RTW89_TAS_DPR_ON_OFFSET >> RTW89_TAS_FACTOR); - p +=3D scnprintf(p, end - p, "DPR OFF offset: %d dBm\n", + p +=3D sysfs_emit(p, "DPR OFF offset: %d dBm\n", RTW89_TAS_DPR_OFF_OFFSET >> RTW89_TAS_FACTOR); =20 out: --=20 2.43.0