From nobody Fri Apr 3 02:56:38 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (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 A9F71370D5F for ; Tue, 24 Mar 2026 22:40:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774392027; cv=none; b=LOcMsZ8hnJtoZrEABJa9Rems8dea1k2viLn61Nev1PHrG7oy/skXnHYKZm76GY40bQuNwDm3Vtp3ao2jDRJq/882V1WaN07ln0yqIFsgEWAAUoWHN+DZcsFWVyAR7vnd/4OV/ZRbFnxqn7LhbP08zEdnxo4l6AArtEhHdS/UlXA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774392027; c=relaxed/simple; bh=3NQGz/Wow37LwsDtFVCWIwDFxQVvo+kDIoKh4BEK2LE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=R2jHVyFTP3UhmXIox6PvnifGwfHW3fZGzSu0YJ/aVFIhHGOlsSNIL9nQgk3qkWZL9XFvqu+eENej3eD4d9TGZeF/AABmQ7Hs89dJmv66hgOlx4ba7CHg6RkDh/KX5+jz9YsOk1pbY3e3WBLkJokLqWrowNPhYleQGue8zkYPDpk= 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=SiL2cz3Z; arc=none smtp.client-ip=209.85.128.44 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="SiL2cz3Z" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-486fe655187so55851275e9.2 for ; Tue, 24 Mar 2026 15:40:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774392024; x=1774996824; 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=OhQpT1uOw3aQFvUDXr78Z5wlFodfeRYW4M5f8BX3v6c=; b=SiL2cz3ZzCvdCBqNosHFbcDDx5LwDiHBi0ehqKEr/11HAKKJBC4MVbWCJ8yVU+eRrT GEFXKZ4YM3e6OURFpZfIrUVLLbYn8lMBCgCO/5M+JSmBy1GoAkKzd/v6R6/3CWwTYc7h E70nW15w9/BwqJGJKxNrOzw5+wCKtWnJdc3/XHDzC/Qy6wU93RUWBjAfdel4O13fUWg7 s1/mZgQVI1XBwpWJ0jLygiPBN9N86fiNGn8kr0mUpNvVN5Q/Fjs3wb2LcexwKUgy6R+M kJw5Ia0hh+8ZdsPyNhuF+XaHKe/4nEKo8k6Y16t+mdr1H/AkfVMxN8ziaOq0aHhS8OEE m+5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774392024; x=1774996824; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=OhQpT1uOw3aQFvUDXr78Z5wlFodfeRYW4M5f8BX3v6c=; b=h8+lHlP7qJsOyTdUnSWp3OMHAbT7s2CPlWgBHOxT6nvTUS1Y+8oxTUe5Ib7WtEg2Oq uBEmzY/GDrP1MhlTdMuvYFhhzxHh0Q50E5IkCFjfpyP0Af6Xud648KpC7PvDfgUBkS8k XPawiT5UbXQF9OtHImDMLufjyCM6aFc2Yu1iy5/Qcjt8Qhyr5kWxhbGnddus6qWUyAiw YODe4dRcO1i2zK5SUDh0N4BvXL8tw+zb04HNhwux5m/l4/ueSryiZWxXGre86vLqKJw6 Qruax2wvhR2AYtr4y5TaHmpSW+3LqNpJUeD8ew8hx+3VU5Aiq3JBrPQFQZlTqY5OwC59 wG/g== X-Forwarded-Encrypted: i=1; AJvYcCX24f88lwNI04WzPvcAsslNT5duMGuntMJmV1Bumh2DIxMSetBMnxZBe9ygBmkUb0julVnyWrwSGb8gzCg=@vger.kernel.org X-Gm-Message-State: AOJu0Yw6y9iGeJm+dpKrEcxH3BONO72JaBawGZ5FCLynUAz+UopD7ecq BO6pqyV+0OX4hnJVt+wbL1gFKIDg9EXJto8riLXykT61vnH73dxNlns= X-Gm-Gg: ATEYQzwDe+fNE1Hoc4NGj8Tx1TAOM6Ikjs6ih2AFp0zW38VtKaoh/q8TJ5uJfsucGsQ vloGI0aK9xfN4/Mu57WbFxchyFHCq/Qtl5fcH3sGPzipIMXFcMy4NwE2BmKHdFfG52H9rb1fePA MwtGcYv0KCIQJWpA/D0qZsRx/svN1zKqGfHVxieVxq9bshZbNUWpoeHm/cVDJRXlHKvxnmeYEIl cswMSV09JQj2H5dM0J+wL2GG46NHifcwPBPDNVkSlsGSo351Z5v3MxYo37BqGcTU2kFk1PicxYt HYS+WzUd0ldZzxyTdQg+eh7+zVRBE77q+JPgy1M4CJ1v/hx05qYAmplkvFiMxnO2tNN8C7M86WG Joe8KhYuU9hJjLGEKlxEyIV9VGy2r3ppJwoCMtcj65FVXruAtp/Y7PcFMD15zV/07lu+yUwx5K2 bBJBIZPgiWWvJLPL9Tiue647EMJpQK2asuQWwIVqYboPkhCVHtq1n5 X-Received: by 2002:a05:600c:4685:b0:485:40db:d40c with SMTP id 5b1f17b1804b1-48715fc3971mr21709525e9.3.1774392023919; Tue, 24 Mar 2026 15:40:23 -0700 (PDT) Received: from localhost.localdomain ([78.240.217.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-487165e8e0csm8504735e9.1.2026.03.24.15.40.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 15:40:23 -0700 (PDT) From: Jihed Chaibi To: s.nawrocki@samsung.com Cc: lgirdwood@gmail.com, broonie@kernel.org, perex@perex.cz, tiwai@suse.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, jihed.chaibi.dev@gmail.com Subject: [PATCH] ASoC: samsung: spdif: Convert to devm_ioremap_resource() Date: Tue, 24 Mar 2026 23:39:07 +0100 Message-ID: <20260324223907.98897-1-jihed.chaibi.dev@gmail.com> X-Mailer: git-send-email 2.47.3 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" Replace the open-coded request_mem_region() + ioremap() sequence with devm_ioremap_resource(), which handles both the region claim and mapping under devres lifetime management. This eliminates the manual iounmap() and release_mem_region() calls in the error path (err3/err4 labels) and in spdif_remove(), simplifying the probe error handling. Signed-off-by: Jihed Chaibi --- sound/soc/samsung/spdif.c | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/sound/soc/samsung/spdif.c b/sound/soc/samsung/spdif.c index 235d0063d1b3..fb30f6b637a0 100644 --- a/sound/soc/samsung/spdif.c +++ b/sound/soc/samsung/spdif.c @@ -407,21 +407,12 @@ static int spdif_probe(struct platform_device *pdev) if (ret) goto err1; =20 - /* Request S/PDIF Register's memory region */ - if (!request_mem_region(mem_res->start, - resource_size(mem_res), "samsung-spdif")) { - dev_err(&pdev->dev, "Unable to request register region\n"); - ret =3D -EBUSY; + spdif->regs =3D devm_ioremap_resource(&pdev->dev, mem_res); + if (IS_ERR(spdif->regs)) { + ret =3D PTR_ERR(spdif->regs); goto err2; } =20 - spdif->regs =3D ioremap(mem_res->start, 0x100); - if (spdif->regs =3D=3D NULL) { - dev_err(&pdev->dev, "Cannot ioremap registers\n"); - ret =3D -ENXIO; - goto err3; - } - spdif_stereo_out.addr_width =3D 2; spdif_stereo_out.addr =3D mem_res->start + DATA_OUTBUF; filter =3D NULL; @@ -435,7 +426,7 @@ static int spdif_probe(struct platform_device *pdev) NULL, NULL, NULL); if (ret) { dev_err(&pdev->dev, "failed to register DMA: %d\n", ret); - goto err4; + goto err2; } =20 dev_set_drvdata(&pdev->dev, spdif); @@ -444,14 +435,10 @@ static int spdif_probe(struct platform_device *pdev) &samsung_spdif_component, &samsung_spdif_dai, 1); if (ret !=3D 0) { dev_err(&pdev->dev, "fail to register dai\n"); - goto err4; + goto err2; } =20 return 0; -err4: - iounmap(spdif->regs); -err3: - release_mem_region(mem_res->start, resource_size(mem_res)); err2: clk_disable_unprepare(spdif->sclk); err1: @@ -463,12 +450,6 @@ static int spdif_probe(struct platform_device *pdev) static void spdif_remove(struct platform_device *pdev) { struct samsung_spdif_info *spdif =3D &spdif_info; - struct resource *mem_res; - - iounmap(spdif->regs); - - mem_res =3D platform_get_resource(pdev, IORESOURCE_MEM, 0); - release_mem_region(mem_res->start, resource_size(mem_res)); =20 clk_disable_unprepare(spdif->sclk); clk_disable_unprepare(spdif->pclk); --=20 2.47.3