Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] Please pull tegra board updates for .39
From: Olof Johansson @ 2011-02-22 20:40 UTC (permalink / raw)
  To: linux-arm-kernel

Colin,

The following changes since commit 92591f0c0e55f647ea0718711178bbeb2a261374:
  Colin Cross (1):
        ARM: tegra: common: Enable core clocks

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra-2.6.git
boards-for-next

Olof Johansson (7):
      ARM: tegra: add tegra_gpio_table and tegra_gpio_config
      ARM: tegra: harmony: move over to tegra_gpio_config
      ARM: tegra: common device resources
      ARM: tegra: remove stale nvidia atag handler
      ARM: tegra: harmony: register sdhci devices
      ARM: tegra: harmony: fix pinmux for MMC slot
      ARM: tegra: add seaboard, wario and kaen boards

 arch/arm/mach-tegra/Kconfig                 |   19 +
 arch/arm/mach-tegra/Makefile                |    4 +
 arch/arm/mach-tegra/board-harmony-pinmux.c  |   19 +-
 arch/arm/mach-tegra/board-harmony.c         |   55 ++--
 arch/arm/mach-tegra/board-seaboard-pinmux.c |  179 ++++++++++
 arch/arm/mach-tegra/board-seaboard.c        |  196 +++++++++++
 arch/arm/mach-tegra/board-seaboard.h        |   38 ++
 arch/arm/mach-tegra/devices.c               |  505 +++++++++++++++++++++++++++
 arch/arm/mach-tegra/devices.h               |   46 +++
 arch/arm/mach-tegra/gpio.c                  |   14 +
 arch/arm/mach-tegra/include/mach/gpio.h     |    7 +
 11 files changed, 1054 insertions(+), 28 deletions(-)
 create mode 100644 arch/arm/mach-tegra/board-seaboard-pinmux.c
 create mode 100644 arch/arm/mach-tegra/board-seaboard.c
 create mode 100644 arch/arm/mach-tegra/board-seaboard.h
 create mode 100644 arch/arm/mach-tegra/devices.c
 create mode 100644 arch/arm/mach-tegra/devices.h

^ permalink raw reply

* [PATCH] ARM: Thumb-2: Reflect ARM/Thumb-2 configuration in module vermagic
From: Nicolas Pitre @ 2011-02-22 20:35 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20110222202514.GC29559@n2100.arm.linux.org.uk>

On Tue, 22 Feb 2011, Russell King - ARM Linux wrote:

> On Tue, Feb 22, 2011 at 03:03:46PM -0500, Nicolas Pitre wrote:
> > On Tue, 22 Feb 2011, Dave Martin wrote:
> > 
> > > Loading Thumb-2 modules into an ARM kernel or vice-versa isn't
> > > guaranteed to work safely, since the kernel is not interworking-
> > > aware everywhere.
> > 
> > Too bad.
> > 
> > > This patch adds "thumb2" to the module vermagic when
> > > CONFIG_THUMB2_KERNEL is enabled, to help avoid accidental loading
> > > of modules into the wrong kernel.
> > > 
> > > Signed-off-by: Dave Martin <dave.martin@linaro.org>
> > 
> > Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
> 
> Lets wait until after the next merge window has gone, or let's have a
> patch which takes account of stuff already merged.  Either way, there
> little point acking it as it needs an effective rewrite to fit around
> the P2V changes to this file.

It certainly can be made to apply on top of your p2v-stable branch.


Nicolas

^ permalink raw reply

* [PATCH] ARM: tegra: Hide EMC scaling config behind ARCH_TEGRA
From: Mark Brown @ 2011-02-22 20:35 UTC (permalink / raw)
  To: linux-arm-kernel

The option isn't terribly useful on other ARM platforms.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 arch/arm/mach-tegra/Kconfig |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
index cac8a79..bdf52f0 100644
--- a/arch/arm/mach-tegra/Kconfig
+++ b/arch/arm/mach-tegra/Kconfig
@@ -64,7 +64,7 @@ config TEGRA_SYSTEM_DMA
 	  Adds system DMA functionality for NVIDIA Tegra SoCs, used by
 	  several Tegra device drivers
 
-endif
-
 config TEGRA_EMC_SCALING_ENABLE
 	bool "Enable scaling the memory frequency"
+
+endif
-- 
1.7.2.3

^ permalink raw reply related

* [PATCHv3] amba: support pm ops
From: Rafael J. Wysocki @ 2011-02-22 20:28 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20110222201529.GB29559@n2100.arm.linux.org.uk>

On Tuesday, February 22, 2011, Russell King - ARM Linux wrote:
> On Tue, Feb 22, 2011 at 09:02:14PM +0100, Rafael J. Wysocki wrote:
> > On Tuesday, February 22, 2011, Rabin Vincent wrote:
> > > Support pm_ops in the AMBA bus, required to allow drivers to use runtime pm.
> > > The implementation of AMBA bus pm ops is based on the platform bus
> > > implementation.
> > > 
> > > Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
> > > Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
> > 
> > Looks good.
> > 
> > Who's supposed to take it?
> 
> Does this help?
> 
> ARM PRIMECELL BUS SUPPORT
> M:      Russell King <linux@arm.linux.org.uk>
> S:      Maintained
> F:      drivers/amba/
> F:      include/linux/amba/bus.h

Still, it's power management, right?

Anyway, I guess that means you're going to take care of it. :-)

Thanks,
Rafael

^ permalink raw reply

* [PATCH] ARM: fix build failure
From: Uwe Kleine-König @ 2011-02-22 20:26 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20110222201842.GB31275@n2100.arm.linux.org.uk>

Commit

	06824ba (ARM: tlb: delay page freeing for SMP and ARMv7 CPUs)

introduced a build failure for builds with CONFIG_SWAP=n:

	In file included from arch/arm/mm/init.c:27:
	arch/arm/include/asm/tlb.h: In function 'tlb_flush_mmu':
	arch/arm/include/asm/tlb.h:101: error: implicit declaration of function 'release_pages'
	arch/arm/include/asm/tlb.h: In function 'tlb_remove_page':
	arch/arm/include/asm/tlb.h:165: error: implicit declaration of function 'page_cache_release'

