[PATCH 19/19] serial: stm32: request the registers with devm_request_mem_resource()

Ahmad Fatoum a.fatoum at pengutronix.de
Wed Oct 28 02:14:53 PDT 2026


From: Ahmad Fatoum <a.fatoum at barebox.org>

Use the managed request and drop the io_release error label.

The driver data stays on xzalloc(), as console_register() keeps a
pointer to it and console_unregister() may refuse with -EBUSY.

Assisted-by: Claude:opus-5-1m
Signed-off-by: Ahmad Fatoum <a.fatoum at barebox.org>
---
 drivers/serial/serial_stm32.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/serial/serial_stm32.c b/drivers/serial/serial_stm32.c
index b3c4eaf90fcc..ca2f1bdab323 100644
--- a/drivers/serial/serial_stm32.c
+++ b/drivers/serial/serial_stm32.c
@@ -156,7 +156,7 @@ static int stm32_serial_probe(struct device *dev)
 	stm32 = xzalloc(sizeof(*stm32));
 	cdev = &stm32->cdev;
 
-	res = dev_request_mem_resource(dev, 0);
+	res = devm_request_mem_resource(dev, 0);
 	if (IS_ERR(res)) {
 		ret = PTR_ERR(res);
 		goto err_free;
@@ -171,7 +171,7 @@ static int stm32_serial_probe(struct device *dev)
 	if (IS_ERR(stm32->clk)) {
 		ret = dev_err_probe(dev, PTR_ERR(stm32->clk),
 				    "Failed to get/enable UART clock\n");
-		goto io_release;
+		goto err_free;
 	}
 
 	cdev->dev    = dev;
@@ -197,8 +197,6 @@ static int stm32_serial_probe(struct device *dev)
 		return 0;
 
 	clk_put(stm32->clk);
-io_release:
-	release_region(res);
 err_free:
 	free(stm32);
 
-- 
2.47.3




More information about the barebox mailing list