mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Dmitry Artamonow <mad_soft@inbox.ru>
To: Samuel Ortiz <sameo@linux.intel.com>
Cc: Dmitry Artamonow <mad_soft@inbox.ru>,
	Paul Parsons <lost.distance@yahoo.com>,
	Philipp Zabel <philipp.zabel@gmail.com>,
	linux-kernel@vger.kernel.org
Subject: [PATCH] mfd: asic3: fix asic3_gpio_to_irq
Date: Thu, 12 Apr 2012 15:33:34 +0400	[thread overview]
Message-ID: <1334230414-1768-1-git-send-email-mad_soft@inbox.ru> (raw)

Assumption that irq numbers of asic3 gpios start at
IRQ_BOARD_START is certainly wrong - driver may as well
use any other base for its irqs (consider for example
the imaginary case of two ASIC3 chips onboard)

Furthermore, some platforms even don't have IRQ_BOARD_START
defined, so driver will fail to build on them:
-------------------------------------------------------
drivers/mfd/asic3.c: In function 'asic3_gpio_to_irq':
drivers/mfd/asic3.c:530: error: 'IRQ_BOARD_START' undeclared (first use in this function)
drivers/mfd/asic3.c:530: error: (Each undeclared identifier is reported only once
drivers/mfd/asic3.c:530: error: for each function it appears in.)
-------------------------------------------------------

Fix it by using irq_base from driver data.

Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
---
 drivers/mfd/asic3.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

For reference: the build failure above can be reproduced
for example when building kernel for some StrongARM
machine, say:
 make h3600_defconfig
 make menuconfig  #enable CONFIG_MFD_ASIC3
 make

diff --git a/drivers/mfd/asic3.c b/drivers/mfd/asic3.c
index 1895cf9..1582c3d 100644
--- a/drivers/mfd/asic3.c
+++ b/drivers/mfd/asic3.c
@@ -527,7 +527,9 @@ static void asic3_gpio_set(struct gpio_chip *chip,
 
 static int asic3_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
 {
-	return (offset < ASIC3_NUM_GPIOS) ? IRQ_BOARD_START + offset : -ENXIO;
+	struct asic3 *asic = container_of(chip, struct asic3, gpio);
+
+	return (offset < ASIC3_NUM_GPIOS) ? asic->irq_base + offset : -ENXIO;
 }
 
 static __init int asic3_gpio_probe(struct platform_device *pdev,
-- 
1.7.5.1.300.gc565c


             reply	other threads:[~2012-04-12 11:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-12 11:33 Dmitry Artamonow [this message]
2012-04-16 16:58 ` Samuel Ortiz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1334230414-1768-1-git-send-email-mad_soft@inbox.ru \
    --to=mad_soft@inbox.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lost.distance@yahoo.com \
    --cc=philipp.zabel@gmail.com \
    --cc=sameo@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®