Fix that by #including <linux/pagemap.h> in <asm/pgalloc.h> as it's done
by x86.

Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>
---
 arch/arm/include/asm/pgalloc.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/arm/include/asm/pgalloc.h b/arch/arm/include/asm/pgalloc.h
index 9763be0..22de005 100644
--- a/arch/arm/include/asm/pgalloc.h
+++ b/arch/arm/include/asm/pgalloc.h
@@ -10,6 +10,8 @@
 #ifndef _ASMARM_PGALLOC_H
 #define _ASMARM_PGALLOC_H
 
+#include <linux/pagemap.h>
+
 #include <asm/domain.h>
 #include <asm/pgtable-hwdef.h>
 #include <asm/processor.h>
-- 
1.7.2.3

^ permalink raw reply related

* [PATCH] ARM: Thumb-2: Reflect ARM/Thumb-2 configuration in module vermagic
From: Russell King - ARM Linux @ 2011-02-22 20:25 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <alpine.LFD.2.00.1102221502160.14920@xanadu.home>

On Tue, Feb 22, 2011 at 03:03:46PM -0500, Nicolas Pitre wrote:
> On Tue, 22 Feb 2011, Dave Martin wrote:
> 
> > Loading Thumb-2 modules into an ARM kernel or vice-versa isn't
> > guaranteed to work safely, since the kernel is not interworking-
> > aware everywhere.
> 
> Too bad.
> 
> > This patch adds "thumb2" to the module vermagic when
> > CONFIG_THUMB2_KERNEL is enabled, to help avoid accidental loading
> > of modules into the wrong kernel.
> > 
> > Signed-off-by: Dave Martin <dave.martin@linaro.org>
> 
> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>

Lets wait until after the next merge window has gone, or let's have a
patch which takes account of stuff already merged.  Either way, there
little point acking it as it needs an effective rewrite to fit around
the P2V changes to this file.

^ permalink raw reply

* [PATCH] ARM: Fix compile after delay page freeing patch
From: Tony Lindgren @ 2011-02-22 20:20 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20110222195929.GA31275@n2100.arm.linux.org.uk>

* Russell King - ARM Linux <linux@arm.linux.org.uk> [110222 11:57]:
> On Tue, Feb 22, 2011 at 11:43:32AM -0800, Tony Lindgren wrote:
> > Commit 06824ba824b3e9f2fedb38bee79af0643198ed7f
> > (ARM: tlb: delay page freeing for SMP and ARMv7 CPUs) causes
> > the following compile error for at least omap1_defconfig:
> > 
> > In file included from arch/arm/mm/init.c:27:
> > arch/arm/include/asm/tlb.h: In function 'tlb_flush_mmu':
> > arch/arm/include/asm/tlb.h:101: error: implicit declaration of function 'release_pages'
> > arch/arm/include/asm/tlb.h: In function 'tlb_remove_page':
> > arch/arm/include/asm/tlb.h:165: error: implicit declaration of function 'page_cache_release'
> 
> Grant already mentioned this to me this evening.
> 
> This happens if you build with CONFIG_SWAP=n, and is something that the
> asm-generic/tlb.h also appears to suffer from.  Why no one else has
> noticed this I've no idea.
> 
> Note that linux/swap.h has this comment:
> 
> /* only sparc can not include linux/pagemap.h in this file
>  * so leave page_cache_release and release_pages undeclared... */
> #define free_page_and_swap_cache(page) \
>         page_cache_release(page)
> #define free_pages_and_swap_cache(pages, nr) \
>         release_pages((pages), (nr), 0);
> 
> which is rather annoying, because it makes the build error dependent on
> the configuration.
> 
> So, we should add linux/pagemap.h to both asm-generic/tlb.h and the ARM
> tlb.h as they both should suffer the same problem.
> 
> Note that arch/x86/mm/init.c and arch/x86/mm/pgtable.c both include
> asm/tlb.h without linux/pagemap.h, and use the generic version.  I bet
> no one's tried building x86 with CONFIG_SWAP=n yet...

Looks like it's in arch/x86/mm/init_[32|64].c and pgtable[32|64].c
though. So maybe we just need to patch either ARM tlb.h. Or patch
the necessary .c files to include pagemap.h.

Regards,

Tony

^ permalink raw reply

* [PATCH] ARM: Fix compile after delay page freeing patch
From: Russell King - ARM Linux @ 2011-02-22 20:18 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20110222201047.GE22310@pengutronix.de>

On Tue, Feb 22, 2011 at 09:10:47PM +0100, Uwe Kleine-K?nig wrote:
> Hello Russell,
> 
> On Tue, Feb 22, 2011 at 07:59:29PM +0000, Russell King - ARM Linux wrote:
> > Note that arch/x86/mm/init.c and arch/x86/mm/pgtable.c both include
> > asm/tlb.h without linux/pagemap.h, and use the generic version.  I bet
> > no one's tried building x86 with CONFIG_SWAP=n yet...
> I did, and it doesn't fail.
> 
> include/asm-generic/tlb.h includes <asm/pgalloc.h> which for x86
> includes <linux/pagemap.h>

Maybe then we should add linux/pagemap.h to our asm/pgalloc.h.

^ permalink raw reply

* [PATCH 1/2] Add a common struct clk
From: Uwe Kleine-König @ 2011-02-22 20:17 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1298256658.862188.178150188637.1.gpush@pororo>

Hi Jeremy,

