From: Felipe Balbi <felipe.balbi@nokia.com>
To: ext Charulatha V <charu@ti.com>
Cc: "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"rnayak@ti.com" <rnayak@ti.com>,
"paul@pwsan.com" <paul@pwsan.com>,
"tony@atomide.com" <tony@atomide.com>
Subject: Re: [PATCH 1/8] OMAP:GPIO:Move architecture specific macros to specific header
Date: Thu, 1 Apr 2010 10:17:13 +0300 [thread overview]
Message-ID: <20100401071713.GC16297@nokia.com> (raw)
In-Reply-To: <1270038239-1090-2-git-send-email-charu@ti.com>
Hi,
On Wed, Mar 31, 2010 at 02:23:52PM +0200, ext Charulatha V wrote:
>diff --git a/arch/arm/mach-omap1/include/mach/gpio.h b/arch/arm/mach-omap1/include/mach/gpio.h
>index e737706..c4945d7 100644
>--- a/arch/arm/mach-omap1/include/mach/gpio.h
>+++ b/arch/arm/mach-omap1/include/mach/gpio.h
>@@ -3,3 +3,91 @@
> */
>
> #include <plat/gpio.h>
>+
>+/*
>+ * OMAP1510 GPIO registers
>+ */
>+#define OMAP1510_GPIO_BASE 0xfffce000
>+#define OMAP1510_GPIO_DATA_INPUT 0x00
>+#define OMAP1510_GPIO_DATA_OUTPUT 0x04
>+#define OMAP1510_GPIO_DIR_CONTROL 0x08
>+#define OMAP1510_GPIO_INT_CONTROL 0x0c
>+#define OMAP1510_GPIO_INT_MASK 0x10
>+#define OMAP1510_GPIO_INT_STATUS 0x14
>+#define OMAP1510_GPIO_PIN_CONTROL 0x18
>+
>+#define OMAP1510_IH_GPIO_BASE 64
>+
>+/*
>+ * OMAP1610 specific GPIO registers
>+ */
>+#define OMAP1610_GPIO1_BASE 0xfffbe400
>+#define OMAP1610_GPIO2_BASE 0xfffbec00
>+#define OMAP1610_GPIO3_BASE 0xfffbb400
>+#define OMAP1610_GPIO4_BASE 0xfffbbc00
>+#define OMAP1610_GPIO_REVISION 0x0000
>+#define OMAP1610_GPIO_SYSCONFIG 0x0010
>+#define OMAP1610_GPIO_SYSSTATUS 0x0014
>+#define OMAP1610_GPIO_IRQSTATUS1 0x0018
>+#define OMAP1610_GPIO_IRQENABLE1 0x001c
>+#define OMAP1610_GPIO_WAKEUPENABLE 0x0028
>+#define OMAP1610_GPIO_DATAIN 0x002c
>+#define OMAP1610_GPIO_DATAOUT 0x0030
>+#define OMAP1610_GPIO_DIRECTION 0x0034
>+#define OMAP1610_GPIO_EDGE_CTRL1 0x0038
>+#define OMAP1610_GPIO_EDGE_CTRL2 0x003c
>+#define OMAP1610_GPIO_CLEAR_IRQENABLE1 0x009c
>+#define OMAP1610_GPIO_CLEAR_WAKEUPENA 0x00a8
>+#define OMAP1610_GPIO_CLEAR_DATAOUT 0x00b0
>+#define OMAP1610_GPIO_SET_IRQENABLE1 0x00dc
>+#define OMAP1610_GPIO_SET_WAKEUPENA 0x00e8
>+#define OMAP1610_GPIO_SET_DATAOUT 0x00f0
>+
>+/*
>+ * OMAP7XX specific GPIO registers
>+ */
>+#define OMAP7XX_GPIO1_BASE 0xfffbc000
>+#define OMAP7XX_GPIO2_BASE 0xfffbc800
>+#define OMAP7XX_GPIO3_BASE 0xfffbd000
>+#define OMAP7XX_GPIO4_BASE 0xfffbd800
>+#define OMAP7XX_GPIO5_BASE 0xfffbe000
>+#define OMAP7XX_GPIO6_BASE 0xfffbe800
>+#define OMAP7XX_GPIO_DATA_INPUT 0x00
>+#define OMAP7XX_GPIO_DATA_OUTPUT 0x04
>+#define OMAP7XX_GPIO_DIR_CONTROL 0x08
>+#define OMAP7XX_GPIO_INT_CONTROL 0x0c
>+#define OMAP7XX_GPIO_INT_MASK 0x10
>+#define OMAP7XX_GPIO_INT_STATUS 0x14
>+
>+#define OMAP1_MPUIO_VBASE OMAP1_MPUIO_BASE
>+#define OMAP1_MPUIO_BASE 0xfffb5000
>+
>+#if (defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850))
>+#define OMAP_MPUIO_INPUT_LATCH 0x00
>+#define OMAP_MPUIO_OUTPUT 0x02
>+#define OMAP_MPUIO_IO_CNTL 0x04
>+#define OMAP_MPUIO_KBR_LATCH 0x08
>+#define OMAP_MPUIO_KBC 0x0a
>+#define OMAP_MPUIO_GPIO_EVENT_MODE 0x0c
>+#define OMAP_MPUIO_GPIO_INT_EDGE 0x0e
>+#define OMAP_MPUIO_KBD_INT 0x10
>+#define OMAP_MPUIO_GPIO_INT 0x12
>+#define OMAP_MPUIO_KBD_MASKIT 0x14
>+#define OMAP_MPUIO_GPIO_MASKIT 0x16
>+#define OMAP_MPUIO_GPIO_DEBOUNCING 0x18
>+#define OMAP_MPUIO_LATCH 0x1a
>+#else
>+#define OMAP_MPUIO_INPUT_LATCH 0x00
>+#define OMAP_MPUIO_OUTPUT 0x04
>+#define OMAP_MPUIO_IO_CNTL 0x08
>+#define OMAP_MPUIO_KBR_LATCH 0x10
>+#define OMAP_MPUIO_KBC 0x14
>+#define OMAP_MPUIO_GPIO_EVENT_MODE 0x18
>+#define OMAP_MPUIO_GPIO_INT_EDGE 0x1c
>+#define OMAP_MPUIO_KBD_INT 0x20
>+#define OMAP_MPUIO_GPIO_INT 0x24
>+#define OMAP_MPUIO_KBD_MASKIT 0x28
>+#define OMAP_MPUIO_GPIO_MASKIT 0x2c
>+#define OMAP_MPUIO_GPIO_DEBOUNCING 0x30
>+#define OMAP_MPUIO_LATCH 0x34
>+#endif
Add prefixes to these defines and remove the ifdefs.
This breaks multi-omap builds.
>-struct gpio_bank {
>- unsigned long pbase;
>- void __iomem *base;
>- u16 irq;
>- u16 virtual_irq_start;
>- int method;
>-#if defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP2PLUS)
>- u32 suspend_wakeup;
>- u32 saved_wakeup;
>-#endif
>-#ifdef CONFIG_ARCH_OMAP2PLUS
>- u32 non_wakeup_gpios;
>- u32 enabled_non_wakeup_gpios;
>-
>- u32 saved_datain;
>- u32 saved_fallingdetect;
>- u32 saved_risingdetect;
>-#endif
>- u32 level_mask;
>- u32 toggle_mask;
>- spinlock_t lock;
>- struct gpio_chip chip;
>- struct clk *dbck;
>- u32 mod_usage;
>-};
defines are fine, but this structure belongs to this driver. Nobody else
should need to poke on it. Keep it here.
>@@ -625,10 +421,12 @@ void omap_set_gpio_debounce(int gpio, int enable)
> bank = get_gpio_bank(gpio);
> reg = bank->base;
>
>+#ifdef CONFIG_ARCH_OMAP2PLUS
> if (cpu_is_omap44xx())
> reg += OMAP4_GPIO_DEBOUNCENABLE;
> else
> reg += OMAP24XX_GPIO_DEBOUNCE_EN;
>+#endif
you should try to remove ifdefs not add more.
--
balbi
next prev parent reply other threads:[~2010-04-01 7:17 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-31 12:23 [PATCH 0/8 RFC] OMAP: GPIO: Split OMAP1 and OMAP2PLUS Charulatha V
2010-03-31 12:23 ` [PATCH 1/8] OMAP:GPIO:Move architecture specific macros to specific header Charulatha V
2010-03-31 12:23 ` [PATCH 2/8] OMAP3:GPIO:Add support for early platform gpio device Charulatha V
2010-03-31 12:23 ` [PATCH 3/8] OMAP2:GPIO:Add " Charulatha V
2010-03-31 12:23 ` [PATCH 4/8] OMAP4:GPIO:Add " Charulatha V
2010-03-31 12:23 ` [PATCH 5/8] OMAP2PLUS:GPIO:Add OMAP2PLUS specific gpio support Charulatha V
2010-03-31 12:23 ` [PATCH 6/8] OMAP1:GPIO:Support for OMAP1 specific gpio Charulatha V
2010-03-31 12:23 ` [PATCH 7/8] OMAP2PLUS:GPIO:Move gpio_init from board files to init_common_hw Charulatha V
2010-03-31 12:23 ` [PATCH 8/8] OMAP:GPIO:Common platform code for all OMAPs Charulatha V
2010-04-01 9:34 ` Tony Lindgren
2010-04-01 9:32 ` [PATCH 7/8] OMAP2PLUS:GPIO:Move gpio_init from board files to init_common_hw Tony Lindgren
2010-04-01 10:50 ` Varadarajan, Charulatha
2010-04-06 22:13 ` Kevin Hilman
2010-04-01 9:30 ` [PATCH 5/8] OMAP2PLUS:GPIO:Add OMAP2PLUS specific gpio support Tony Lindgren
2010-04-06 22:08 ` Kevin Hilman
2010-04-01 7:26 ` [PATCH 3/8] OMAP2:GPIO:Add support for early platform gpio device Felipe Balbi
2010-04-01 8:53 ` Varadarajan, Charulatha
2010-04-01 8:58 ` Felipe Balbi
2010-04-01 9:16 ` Varadarajan, Charulatha
2010-04-01 7:23 ` [PATCH 2/8] OMAP3:GPIO:Add " Felipe Balbi
2010-04-01 8:58 ` Varadarajan, Charulatha
2010-04-01 9:12 ` Tony Lindgren
2010-04-01 9:19 ` Varadarajan, Charulatha
2010-04-01 9:13 ` Tony Lindgren
2010-04-01 10:49 ` Varadarajan, Charulatha
2010-04-01 9:31 ` Tony Lindgren
2010-04-01 10:50 ` Varadarajan, Charulatha
2010-04-01 7:17 ` Felipe Balbi [this message]
2010-04-01 8:52 ` [PATCH 1/8] OMAP:GPIO:Move architecture specific macros to specific header Varadarajan, Charulatha
2010-04-01 9:00 ` Felipe Balbi
2010-04-01 9:41 ` Tony Lindgren
2010-04-01 10:50 ` Varadarajan, Charulatha
2010-04-06 22:31 ` [PATCH 0/8 RFC] OMAP: GPIO: Split OMAP1 and OMAP2PLUS Kevin Hilman
2010-04-12 12:16 ` Varadarajan, Charulatha
2010-04-19 14:31 ` Kevin Hilman
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=20100401071713.GC16297@nokia.com \
--to=felipe.balbi@nokia.com \
--cc=charu@ti.com \
--cc=linux-omap@vger.kernel.org \
--cc=paul@pwsan.com \
--cc=rnayak@ti.com \
--cc=tony@atomide.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.