From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qk1-f174.google.com (mail-qk1-f174.google.com [209.85.222.174]) (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 6225E3D522F for ; Mon, 27 Jul 2026 19:46:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.174 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785181570; cv=none; b=IrZi+tUweyI1i2qjxvT4CrldRjSUMeKFYjCzUwUIHQyn2ImBlzAQPW0OQJ1mbA0LVo6Q2Zd2Sko/qhLVlC6UQ0Q3w4jL9SbTemQf6ACSb+3LDb5px01w9BjSq/XAzHfSI3onwjqhtL89gUGXRSFW2eqlQe6E/vNKcnHdfN2dgg4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785181570; c=relaxed/simple; bh=47PD9JwvYyxPu8Hse44JTDV4MzLVfZHZDgqar2SR3qk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=ClIZ/kpKHXPN3CEkOMWady08zXOOD/5CJ0ghIWJvi39z82svx06PoJLsGKrwmHB2GZq7XjjWh5AvjLeDcHBrGLe46cYiDolKSXnh59SQJVycnVuvGXamFPxX29rCJWy+14zfYpmo9tZngjMy4vSrwLyeO/ODlixRuErOJwhRwSQ= 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=mTNX8kzO; arc=none smtp.client-ip=209.85.222.174 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="mTNX8kzO" Received: by mail-qk1-f174.google.com with SMTP id af79cd13be357-930f4e5eed1so207940385a.2 for ; Mon, 27 Jul 2026 12:46:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785181568; x=1785786368; 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=BExrr++CeQtOIGv/JPdP57pAUZPeVdTrEbBe5GDruhA=; b=mTNX8kzOa6awFQiDZBKuynycnNSxFFMqBfT1Zc+PTA6zzN8JrN1MNSXsYCMKEwJk/w X0mZioEz23nzp2kuretkeZo+/Z1IyVdCzOvn1uSII2pzs25aD20i3cgVwwcYCdqmfVtS sDb73s9lOLdd3azw5Ztee7Xy6Q4CovVXmL2qRAHNedE0Y7n9ZWJTwkyRdCgLc95HYN4q 8A5D1/cO+aTKW/1msVEoGFsxHhERsA/fnLzTzhEYKyfyXL3kk0y97XrtUF+T+gRgeY6O tWdmKcU2wqS72MKUdnx6J9YvRXdtxyHL16mXi0QOwUDwf/OZ4HfLCVpdLjaVnfBs8Tqe rQyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785181568; x=1785786368; 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=BExrr++CeQtOIGv/JPdP57pAUZPeVdTrEbBe5GDruhA=; b=PKsC48wDnUMFSSnXhKSr8+YGwM83rDtuQg3jiZ46fWFTbiSzC3gJbYnv5r1w0tdEas Epb0ph7kMRWB0vmXNputTGQAvRfP6eXBjhJN0dDFV9DJJvZnjHJIDKa2Rd/1c/F+dUs0 UwAU+1Yj12lSraIzPFfaf9UOLrCREGSj41knq9N6gDHMYZZbDpN7Tp2Baa3CunnxENoh 8DdoYRlkQf4OD79v2V0MNjDdhEVUPMqSk6slOuKbnxuopy5Wplkvp9q+JOaGQRkGzaLv JdWGCfsqRVs9UQwkZj6HFe+A90srkK4+w/ObZj6/hOGZVhjFTx2wH6+GztRTluqa38Rn 3eTA== X-Gm-Message-State: AOJu0Yyoo7mBj3x5dI9LI8eNisz0iyajcsVa7PIpIHwgBwxCnPDKrDxa krITiTpzSX4qrapcExoBUA90gzuBedKmzq5EONa0q+cIV40p5mIYeLYsWMcbfuXU X-Gm-Gg: AR+sD12iPVZbwnFmlhcOf0t7Gk2JnK8kImDKa8rJOu6psXDBpxMnFFxuFJoe0bDd1dx iKVia93xyNB4U0RfRz0sVrNcXMlbwmb0YAqIuKB4rYw8h3vtNSYYGsDZYASbrNpRF+Xe+CVZwQW TiBbCjP9rQ+LvxtAzMVxF+xELmM3I2pM4PV9OenGvLevI+b3lH6MmvdAasSJb5co3x0hlLJlqhu H7l/8pYHCi8VIHp1h0P1n/sYyvKDjtgtMRneRuf/W+ofQzDpoCoxTtZC6xYgQ57c/ElpEOyO9I3 aPJ7VjqmcHoIJlQ2ufz1IKcYbQfE5uV9qw/uYgZfQZE2+gN1eiscS6tCj1sErNZsPIYipa2ep1l FRnA/8VR6cbDoMdwLutLyf0kVXYLkaGTXrFTil8SWl0Fl3xxYEVmisYHV0dW9C9Lf4I2AfIMm5v CozbB779yadubmNv8uZiKQkcr6t9MtfezFIrvr60j4Gz3/MIj8QrW/ZKGxxVdFnQcGh8q+VXorn z1GZzyB+gxDUqPE7HQ4BfG9uveJ+/SHaTf34Pavj0jREZYltenCZdg= X-Received: by 2002:a05:620a:a191:10b0:930:ab28:945c with SMTP id af79cd13be357-932fe356c16mr54818285a.50.1785181568176; Mon, 27 Jul 2026 12:46:08 -0700 (PDT) Received: from ryzen.lan ([2601:644:8000:7a86::e34]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-907e854f5b7sm71788406d6.20.2026.07.27.12.46.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2026 12:46:07 -0700 (PDT) From: Rosen Penev To: linux-kernel@vger.kernel.org Cc: Jassi Brar , Florian Fainelli , Broadcom internal kernel review list , Ray Jui , Scott Branden , linux-rpi-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-arm-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE) Subject: [PATCH] mailbox: bcm2835: use platform_get_irq and simplify probe Date: Mon, 27 Jul 2026 12:46:04 -0700 Message-ID: <20260727194604.11061-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() with platform_get_irq() for the mailbox interrupt lookup, and move IRQ and MMIO resource acquisition to the top of the probe function before any memory allocation. Simplify error handling throughout: use direct return of platform_get_irq and PTR_ERR values, remove the redundant platform_set_drvdata and dev_info log, and inline the final return. Assisted-by: Opencode:Big-Pickle Signed-off-by: Rosen Penev --- drivers/mailbox/bcm2835-mailbox.c | 37 +++++++++++++------------------ 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/drivers/mailbox/bcm2835-mailbox.c b/drivers/mailbox/bcm2835-mailbox.c index ea12fb8d2401..0ca75c378a60 100644 --- a/drivers/mailbox/bcm2835-mailbox.c +++ b/drivers/mailbox/bcm2835-mailbox.c @@ -136,28 +136,30 @@ static struct mbox_chan *bcm2835_mbox_index_xlate(struct mbox_controller *mbox, static int bcm2835_mbox_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; + void __iomem *regs; int ret = 0; + int irq; struct bcm2835_mbox *mbox; + irq = platform_get_irq(pdev, 0); + if (irq < 0) + return irq; + + regs = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(regs)) + return PTR_ERR(regs); + mbox = devm_kzalloc(dev, sizeof(*mbox), GFP_KERNEL); if (mbox == NULL) return -ENOMEM; - spin_lock_init(&mbox->lock); - ret = devm_request_irq(dev, irq_of_parse_and_map(dev->of_node, 0), - bcm2835_mbox_irq, IRQF_NO_SUSPEND, dev_name(dev), - mbox); - if (ret) { - dev_err(dev, "Failed to register a mailbox IRQ handler: %d\n", - ret); - return -ENODEV; - } + spin_lock_init(&mbox->lock); + mbox->regs = regs; - mbox->regs = devm_platform_ioremap_resource(pdev, 0); - if (IS_ERR(mbox->regs)) { - ret = PTR_ERR(mbox->regs); + ret = devm_request_irq(dev, irq, bcm2835_mbox_irq, + IRQF_NO_SUSPEND, dev_name(dev), mbox); + if (ret) return ret; - } mbox->controller.txdone_poll = true; mbox->controller.txpoll_period = 5; @@ -170,14 +172,7 @@ static int bcm2835_mbox_probe(struct platform_device *pdev) if (!mbox->controller.chans) return -ENOMEM; - ret = devm_mbox_controller_register(dev, &mbox->controller); - if (ret) - return ret; - - platform_set_drvdata(pdev, mbox); - dev_info(dev, "mailbox enabled\n"); - - return ret; + return devm_mbox_controller_register(dev, &mbox->controller); } static const struct of_device_id bcm2835_mbox_of_match[] = { -- 2.55.0