On Mon, Feb 21, 2011 at 10:50:58AM +0800, Jeremy Kerr wrote:
> diff --git a/include/linux/clk.h b/include/linux/clk.h
> index 1d37f42..604be74 100644
> --- a/include/linux/clk.h
> +++ b/include/linux/clk.h
> @@ -11,18 +12,168 @@
> ...
> +#ifdef CONFIG_USE_COMMON_STRUCT_CLK
> ...
> +#else /* !CONFIG_USE_COMMON_STRUCT_CLK */
>  
>  /*
> - * struct clk - an machine class defined object / cookie.
> + * Global clock object, actual structure is declared per-machine
>   */
>  struct clk;
>  
> +static inline void clk_common_init(struct clk *clk) { }
> +
> +/*
> + * For !CONFIG_USE_COMMON_STRUCT_CLK, we don't enforce any atomicity
> + * requirements for clk_enable/clk_disable, so the prepare and unprepare
> + * functions are no-ops
> + */
> +int clk_prepare(struct clk *clk) { return 0; }
> +void clk_unprepare(struct clk *clk) { }
these should be static inline.  Otherwise these functions end up in many
files and so provoke a build failure.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

^ permalink raw reply

* [PATCHv3] amba: support pm ops
From: Russell King - ARM Linux @ 2011-02-22 20:15 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <201102222102.15089.rjw@sisk.pl>

On Tue, Feb 22, 2011 at 09:02:14PM +0100, Rafael J. Wysocki wrote:
> On Tuesday, February 22, 2011, Rabin Vincent wrote:
> > Support pm_ops in the AMBA bus, required to allow drivers to use runtime pm.
> > The implementation of AMBA bus pm ops is based on the platform bus
> > implementation.
> > 
> > Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
> > Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
> 
> Looks good.
> 
> Who's supposed to take it?

Does this help?

ARM PRIMECELL BUS SUPPORT
M:      Russell King <linux@arm.linux.org.uk>
S:      Maintained
F:      drivers/amba/
F:      include/linux/amba/bus.h

^ permalink raw reply

* [PATCH] ARM: Fix compile after delay page freeing patch
From: Uwe Kleine-König @ 2011-02-22 20:10 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20110222195929.GA31275@n2100.arm.linux.org.uk>

Hello Russell,

On Tue, Feb 22, 2011 at 07:59:29PM +0000, Russell King - ARM Linux wrote:
> Note that arch/x86/mm/init.c and arch/x86/mm/pgtable.c both include
> asm/tlb.h without linux/pagemap.h, and use the generic version.  I bet
> no one's tried building x86 with CONFIG_SWAP=n yet...
I did, and it doesn't fail.

include/asm-generic/tlb.h includes <asm/pgalloc.h> which for x86
includes <linux/pagemap.h>

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

^ permalink raw reply

* [PATCH] ARM: Thumb-2: Reflect ARM/Thumb-2 configuration in module vermagic
From: Nicolas Pitre @ 2011-02-22 20:03 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1298382538-15682-1-git-send-email-dave.martin@linaro.org>

On Tue, 22 Feb 2011, Dave Martin wrote:

> Loading Thumb-2 modules into an ARM kernel or vice-versa isn't
> guaranteed to work safely, since the kernel is not interworking-
> aware everywhere.

Too bad.

> This patch adds "thumb2" to the module vermagic when
> CONFIG_THUMB2_KERNEL is enabled, to help avoid accidental loading
> of modules into the wrong kernel.
> 
> Signed-off-by: Dave Martin <dave.martin@linaro.org>

Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>



> ---
>  arch/arm/include/asm/module.h |   11 +++++++++--
>  1 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/include/asm/module.h b/arch/arm/include/asm/module.h
> index 12c8e68..09fcaa0 100644
> --- a/arch/arm/include/asm/module.h
> +++ b/arch/arm/include/asm/module.h
> @@ -25,8 +25,15 @@ struct mod_arch_specific {
>  };
>  
>  /*
> - * Include the ARM architecture version.
> + * Include the ARM architecture version and instruction set architecture.
>   */
> -#define MODULE_ARCH_VERMAGIC	"ARMv" __stringify(__LINUX_ARM_ARCH__) " "
> +#ifdef CONFIG_THUMB2_KERNEL
> +#define ARM_ARCH_VERMAGIC_ISAFAMILY " thumb2"
> +#else
> +#define ARM_ARCH_VERMAGIC_ISAFAMILY ""
> +#endif
> +
> +#define MODULE_ARCH_VERMAGIC	"ARMv" __stringify(__LINUX_ARM_ARCH__) \
> +	ARM_ARCH_VERMAGIC_ISAFAMILY " "
>  
>  #endif /* _ASM_ARM_MODULE_H */
> -- 
> 1.7.1
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 

^ permalink raw reply

* [PATCHv3] amba: support pm ops
From: Rafael J. Wysocki @ 2011-02-22 20:02 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1298353261-22193-1-git-send-email-rabin.vincent@stericsson.com>

On Tuesday, February 22, 2011, Rabin Vincent wrote:
> Support pm_ops in the AMBA bus, required to allow drivers to use runtime pm.
> The implementation of AMBA bus pm ops is based on the platform bus
> implementation.
> 
> Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
> Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>

Looks good.

Who's supposed to take it?

Rafael


