* Nicolas Pitre nicolas.pi...@linaro.org [110421 16:18]:
On Thu, 21 Apr 2011, Tony Lindgren wrote:
Otherwise we end up overwriting ourselves. This fixes booting
on n900 after commit 6d7d0ae51574943bf571d269da3243257a2d15db
(ARM: 6750/1: improvements to compressed/head.S).
* Kevin Hilman khil...@ti.com [110421 18:12]:
Tony Lindgren t...@atomide.com writes:
Saw that, looks good :) Need to post it also to lakml BTW.
Yeah, I only posted to l-o so far because it's not done. I only removed
a few of the #ifdef sections, there are still several more to do.
Oh I
* Nicolas Pitre nicolas.pi...@linaro.org [110421 20:20]:
On Thu, 21 Apr 2011, Nicolas Pitre wrote:
On Thu, 21 Apr 2011, Nicolas Pitre wrote:
On Thu, 21 Apr 2011, Tony Lindgren wrote:
Otherwise we end up overwriting ourselves. This fixes booting
on n900 after commit
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Suspend/resume/wakeup capabilities are supported only in
OMAP16xx and OMAP2PLUS SoCs. Handle this by using a flag
suspend_resume_support in pdata.
This requires calling omap_gpio_sysinit() as part of probe
instead of having this function as an arch_initcall
Signed-off-by: Charulatha V
Avoid the usage of cpu_is* checks and CONFIG_ARCH_OMAP* checks
from _set_gpio_wakeup and gpio suspend/resume functions.
Signed-off-by: Charulatha V ch...@ti.com
---
arch/arm/plat-omap/gpio.c | 109 ++---
1 files changed, 33 insertions(+), 76 deletions(-)
gpio_get_index() uses cpu_is* checks. Move this function from
plat-omap/gpio.c to SoC specific GPIO files in mach-omap*/ and
use pdata to pass the function pointer.
Signed-off-by: Charulatha V ch...@ti.com
---
arch/arm/mach-omap1/gpio15xx.c | 14 ++
Move omap_gpio_mod_init() from plat-omap/ to mach-omap*/
as this function handles architecture specific GPIO module
initialization.
Provide non_wakeup_gpios information through pdata.
With this change all the cpu_is* checks #ifdef CONFIG_ARCH_OMAP*
will be removed from OMAP GPIO driver.
Also
Cleanup GPIO set trigger and toggle edge triggering
functions by removing the cpu_is checks and the CONFIG_ARCH_*
checks .
Some part of the code access the gpio_bank structure which
is specific to the OMAP GPIO driver. Therefore such part of the
code are handled by means of gpio-method.
gpio_bank_count is the count of number of GPIO devices
in a SoC. Remove this dependency from the driver. Also remove
the dependency on array of pointers to gpio_bank struct of
all GPIO devices.
The cpu_is*() checks used in omap2_gpio_prepare_for_idle() and
omap2_gpio_resume_after_idle() would be
Use dev_info()/dev_err() instead of printk in OMAP GPIO driver
Signed-off-by: Charulatha V ch...@ti.com
---
arch/arm/plat-omap/gpio.c |6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index 9c3e865..7ae9f6f 100644
use chip info to get the pointer to the struct gpio_bank for a
given GPIO bank and remove get_gpio_bank().
Signed-off-by: Charulatha V ch...@ti.com
---
arch/arm/plat-omap/gpio.c | 29 ++---
1 files changed, 2 insertions(+), 27 deletions(-)
diff --git
Remove usage of bank-method to identify CPU specific OMAP GPIO bank.
Instead identify specific features using flags and accordingly manage.
bank-type MPUIO is common for all OMAP1 SoCs. Use bank-stride to
identify the MPUIO type bank
Signed-off-by: Charulatha V ch...@ti.com
---
Remove cpu_is* checks from omap_gpio_show_rev.
Also display GPIO IP version only once as it is not
required to print the IP version of all the banks as
they are the same.
Signed-off-by: Charulatha V ch...@ti.com
---
arch/arm/plat-omap/gpio.c | 17 ++---
1 files changed, 10
gpio_set_debounce(), gpio_prepare_for_idle() and gpio_resume_after_idle()
are specific to OMAP2PLUS CPUs. These functions rely on dbck_enable_mask
which is part of GPIO bank structure.
The above mentioned functions are moved to mach-omap2/gpio.c and the
required information is passed from the
Move GPIO save/restore context to SoC specific file.
Signed-off-by: Charulatha V ch...@ti.com
---
arch/arm/mach-omap2/gpio.c | 78 +++
arch/arm/plat-omap/gpio.c | 91 ---
arch/arm/plat-omap/include/plat/gpio.h |
Remove the usage of register offset macros from
gpio_request/free() APIs.
Instead use the enum omap_gpio_reg_offsets and SoC specific
gpio_read/write functions to access the GPIO registers.
Signed-off-by: Charulatha V ch...@ti.com
---
arch/arm/plat-omap/gpio.c | 65
Remove CONFIG_ARCH_OMAP* checks from gpio_irq_handler.
Also correct the multi-line comment style in the
gpio_irq_handler.
Signed-off-by: Charulatha V ch...@ti.com
---
arch/arm/plat-omap/gpio.c | 70 +---
1 files changed, 27 insertions(+), 43
Modifies the OMAP GPIO driver to avoid usage of cpu_is* checks
for different OMAP architectures. This is done by moving some
architecture specific code to mach-omap* and call them from
plat-omap* using function pointers. Also remove the register offset
macros from OMAP GPIO driver and handle the
gpio_valid() implementation is different for different SoCs.
Hence handle them in SoC specific gpio files.
Signed-off-by: Charulatha V ch...@ti.com
---
arch/arm/mach-omap1/gpio15xx.c | 26 -
arch/arm/mach-omap1/gpio16xx.c | 32 ++
Hi Igor,
On Thu, Apr 21, 2011 at 5:50 PM, Igor Grinberg grinb...@compulab.co.il wrote:
kobject (c06a4250): tried to init an initialized object, something is
seriously wrong.
introduced by commit 66293989:
(omap: convert boards that use SMSC911x to use gpmc-smsc911x)
fixed by allocating
On Thu, 21 Apr 2011, Tony Lindgren wrote:
* Nicolas Pitre nicolas.pi...@linaro.org [110421 20:20]:
I found the bugger. The problem was a bad stack alignment.
.. as this patch won't solve the n900 booting problem with zImage.
With LZMA I'm still also getting LZMA data is corrupt.
Charulatha V ch...@ti.com writes:
gpio_get_index() uses cpu_is* checks. Move this function from
plat-omap/gpio.c to SoC specific GPIO files in mach-omap*/ and
use pdata to pass the function pointer.
Signed-off-by: Charulatha V ch...@ti.com
This one isn't really needed. The index should be
Charulatha V ch...@ti.com writes:
gpio_valid() implementation is different for different SoCs.
Hence handle them in SoC specific gpio files.
Signed-off-by: Charulatha V ch...@ti.com
This one is only moving the mess into SoC-specific code.
Looking closer at the gpio_valid() (and
Charulatha V ch...@ti.com writes:
* Define gpio register offsets in SoC specific GPIO files and use
these register offsets while doing register read/write
* Remove the usage of CONFIG_ARCH_* checks and cpu_is* checks from
the below functions
_set_gpio_direction
Charulatha V ch...@ti.com writes:
gpio_bank_count is the count of number of GPIO devices
in a SoC. Remove this dependency from the driver. Also remove
the dependency on array of pointers to gpio_bank struct of
all GPIO devices.
The cpu_is*() checks used in omap2_gpio_prepare_for_idle() and
Hi Charu,
Charulatha V ch...@ti.com writes:
Modifies the OMAP GPIO driver to avoid usage of cpu_is* checks
for different OMAP architectures. This is done by moving some
architecture specific code to mach-omap* and call them from
plat-omap* using function pointers. Also remove the register
Begin cleanup and consolidation of OMAP GPIO driver by starting the
removal of SoC specifics (ifdefs, cpu_is-* checks, etc.) The primary
method for this is by passing register offsets for common
functionality via platform_data, so the driver can be generic.
This series currently handles the GPIO
In commit 78a1a6d3411de1a8b0dc1cb92754b5f12f251912 (ARM: OMAP4: Update
the GPIO support) braces were mistakenly added to included the
register read-back inside the cpu_is_* checking.
Remove the braces, ensuring that a register read-back is done, even
when the IRQSTATUS2 register is not written.
Remove the OMAP1 #ifdef and MPUIO special case for _clear_gpio_irqbank()
The MPUIOs do not need a register access to ack/clear the IRQ status,
since reading the IRQ status clears it. In addition, the MPUIO
irq_chip has an empty ack method, so _clear_gpio_irqbank() is never
used for MPUIOs.
The get_gpio_index() function, littered with cpu_is_* checks can be easily
replaced by using bitops based on the GPIO bank width. Do so.
Signed-off-by: Kevin Hilman khil...@ti.com
---
arch/arm/plat-omap/gpio.c | 42 +-
1 files changed, 17 insertions(+),
From: Charulatha V ch...@ti.com
use chip info to get the pointer to the struct gpio_bank for a
given GPIO bank and remove get_gpio_bank().
Signed-off-by: Charulatha V ch...@ti.com
---
arch/arm/plat-omap/gpio.c | 29 ++---
1 files changed, 2 insertions(+), 27
Rather than having a file-global bank_width variable, move it into
struct gpio_bank so it can be bank-specific. Note the bank width
is already passed per-bank via platform_data, so current code would
be incorrect if any banks had different width.
Signed-off-by: Kevin Hilman khil...@ti.com
---
Replace hard-coded mask values with bank-width which is already coming
from platform_data.
Signed-off-by: Kevin Hilman khil...@ti.com
---
arch/arm/plat-omap/gpio.c |8 +---
1 files changed, 1 insertions(+), 7 deletions(-)
diff --git a/arch/arm/plat-omap/gpio.c
Cleanup IRQ status handling by by passing IRQ status register offsets
via platform data.
Cleans up clearing of GPIO IRQ status and GPIO ISR handler.
Signed-off-by: Kevin Hilman khil...@ti.com
---
arch/arm/mach-omap1/gpio15xx.c |2 +
arch/arm/mach-omap1/gpio16xx.c |2 +
Register offset defines are moved to plat/gpio.h so they can be used
by SoC-specific device init code to fill out platform_data register offsets.
Signed-off-by: Kevin Hilman khil...@ti.com
---
arch/arm/plat-omap/gpio.c | 103
Cleanup GPIO IRQ enable/disable handling by removing SoC-specific
Also split enable/disable IRQ into separate functions for better
readability and also facilitate potentially moving to generic irq_chip
in the future.
Signed-off-by: Kevin Hilman khil...@ti.com
---
arch/arm/mach-omap1/gpio15xx.c
Signed-off-by: Kevin Hilman khil...@ti.com
---
arch/arm/plat-omap/gpio.c | 74 ++--
1 files changed, 30 insertions(+), 44 deletions(-)
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index 17833c8..1b674fd 100644
---
These functions are useless. They are only called in a few places,
and where they are called, the GPIO has already been converted from an
IRQ or masked, so these functions will never fail.
Signed-off-by: Kevin Hilman khil...@ti.com
---
arch/arm/plat-omap/gpio.c | 45
Use register offsets passed in from pdata for accessing debounce registers.
Signed-off-by: Kevin Hilman khil...@ti.com
---
arch/arm/mach-omap2/gpio.c |4
arch/arm/plat-omap/gpio.c | 15 +++
arch/arm/plat-omap/include/plat/gpio.h |2 ++
3 files
Add register offset fields to GPIO platform_data for registers.
This patch adds registers that control direction, input and output
data. Using these register offsets in the common driver allows
removal of #ifdefs and greatly improves readability.
Also create dedicated data out functions: one
Make _set_gpio_wakeup() generic by removing ifdefs. Code for the
various SoCs/bank-methods was already the same, except for the
non-wakeup GPIO checking. But that flag is set on a per-SoC basis, so
can be used for all SoCs.
While here, use pr_err() and remove GPIO bank calculation assumption
Remove cpu_is_* checks from gpio_show_revision() by passing in the
revision address offset from platform data. SoCs with no revision
register (15xx, 7xx, and all MPUIOs) use -1 to signify no register.
While here, all GPIO banks are assumed to be the same revision, so fix
show_revision() to only
Hi Trinabh,
Trinabh Gupta trin...@linux.vnet.ibm.com writes:
[...]
I just wanted to get comments on the design and understand how it
affects various architectures in question. It looks to me as if the
design should be okay and infact better for architectures like ARM
since they do not have
44 matches
Mail list logo