git: ed50879c4a95 - main - gpiobus: gpiobus_acquire_pin: panic on invalid pin

From: Ahmad Khalifa <vexeduxr_at_FreeBSD.org>
Date: Fri, 04 Jul 2025 20:26:06 UTC
The branch main has been updated by vexeduxr:

URL: https://cgit.FreeBSD.org/src/commit/?id=ed50879c4a9591d075890f61c7f8f7c29d5c6f3a

commit ed50879c4a9591d075890f61c7f8f7c29d5c6f3a
Author:     Ahmad Khalifa <vexeduxr@FreeBSD.org>
AuthorDate: 2025-06-19 13:42:56 +0000
Commit:     Ahmad Khalifa <vexeduxr@FreeBSD.org>
CommitDate: 2025-07-04 20:24:31 +0000

    gpiobus: gpiobus_acquire_pin: panic on invalid pin
    
    It is a programming error to call this function with an invalid pin.
    Also return proper error value on failure.
    
    Suggested by:   mmel
    Reviewed by:    imp, mmel
    Approved by:    imp (mentor)
    Differential Revision:  https://reviews.freebsd.org/D50940
---
 sys/dev/gpio/gpiobus.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/sys/dev/gpio/gpiobus.c b/sys/dev/gpio/gpiobus.c
index 6b5379b6084a..ab849ca3db98 100644
--- a/sys/dev/gpio/gpiobus.c
+++ b/sys/dev/gpio/gpiobus.c
@@ -401,14 +401,13 @@ gpiobus_acquire_pin(device_t bus, uint32_t pin)
 	sc = device_get_softc(bus);
 	/* Consistency check. */
 	if (pin >= sc->sc_npins) {
-		device_printf(bus,
-		    "invalid pin %d, max: %d\n", pin, sc->sc_npins - 1);
-		return (-1);
+		panic("%s: invalid pin %d, max: %d",
+		    device_get_nameunit(bus), pin, sc->sc_npins - 1);
 	}
 	/* Mark pin as mapped and give warning if it's already mapped. */
 	if (sc->sc_pins[pin].mapped) {
 		device_printf(bus, "warning: pin %d is already mapped\n", pin);
-		return (-1);
+		return (EBUSY);
 	}
 	sc->sc_pins[pin].mapped = 1;