> ---
> v3: add a missing header. don't keep an empty dev_pm_ops struct when it's
>     not used.
> 
>  drivers/amba/bus.c       |  340 ++++++++++++++++++++++++++++++++++++++++++---
>  include/linux/amba/bus.h |    2 +
>  2 files changed, 319 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c
> index ca96b0a..7d38981 100644
> --- a/drivers/amba/bus.c
> +++ b/drivers/amba/bus.c
> @@ -13,12 +13,13 @@
>  #include <linux/string.h>
>  #include <linux/slab.h>
>  #include <linux/io.h>
> +#include <linux/pm.h>
> +#include <linux/pm_runtime.h>
>  #include <linux/amba/bus.h>
>  
>  #include <asm/irq.h>
>  #include <asm/sizes.h>
>  
> -#define to_amba_device(d)	container_of(d, struct amba_device, dev)
>  #define to_amba_driver(d)	container_of(d, struct amba_driver, drv)
>  
>  static struct amba_id *
> @@ -57,26 +58,6 @@ static int amba_uevent(struct device *dev, struct kobj_uevent_env *env)
>  #define amba_uevent NULL
>  #endif
>  
> -static int amba_suspend(struct device *dev, pm_message_t state)
> -{
> -	struct amba_driver *drv = to_amba_driver(dev->driver);
> -	int ret = 0;
> -
> -	if (dev->driver && drv->suspend)
> -		ret = drv->suspend(to_amba_device(dev), state);
> -	return ret;
> -}
> -
> -static int amba_resume(struct device *dev)
> -{
> -	struct amba_driver *drv = to_amba_driver(dev->driver);
> -	int ret = 0;
> -
> -	if (dev->driver && drv->resume)
> -		ret = drv->resume(to_amba_device(dev));
> -	return ret;
> -}
> -
>  #define amba_attr_func(name,fmt,arg...)					\
>  static ssize_t name##_show(struct device *_dev,				\
>  			   struct device_attribute *attr, char *buf)	\
> @@ -102,6 +83,320 @@ static struct device_attribute amba_dev_attrs[] = {
>  	__ATTR_NULL,
>  };
>  
> +#ifdef CONFIG_PM_SLEEP
> +
> +static int amba_legacy_suspend(struct device *dev, pm_message_t mesg)
> +{
> +	struct amba_driver *adrv = to_amba_driver(dev->driver);
> +	struct amba_device *adev = to_amba_device(dev);
> +	int ret = 0;
> +
> +	if (dev->driver && adrv->suspend)
> +		ret = adrv->suspend(adev, mesg);
> +
> +	return ret;
> +}
> +
> +static int amba_legacy_resume(struct device *dev)
> +{
> +	struct amba_driver *adrv = to_amba_driver(dev->driver);
> +	struct amba_device *adev = to_amba_device(dev);
> +	int ret = 0;
> +
> +	if (dev->driver && adrv->resume)
> +		ret = adrv->resume(adev);
> +
> +	return ret;
> +}
> +
> +static int amba_pm_prepare(struct device *dev)
> +{
> +	struct device_driver *drv = dev->driver;
> +	int ret = 0;
> +
> +	if (drv && drv->pm && drv->pm->prepare)
> +		ret = drv->pm->prepare(dev);
> +
> +	return ret;
> +}
> +
> +static void amba_pm_complete(struct device *dev)
> +{
> +	struct device_driver *drv = dev->driver;
> +
> +	if (drv && drv->pm && drv->pm->complete)
> +		drv->pm->complete(dev);
> +}
> +
> +#else /* !CONFIG_PM_SLEEP */
> +
> +#define amba_pm_prepare		NULL
> +#define amba_pm_complete		NULL
> +
> +#endif /* !CONFIG_PM_SLEEP */
> +
> +#ifdef CONFIG_SUSPEND
> +
> +static int amba_pm_suspend(struct device *dev)
> +{
> +	struct device_driver *drv = dev->driver;
> +	int ret = 0;
> +
> +	if (!drv)
> +		return 0;
> +
> +	if (drv->pm) {
> +		if (drv->pm->suspend)
> +			ret = drv->pm->suspend(dev);
> +	} else {
> +		ret = amba_legacy_suspend(dev, PMSG_SUSPEND);
> +	}
> +
> +	return ret;
> +}
> +
> +static int amba_pm_suspend_noirq(struct device *dev)
> +{
> +	struct device_driver *drv = dev->driver;
> +	int ret = 0;
> +
> +	if (!drv)
> +		return 0;
> +
> +	if (drv->pm) {
> +		if (drv->pm->suspend_noirq)
> +			ret = drv->pm->suspend_noirq(dev);
> +	}
> +
> +	return ret;
> +}
> +
> +static int amba_pm_resume(struct device *dev)
> +{
> +	struct device_driver *drv = dev->driver;
> +	int ret = 0;
> +
> +	if (!drv)
> +		return 0;
> +
> +	if (drv->pm) {
> +		if (drv->pm->resume)
> +			ret = drv->pm->resume(dev);
> +	} else {
> +		ret = amba_legacy_resume(dev);
> +	}
> +
> +	return ret;
> +}
> +
> +static int amba_pm_resume_noirq(struct device *dev)
> +{
> +	struct device_driver *drv = dev->driver;
> +	int ret = 0;
> +
> +	if (!drv)
> +		return 0;
> +
> +	if (drv->pm) {
> +		if (drv->pm->resume_noirq)
> +			ret = drv->pm->resume_noirq(dev);
> +	}
> +
> +	return ret;
> +}
> +
> +#else /* !CONFIG_SUSPEND */
> +
> +#define amba_pm_suspend		NULL
> +#define amba_pm_resume		NULL
> +#define amba_pm_suspend_noirq	NULL
> +#define amba_pm_resume_noirq	NULL
> +
> +#endif /* !CONFIG_SUSPEND */
> +
> +#ifdef CONFIG_HIBERNATION
> +
> +static int amba_pm_freeze(struct device *dev)
> +{
> +	struct device_driver *drv = dev->driver;
> +	int ret = 0;
> +
> +	if (!drv)
> +		return 0;
> +
> +	if (drv->pm) {
> +		if (drv->pm->freeze)
> +			ret = drv->pm->freeze(dev);
> +	} else {
> +		ret = amba_legacy_suspend(dev, PMSG_FREEZE);
> +	}
> +
> +	return ret;
> +}
> +
> +static int amba_pm_freeze_noirq(struct device *dev)
> +{
> +	struct device_driver *drv = dev->driver;
> +	int ret = 0;
> +
> +	if (!drv)
> +		return 0;
> +
> +	if (drv->pm) {
> +		if (drv->pm->freeze_noirq)
> +			ret = drv->pm->freeze_noirq(dev);
> +	}
> +
> +	return ret;
> +}
> +
> +static int amba_pm_thaw(struct device *dev)
> +{
> +	struct device_driver *drv = dev->driver;
> +	int ret = 0;
> +
> +	if (!drv)
> +		return 0;
> +
> +	if (drv->pm) {
> +		if (drv->pm->thaw)
> +			ret = drv->pm->thaw(dev);
> +	} else {
> +		ret = amba_legacy_resume(dev);
> +	}
> +
> +	return ret;
> +}
> +
> +static int amba_pm_thaw_noirq(struct device *dev)
> +{
> +	struct device_driver *drv = dev->driver;
> +	int ret = 0;
> +
> +	if (!drv)
> +		return 0;
> +
> +	if (drv->pm) {
> +		if (drv->pm->thaw_noirq)
> +			ret = drv->pm->thaw_noirq(dev);
> +	}
> +
> +	return ret;
> +}
> +
> +static int amba_pm_poweroff(struct device *dev)
> +{
> +	struct device_driver *drv = dev->driver;
> +	int ret = 0;
> +
> +	if (!drv)
> +		return 0;
> +
> +	if (drv->pm) {
> +		if (drv->pm->poweroff)
> +			ret = drv->pm->poweroff(dev);
> +	} else {
> +		ret = amba_legacy_suspend(dev, PMSG_HIBERNATE);
> +	}
> +
> +	return ret;
> +}
> +
> +static int amba_pm_poweroff_noirq(struct device *dev)
> +{
> +	struct device_driver *drv = dev->driver;
> +	int ret = 0;
> +
> +	if (!drv)
> +		return 0;
> +
> +	if (drv->pm) {
> +		if (drv->pm->poweroff_noirq)
> +			ret = drv->pm->poweroff_noirq(dev);
> +	}
> +
> +	return ret;
> +}
> +
> +static int amba_pm_restore(struct device *dev)
> +{
> +	struct device_driver *drv = dev->driver;
> +	int ret = 0;
> +
> +	if (!drv)
> +		return 0;
> +
> +	if (drv->pm) {
> +		if (drv->pm->restore)
> +			ret = drv->pm->restore(dev);
> +	} else {
> +		ret = amba_legacy_resume(dev);
> +	}
> +
> +	return ret;
> +}
> +
> +static int amba_pm_restore_noirq(struct device *dev)
> +{
> +	struct device_driver *drv = dev->driver;
> +	int ret = 0;
> +
> +	if (!drv)
> +		return 0;
> +
> +	if (drv->pm) {
> +		if (drv->pm->restore_noirq)
> +			ret = drv->pm->restore_noirq(dev);
> +	}
> +
> +	return ret;
> +}
> +
> +#else /* !CONFIG_HIBERNATION */
> +
> +#define amba_pm_freeze		NULL
> +#define amba_pm_thaw		NULL
> +#define amba_pm_poweroff		NULL
> +#define amba_pm_restore		NULL
> +#define amba_pm_freeze_noirq	NULL
> +#define amba_pm_thaw_noirq		NULL
> +#define amba_pm_poweroff_noirq	NULL
> +#define amba_pm_restore_noirq	NULL
> +
> +#endif /* !CONFIG_HIBERNATION */
> +
> +#ifdef CONFIG_PM
> +
> +static const struct dev_pm_ops amba_pm = {
> +	.prepare	= amba_pm_prepare,
> +	.complete	= amba_pm_complete,
> +	.suspend	= amba_pm_suspend,
> +	.resume		= amba_pm_resume,
> +	.freeze		= amba_pm_freeze,
> +	.thaw		= amba_pm_thaw,
> +	.poweroff	= amba_pm_poweroff,
> +	.restore	= amba_pm_restore,
> +	.suspend_noirq	= amba_pm_suspend_noirq,
> +	.resume_noirq	= amba_pm_resume_noirq,
> +	.freeze_noirq	= amba_pm_freeze_noirq,
> +	.thaw_noirq	= amba_pm_thaw_noirq,
> +	.poweroff_noirq	= amba_pm_poweroff_noirq,
> +	.restore_noirq	= amba_pm_restore_noirq,
> +	SET_RUNTIME_PM_OPS(
> +		pm_generic_runtime_suspend,
> +		pm_generic_runtime_resume,
> +		pm_generic_runtime_idle
> +	)
> +};
> +
> +#define AMBA_PM (&amba_pm)
> +
> +#else /* !CONFIG_PM */
> +
> +#define AMBA_PM	NULL
> +
> +#endif /* !CONFIG_PM */
> +
>  /*
>   * Primecells are part of the Advanced Microcontroller Bus Architecture,
>   * so we call the bus "amba".
> @@ -111,8 +406,7 @@ struct bus_type amba_bustype = {
>  	.dev_attrs	= amba_dev_attrs,
>  	.match		= amba_match,
>  	.uevent		= amba_uevent,
> -	.suspend	= amba_suspend,
> -	.resume		= amba_resume,
> +	.pm		= AMBA_PM,
>  };
>  
>  static int __init amba_init(void)
> diff --git a/include/linux/amba/bus.h b/include/linux/amba/bus.h
> index a0ccf28..1849975 100644
> --- a/include/linux/amba/bus.h
> +++ b/include/linux/amba/bus.h
> @@ -58,6 +58,8 @@ enum amba_vendor {
>  
>  extern struct bus_type amba_bustype;
>  
> +#define to_amba_device(d)	container_of(d, struct amba_device, dev)
> +
>  #define amba_get_drvdata(d)	dev_get_drvdata(&d->dev)
>  #define amba_set_drvdata(d,p)	dev_set_drvdata(&d->dev, p)
>  
> 

^ permalink raw reply

* [PATCH] ARM: Fix compile after delay page freeing patch
From: Uwe Kleine-König @ 2011-02-22 20:01 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <4D6413D9.7080906@ru.mvista.com>

On Tue, Feb 22, 2011 at 10:51:53PM +0300, Sergei Shtylyov wrote:
> Hello.
> 
> Tony Lindgren wrote:
> 
> >Commit 06824ba824b3e9f2fedb38bee79af0643198ed7f
> >(ARM: tlb: delay page freeing for SMP and ARMv7 CPUs) causes
> >the following compile error for at least omap1_defconfig:
I't not omap1_defconfig only, see

	http://armlinux.simtec.co.uk/kautobuild/2.6.38-rc5-git6/index.html
 
> >In file included from arch/arm/mm/init.c:27:
> >arch/arm/include/asm/tlb.h: In function 'tlb_flush_mmu':
> >arch/arm/include/asm/tlb.h:101: error: implicit declaration of function 'release_pages'
> >arch/arm/include/asm/tlb.h: In function 'tlb_remove_page':
> >arch/arm/include/asm/tlb.h:165: error: implicit declaration of function 'page_cache_release'
> >
> >Fix this by including pagemap.h.
> >
> >Signed-off-by: Tony Lindgren <tony@atomide.com>
> >
> >--- a/arch/arm/mm/init.c
> >+++ b/arch/arm/mm/init.c
> >@@ -19,6 +19,7 @@
> > #include <linux/gfp.h>
> > #include <linux/memblock.h>
> > #include <linux/sort.h>
> >+#include <linux/pagemap.h>
> > #include <asm/mach-types.h>
> > #include <asm/sections.h>
> 
>    Shouldn't you be #including it into tlb.h instead?
For me building arch/arm/mm/mmu.o fails, too.  So Tony's patch doesn't
help.

Adding the #include to arch/arm/include/asm/tlb.h works fine though.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

^ permalink raw reply

* [PATCH v2] i2c: tegra: Add i2c support
From: Colin Cross @ 2011-02-22 19:59 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1298250861-27094-1-git-send-email-ccross@android.com>

On Sun, Feb 20, 2011 at 5:14 PM, Colin Cross <ccross@android.com> wrote:
> Adds I2C bus driver for nVidia Tegra SoCs. ?Tegra includes 4 I2C
> controllers, one of which is inside the Dynamic Voltage Controller
> and has a slightly different register map.
>
> Signed-off-by: Colin Cross <ccross@android.com>

Ping?  Can this go in 2.6.39?

^ permalink raw reply

* [PATCH] ARM: Fix compile after delay page freeing patch
From: Tony Lindgren @ 2011-02-22 19:59 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <4D6413D9.7080906@ru.mvista.com>

* Sergei Shtylyov <sshtylyov@mvista.com> [110222 11:51]:
> Hello.
> 
> Tony Lindgren wrote:
> 
> >Commit 06824ba824b3e9f2fedb38bee79af0643198ed7f
> >(ARM: tlb: delay page freeing for SMP and ARMv7 CPUs) causes
> >the following compile error for at least omap1_defconfig:
> 
> >In file included from arch/arm/mm/init.c:27:
> >arch/arm/include/asm/tlb.h: In function 'tlb_flush_mmu':
> >arch/arm/include/asm/tlb.h:101: error: implicit declaration of function 'release_pages'
> >arch/arm/include/asm/tlb.h: In function 'tlb_remove_page':
> >arch/arm/include/asm/tlb.h:165: error: implicit declaration of function 'page_cache_release'
> >
> >Fix this by including pagemap.h.
> >
> >Signed-off-by: Tony Lindgren <tony@atomide.com>
> >
> >--- a/arch/arm/mm/init.c
> >+++ b/arch/arm/mm/init.c
> >@@ -19,6 +19,7 @@
> > #include <linux/gfp.h>
> > #include <linux/memblock.h>
> > #include <linux/sort.h>
> >+#include <linux/pagemap.h>
> > #include <asm/mach-types.h>
> > #include <asm/sections.h>
> 
>    Shouldn't you be #including it into tlb.h instead?

Hmm, pagemap.h actually seems to be there in tlb.h,
but in #ifndef CONFIG_MMU.

Tony

^ permalink raw reply

* [PATCH] ARM: Fix compile after delay page freeing patch
From: Russell King - ARM Linux @ 2011-02-22 19:59 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20110222194332.GQ15225@atomide.com>

On Tue, Feb 22, 2011 at 11:43:32AM -0800, Tony Lindgren wrote:
> Commit 06824ba824b3e9f2fedb38bee79af0643198ed7f
> (ARM: tlb: delay page freeing for SMP and ARMv7 CPUs) causes
> the following compile error for at least omap1_defconfig:
> 
> In file included from arch/arm/mm/init.c:27:
> arch/arm/include/asm/tlb.h: In function 'tlb_flush_mmu':
> arch/arm/include/asm/tlb.h:101: error: implicit declaration of function 'release_pages'
> arch/arm/include/asm/tlb.h: In function 'tlb_remove_page':
> arch/arm/include/asm/tlb.h:165: error: implicit declaration of function 'page_cache_release'

Grant already mentioned this to me this evening.

This happens if you build with CONFIG_SWAP=n, and is something that the
asm-generic/tlb.h also appears to suffer from.  Why no one else has
noticed this I've no idea.

Note that linux/swap.h has this comment:

/* only sparc can not include linux/pagemap.h in this file
 * so leave page_cache_release and release_pages undeclared... */
