From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) (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 1846B3D75C9 for ; Mon, 27 Jul 2026 19:47:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785181641; cv=none; b=W/g9vywOBnt49ZhMrWOQETfXVT93/XK5l3iCh9ZqA0iwlPGN3MSfFo/1E9+jd6zscyMG13tUxsnX9/ZxM93Opur3gWWmGB7E6GOOUvPEWY6kMt0kW4hVal0H6Detpj+cV8iTM8o+E6tOwpRTBj7dDAA/uonRa1R40oOdvYmM8oI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785181641; c=relaxed/simple; bh=oFzg3w1o83cUPrm6E2TI1hZm4hbYZedb89KGuqdzWKk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=JMcBEbxznygs8NqPnMrNwLJCC6TkYJ+yn2PCB6xHIO+iqnKzT4Ofuxp4vTUGWKMyJu2R4GCrRrldTGW2S9NL5kDT+m2X2z3slPOpCVe4auctZEgQ/EgcfeR2z0uAxs4oCFdXr+RArRFZIPqE4uujhjirjjN6/xQdB8Rg3EEjRkM= 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=n4zjhzum; arc=none smtp.client-ip=209.85.216.45 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="n4zjhzum" Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-38a0c7e841fso3561757a91.2 for ; Mon, 27 Jul 2026 12:47:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785181636; x=1785786436; 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:content-type; bh=XSCXn/eGldKKU2rs41dq3NxOCETw1/WpvSD3oUZHWac=; b=n4zjhzumYVNDgBAz/mnf5d7fgGm90Kcajp4lWw0hR0VgfvJ04SCDYvuLcDFEZGH+GX iaIxaBFrAe4nuzmfwR5nSToJkhlKofVIAgdyXWr3kQjX5S4b25E7ie2lfZTgf94iPtR0 vDEo76DHHbbKf2kgFoq5DQgvmTbfXnS6mtFXLAXxdB8Z6dofYwXvzg6XnZu2/8VnXIgm xO+Snuab4XydULFd6OLI/4MRNJHLyhiDOR5oUeklULISouzRXa6/gQUEaUYo8LVXTiGT ozajlEjpQgX4MAiJ58FHapHYowNNi1bC1HOjqxmy3n4YrJ/SaCYLBMF1SJ1+D6UUvb4M giZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785181636; x=1785786436; 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:content-type; bh=XSCXn/eGldKKU2rs41dq3NxOCETw1/WpvSD3oUZHWac=; b=eYlz0hO7uGuttsJ2TW++/xazayn1AsvBvGeN12sSwMfVoHTwVDLTKEMPNf/620vLsh lZfoD/m5vyBspUNYax+YwqCiT2qFtO0lltLy7lRrDo5fb5VWNip/od01N42Faz8YBvco cAyWmFVhWNwsIGyjZn+l82t+sFRKKXTpM9fXCKfRgn5u9H4Jp/44yvQq7dLYjKxjrDyO 6IonOa9o9k514ASkWoQE9CShDrmB7zfZ6BeOIyVkbbJ+j6Kkf/x6lIA7xtR9t0l7RdlN 4Wb36dd0uLCHwV5s46SgztI/EGrvZlI/Dt43/W4HihxhglAwdqfG3/BQWaVx8qTD85oJ sWXw== X-Forwarded-Encrypted: i=1; AHgh+RrBB5KkIcZ4wVgHsDig7RwiWwNLOULlUrAg3XoCWwfbziIHWMtzPoTcCibafvcU5QZlgx1KH5m5isdxdW8=@vger.kernel.org X-Gm-Message-State: AOJu0YxL98AdTkQEeW0ec+mAs5bUCNspyv5bxgLo/uBNCv1OiQ9rY1E3 gJ/7J2ek30w/Bi2BGu9JWSibvReMqUVtuio5n3i+C2AzRiDlqkAuG3jPFa7uP4KU X-Gm-Gg: AR+sD13AfklFlgPc4LiQLxh2xK3qQ65GIsLILn3hI3kZHUb9B5YKxwM1nLeTZyDnI2+ N592WmipaAjK+uP2A4tWgkv653UcC57x2NWXvIYjwVuTcT8T0WaY8QVRdQtyrurJzdOB7yjT2Vo KhZZxaOUwFstAcszcTj7xSc6BF+rf/UdP0ygCnvv0sXQVHtAHEocG6yeeKUu2jEVVkL1epM0n3R odfItgPjKbc7GIi0Y40TSTDRLTYlpRKc5wh8kKvonqSygzaA6YtIdGpz9FBAdrNNhIsI1usIS9d ZOIrBZB7fqK2x2QfVM3k6WjzyNbK8IpDi5mbH8RtP220nPA6TtXB4BIlBWi0E8a5Dke2MTLgjIp BqFtzKzPViHMsre3F+9Pbd54V86Yr4WwPNZMnkGfU57WZDdMLFyGDH0s5Pt1M19mJVwNDfaksWf Weoi8I9Byt/lhxQOd3R4UWRHeA00T5zwowWuq78jBRifuhz16ngqfGg43U+SyICRMERiML0qhyz 4OicjKtIirrmiYaTw41Fbhpomw4uGz/62L3wsW2EIoS2ixdwwk7wQmFQ7YgML5JabXpiTMw6kdq X-Received: by 2002:a17:90b:5750:b0:38e:655c:6516 with SMTP id 98e67ed59e1d1-38f29265995mr9506496a91.0.1785181636524; Mon, 27 Jul 2026 12:47:16 -0700 (PDT) Received: from ryzen.lan ([2601:644:8000:7a86::e34]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-38f6410ff7dsm279656a91.4.2026.07.27.12.47.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2026 12:47:15 -0700 (PDT) From: Rosen Penev To: linux-spi@vger.kernel.org Cc: Mark Brown , linux-kernel@vger.kernel.org (open list) Subject: [PATCH] spi: spi-mpc52xx: use platform_get_irq_optional for IRQ lookup Date: Mon, 27 Jul 2026 12:47:14 -0700 Message-ID: <20260727194714.11354-1-rosenp@gmail.com> X-Mailer: git-send-email 2.55.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Replace irq_of_parse_and_map() calls with platform_get_irq_optional() to fetch both IRQs in the probe function. This is a more portable approach that works with both DT and non-DT platforms and follows modern platform API conventions. The -EPROBE_DEFER case is handled properly so deferred probe works as expected, and invalid IRQ numbers are normalized to 0. Signed-off-by: Rosen Penev --- drivers/spi/spi-mpc52xx.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-mpc52xx.c b/drivers/spi/spi-mpc52xx.c index 70d8e17e8c43..563b1f627be9 100644 --- a/drivers/spi/spi-mpc52xx.c +++ b/drivers/spi/spi-mpc52xx.c @@ -392,6 +392,18 @@ static int mpc52xx_spi_probe(struct platform_device *op) void __iomem *regs; u8 ctrl1; int rc, i = 0; + int irq0; + int irq1; + + irq0 = platform_get_irq_optional(op, 0); + if (irq0 == -EPROBE_DEFER) + return irq0; + irq0 = max(irq0, 0); + + irq1 = platform_get_irq_optional(op, 1); + if (irq1 == -EPROBE_DEFER) + return irq1; + irq1 = max(irq1, 0); /* MMIO registers */ dev_dbg(&op->dev, "probing mpc5200 SPI device\n"); @@ -436,8 +448,8 @@ static int mpc52xx_spi_probe(struct platform_device *op) ms = spi_controller_get_devdata(host); ms->host = host; ms->regs = regs; - ms->irq0 = irq_of_parse_and_map(op->dev.of_node, 0); - ms->irq1 = irq_of_parse_and_map(op->dev.of_node, 1); + ms->irq0 = irq0; + ms->irq1 = irq1; ms->state = mpc52xx_spi_fsmstate_idle; ms->ipb_freq = mpc5xxx_get_bus_frequency(&op->dev); ms->gpio_cs_count = gpiod_count(&op->dev, NULL); -- 2.55.0