diff options
author | Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> | 2025-07-09 17:08:13 +0100 |
---|---|---|
committer | Geert Uytterhoeven <geert+renesas@glider.be> | 2025-08-11 11:42:57 +0200 |
commit | 8912b2862b9b74a0dc4e3ea1aacdec2f8abd7e1d (patch) | |
tree | f9267cfcc18a46e2336c60cb7d987ff3060b95c4 /rust/helpers/atomic.c | |
parent | 8f5ae30d69d7543eee0d70083daf4de8fe15d585 (diff) |
pinctrl: renesas: rzg2l: Fix invalid unsigned return in rzg3s_oen_read()
rzg3s_oen_read() returns a u32 value, but previously propagated a negative
error code from rzg3s_pin_to_oen_bit(), resulting in an unintended large
positive value due to unsigned conversion. This caused incorrect
output-enable reporting for certain pins.
Without this patch, pins P1_0-P1_4 and P7_0-P7_4 are incorrectly reported
as "output enabled" in the pinconf-pins debugfs file. With this fix, only
P1_0-P1_1 and P7_0-P7_1 are shown as "output enabled", which matches the
hardware manual.
Fix this by returning 0 when the OEN bit lookup fails, treating the pin
as output-disabled by default.
Fixes: a9024a323af2 ("pinctrl: renesas: rzg2l: Clean up and refactor OEN read/write functions")
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250709160819.306875-2-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Diffstat (limited to 'rust/helpers/atomic.c')
0 files changed, 0 insertions, 0 deletions