#define free_page_and_swap_cache(page) \
        page_cache_release(page)
#define free_pages_and_swap_cache(pages, nr) \
        release_pages((pages), (nr), 0);

which is rather annoying, because it makes the build error dependent on
the configuration.

So, we should add linux/pagemap.h to both asm-generic/tlb.h and the ARM
tlb.h as they both should suffer the same problem.

Note that arch/x86/mm/init.c and arch/x86/mm/pgtable.c both include
asm/tlb.h without linux/pagemap.h, and use the generic version.  I bet
no one's tried building x86 with CONFIG_SWAP=n yet...

^ permalink raw reply

* [PATCH 1/4] ARM: tegra: Fix typo in TEGRA_IRQ_TO_GPIO
From: Colin Cross @ 2011-02-22 19:58 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1298173137-9242-2-git-send-email-swarren@nvidia.com>

On Sat, Feb 19, 2011 at 7:38 PM, Stephen Warren <swarren@nvidia.com> wrote:
> Signed-off-by: Stephen Warren <swarren@nvidia.com>
> ---
> ?arch/arm/mach-tegra/include/mach/gpio.h | ? ?2 +-
> ?1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-tegra/include/mach/gpio.h b/arch/arm/mach-tegra/include/mach/gpio.h
> index e31f486..12a7cf6 100644
> --- a/arch/arm/mach-tegra/include/mach/gpio.h
> +++ b/arch/arm/mach-tegra/include/mach/gpio.h
> @@ -31,7 +31,7 @@
> ?#define gpio_cansleep ? ? ? ? ?__gpio_cansleep
>
> ?#define TEGRA_GPIO_TO_IRQ(gpio) (INT_GPIO_BASE + (gpio))
> -#define TEGRA_IRQ_TO_GPIO(irq) ((gpio) - INT_GPIO_BASE)
> +#define TEGRA_IRQ_TO_GPIO(irq) ((irq) - INT_GPIO_BASE)
>
> ?static inline int gpio_to_irq(unsigned int gpio)
> ?{
> --
> 1.7.1
>
>

Pushed to for-next

^ permalink raw reply

* [PATCH 2/2] DM9000B: Fix PHY power for network down/up
From: Henry Nestler @ 2011-02-22 19:58 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20110222.102410.260079835.davem@davemloft.net>

Hello David,

On 22.02.2011 19:24, David Miller wrote:
> From: Henry Nestler <henry.nestler@gmail.com>
> Date: Mon, 21 Feb 2011 22:03:31 +0100
> 
>> On 21.02.2011 12:14, Sergei Shtylyov wrote:
>>> On 21-02-2011 0:45, Henry Nestler wrote:
>>>> +	udelay(1000); /* delay needs by DM9000B */
>>>
>>>     Why not mdelay(1)?
>>
>> Because udelay is the base of mdelay.
>> See include/linux/delay.h:31
>>
>> #define mdelay(n) ... udelay((n)*1000)
> 
> He is telling you to use mdelay(1) because it's clearer.  Please do
> so.

Thanks, that text explains it better. No problem. I will resend this patch.

-- 
Henry N.

^ permalink raw reply

* [PATCH 5/5] arm: mach-mx3: use IMX_GPIO_NR instead of hard-coded values
From: Wolfram Sang @ 2011-02-22 19:56 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <19811.47706.277301.848103@ipc1.ka-ro>

> >  #define GPIO_LCDPWR	(4)
> >  
> While you are at it you could also remove the nonsensical () around
> the bare number.

That would need a seperate patch in my book. I won't bother.

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20110222/628cea18/attachment.sig>

^ permalink raw reply

* [PATCH 4/5] arm: mach-mx3: pcm043: add write-protect and card-detect for SD1
From: Wolfram Sang @ 2011-02-22 19:55 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <AANLkTi=cDkuo9Q1Eqzno=_FKLN+0pNBCdvD=SqFsysVf@mail.gmail.com>

> +#define SD1_GPIO_WP    IMX_GPIO_NR(2, 23)
> +#define SD1_GPIO_CD     IMX_GPIO_NR(2, 24)

Probably you noticed by now, but the next patch does that for the whole
directory :)

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20110222/9f7b6640/attachment.sig>

^ permalink raw reply

* [PATCH 3/5] ARM: tegra: update GPIO chained IRQ handler to use EOI in parent chip
From: Russell King - ARM Linux @ 2011-02-22 19:52 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <001d01cbd2c5$a97f17a0$fc7d46e0$@deacon@arm.com>

On Tue, Feb 22, 2011 at 07:21:09PM -0000, Will Deacon wrote:
> Hmm, I've seen this problem before. See Russell's explanation here:
> 
> http://lists.arm.linux.org.uk/lurker/message/20101201.172105.938cf2c5.en.html
> 
> I don't believe it's a problem my end, but if it starts happening
> regularly I'll investigate further.

I wonder what's happening here is that the mailing list is converting
your messages from quoted-printable to plain text.

Looking at two of your recent messages, one of them came via the mailing
list.  That one was not quoted-printable.  These ones which you Cc'd me
on, and arrived before the copy from the mailing list came through as
quoted-printable though.

AFAIK, git-send-email doesn't generate quoted-printable mails.  From what
I remember, it doesn't generate any MIME headers at all either, expecting
the first MTA to be able to figure out what to do with the following
string of bytes.  It's not surprising that some MTAs may do weird things
with that.

I don't use git send-email, but instead have my own scripts based around
git format-patch, and adds the following headers:

  MIME-Version: 1.0
  Content-Disposition: inline
  Content-Type: text/plain; charset="us-ascii"

to each file it produces, as well as other header modifications.  I've
then got a separate script which sends the contents of the directory
slowly (20sec between each message) via '/usr/sbin/sendmail' (iow,
the local MTA - exim for me) to make it a little kinder on MTAs.

I did try with utf-8 but istr that caused problems, possibly resulting
in qp-conversion, or maybe resulted in MTAs remarking it as a us-ascii
charset.  As 99.9999999% of stuff I mail out from git is 7bit ASCII...

^ permalink raw reply

* [PATCH] ARM: Fix compile after delay page freeing patch
From: Sergei Shtylyov @ 2011-02-22 19:51 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <20110222194332.GQ15225@atomide.com>

Hello.

Tony Lindgren wrote:

> Commit 06824ba824b3e9f2fedb38bee79af0643198ed7f
> (ARM: tlb: delay page freeing for SMP and ARMv7 CPUs) causes
> the following compile error for at least omap1_defconfig:

> In file included from arch/arm/mm/init.c:27:
> arch/arm/include/asm/tlb.h: In function 'tlb_flush_mmu':
> arch/arm/include/asm/tlb.h:101: error: implicit declaration of function 'release_pages'
> arch/arm/include/asm/tlb.h: In function 'tlb_remove_page':
> arch/arm/include/asm/tlb.h:165: error: implicit declaration of function 'page_cache_release'
> 
> Fix this by including pagemap.h.
> 
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> 
> --- a/arch/arm/mm/init.c
> +++ b/arch/arm/mm/init.c
> @@ -19,6 +19,7 @@
>  #include <linux/gfp.h>
>  #include <linux/memblock.h>
>  #include <linux/sort.h>
> +#include <linux/pagemap.h>
>  
>  #include <asm/mach-types.h>
>  #include <asm/sections.h>

    Shouldn't you be #including it into tlb.h instead?

WBR, Sergei

^ permalink raw reply

* [PATCH] ARM: Fix compile after delay page freeing patch
From: Tony Lindgren @ 2011-02-22 19:43 UTC (permalink / raw)
  To: linux-arm-kernel

Commit 06824ba824b3e9f2fedb38bee79af0643198ed7f
(ARM: tlb: delay page freeing for SMP and ARMv7 CPUs) causes
the following compile error for at least omap1_defconfig:

In file included from arch/arm/mm/init.c:27:
arch/arm/include/asm/tlb.h: In function 'tlb_flush_mmu':
arch/arm/include/asm/tlb.h:101: error: implicit declaration of function 'release_pages'
arch/arm/include/asm/tlb.h: In function 'tlb_remove_page':
arch/arm/include/asm/tlb.h:165: error: implicit declaration of function 'page_cache_release'

Fix this by including pagemap.h.

Signed-off-by: Tony Lindgren <tony@atomide.com>

--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -19,6 +19,7 @@
 #include <linux/gfp.h>
 #include <linux/memblock.h>
 #include <linux/sort.h>
+#include <linux/pagemap.h>
 
 #include <asm/mach-types.h>
 #include <asm/sections.h>

^ permalink raw reply

* [PATCH 4/6] ARM: tegra: harmony: register sdhci devices
From: Colin Cross @ 2011-02-22 19:40 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1298354117-19097-5-git-send-email-olof@lixom.net>

On Mon, Feb 21, 2011 at 9:55 PM, Olof Johansson <olof@lixom.net> wrote:
> Add the 3 sdhci devices that are available on Harmony as
> platform devices. Two go to slots (one 4-lane, one 8-lane),
> and one goes to onboard wifi.
>
> Signed-off-by: Olof Johansson <olof@lixom.net>
> ---
> ?arch/arm/mach-tegra/board-harmony.c | ? 30 ++++++++++++++++++++++++++++++
> ?1 files changed, 30 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-tegra/board-harmony.c b/arch/arm/mach-tegra/board-harmony.c
> index f6ad58b..7010774 100644
> --- a/arch/arm/mach-tegra/board-harmony.c
> +++ b/arch/arm/mach-tegra/board-harmony.c
> @@ -30,10 +30,13 @@
>
> ?#include <mach/iomap.h>
> ?#include <mach/irqs.h>
> +#include <mach/sdhci.h>
>
> ?#include "board.h"
> ?#include "board-harmony.h"
> ?#include "clock.h"
> +#include "devices.h"
> +#include "gpio-names.h"
>
> ?static struct plat_serial8250_port debug_uart_platform_data[] = {
> ? ? ? ?{
> @@ -59,6 +62,9 @@ static struct platform_device debug_uart = {
>
> ?static struct platform_device *harmony_devices[] __initdata = {
> ? ? ? ?&debug_uart,
> + ? ? ? &tegra_sdhci_device1,
> + ? ? ? &tegra_sdhci_device2,
> + ? ? ? &tegra_sdhci_device4,
> ?};
>
> ?static void __init tegra_harmony_fixup(struct machine_desc *desc,
> @@ -77,6 +83,26 @@ static __initdata struct tegra_clk_init_table harmony_clk_init_table[] = {
> ? ? ? ?{ NULL, ? ? ? ? NULL, ? ? ? ? ? 0, ? ? ? ? ? ? ?0},
> ?};
>
> +
> +static struct tegra_sdhci_platform_data sdhci_pdata1 = {
> + ? ? ? .cd_gpio ? ? ? ?= -1,
> + ? ? ? .wp_gpio ? ? ? ?= -1,
> + ? ? ? .power_gpio ? ? = -1,
> +};
> +
> +static struct tegra_sdhci_platform_data sdhci_pdata2 = {
> + ? ? ? .cd_gpio ? ? ? ?= TEGRA_GPIO_PI5,
> + ? ? ? .wp_gpio ? ? ? ?= TEGRA_GPIO_PH1,
> + ? ? ? .power_gpio ? ? = TEGRA_GPIO_PT3,
> +};
> +
> +static struct tegra_sdhci_platform_data sdhci_pdata4 = {
> + ? ? ? .cd_gpio ? ? ? ?= TEGRA_GPIO_PH2,
> + ? ? ? .wp_gpio ? ? ? ?= TEGRA_GPIO_PH3,
> + ? ? ? .power_gpio ? ? = TEGRA_GPIO_PI6,
> + ? ? ? .is_8bit ? ? ? ?= 1,
> +};
> +
> ?static void __init tegra_harmony_init(void)
> ?{
> ? ? ? ?tegra_common_init();
> @@ -85,6 +111,10 @@ static void __init tegra_harmony_init(void)
>
> ? ? ? ?harmony_pinmux_init();
>
> + ? ? ? tegra_sdhci_device1.dev.platform_data = &sdhci_pdata1;
> + ? ? ? tegra_sdhci_device2.dev.platform_data = &sdhci_pdata2;
> + ? ? ? tegra_sdhci_device4.dev.platform_data = &sdhci_pdata4;
> +
> ? ? ? ?platform_add_devices(harmony_devices, ARRAY_SIZE(harmony_devices));
> ?}
>
> --
> 1.7.0.4
>
>

Acked-by: Colin Cross <ccross@android.com>

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox