From: Afzal Mohammed <afzal@ti.com> To: tony@atomide.com, paul@pwsan.com, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Afzal Mohammed <afzal@ti.com> Subject: [PATCH v5 02/14] ARM: OMAP2+: gpmc: Adapt to HWMOD Date: Mon, 11 Jun 2012 19:56:24 +0530 [thread overview] Message-ID: <fb739c3c5383806f78cee3666f7c74d61bed6427.1339419492.git.afzal@ti.com> (raw) In-Reply-To: <cover.1339419492.git.afzal@ti.com> Create API for platforms to adapt gpmc to HWMOD Signed-off-by: Afzal Mohammed <afzal@ti.com> --- arch/arm/mach-omap2/gpmc.c | 31 +++++++++++++++++++++++++++++++ arch/arm/plat-omap/include/plat/gpmc.h | 2 ++ 2 files changed, 33 insertions(+) diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index 517953f..b471c2f 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c @@ -27,6 +27,7 @@ #include <asm/mach-types.h> #include <plat/gpmc.h> +#include <plat/omap_device.h> #include <plat/sdrc.h> @@ -898,6 +899,36 @@ static int __init gpmc_init(void) } postcore_initcall(gpmc_init); +__init int omap_gpmc_init(struct gpmc_pdata *pdata) +{ + struct omap_hwmod *oh; + struct platform_device *pdev; + char *name = "omap-gpmc"; + char *oh_name = "gpmc"; + + oh = omap_hwmod_lookup(oh_name); + if (!oh) { + pr_err("Could not look up %s\n", oh_name); + return -ENODEV; + } + + pdev = omap_device_build(name, -1, oh, pdata, + sizeof(*pdata), NULL, 0, 0); + if (IS_ERR(pdev)) { + WARN(1, "Can't build omap_device for %s:%s.\n", + name, oh->name); + return PTR_ERR(pdev); + } + + gpmc_l3_clk = clk_get(NULL, oh->main_clk); + if (IS_ERR(gpmc_l3_clk)) { + pr_err("Could not get GPMC clock\n"); + return PTR_ERR(gpmc_l3_clk); + } + + return 0; +} + static irqreturn_t gpmc_handle_irq(int irq, void *dev) { int i; diff --git a/arch/arm/plat-omap/include/plat/gpmc.h b/arch/arm/plat-omap/include/plat/gpmc.h index 21a8cce..698fa33 100644 --- a/arch/arm/plat-omap/include/plat/gpmc.h +++ b/arch/arm/plat-omap/include/plat/gpmc.h @@ -207,6 +207,8 @@ struct gpmc_nand_regs { extern void gpmc_update_nand_reg(struct gpmc_nand_regs *reg, int cs); extern int gpmc_get_client_irq(unsigned irq_config); +extern int omap_gpmc_init(struct gpmc_pdata *pdata); + extern unsigned int gpmc_ns_to_ticks(unsigned int time_ns); extern unsigned int gpmc_ps_to_ticks(unsigned int time_ps); extern unsigned int gpmc_ticks_to_ns(unsigned int ticks); -- 1.7.10.2
WARNING: multiple messages have this Message-ID (diff)
From: afzal@ti.com (Afzal Mohammed) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 02/14] ARM: OMAP2+: gpmc: Adapt to HWMOD Date: Mon, 11 Jun 2012 19:56:24 +0530 [thread overview] Message-ID: <fb739c3c5383806f78cee3666f7c74d61bed6427.1339419492.git.afzal@ti.com> (raw) In-Reply-To: <cover.1339419492.git.afzal@ti.com> Create API for platforms to adapt gpmc to HWMOD Signed-off-by: Afzal Mohammed <afzal@ti.com> --- arch/arm/mach-omap2/gpmc.c | 31 +++++++++++++++++++++++++++++++ arch/arm/plat-omap/include/plat/gpmc.h | 2 ++ 2 files changed, 33 insertions(+) diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index 517953f..b471c2f 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c @@ -27,6 +27,7 @@ #include <asm/mach-types.h> #include <plat/gpmc.h> +#include <plat/omap_device.h> #include <plat/sdrc.h> @@ -898,6 +899,36 @@ static int __init gpmc_init(void) } postcore_initcall(gpmc_init); +__init int omap_gpmc_init(struct gpmc_pdata *pdata) +{ + struct omap_hwmod *oh; + struct platform_device *pdev; + char *name = "omap-gpmc"; + char *oh_name = "gpmc"; + + oh = omap_hwmod_lookup(oh_name); + if (!oh) { + pr_err("Could not look up %s\n", oh_name); + return -ENODEV; + } + + pdev = omap_device_build(name, -1, oh, pdata, + sizeof(*pdata), NULL, 0, 0); + if (IS_ERR(pdev)) { + WARN(1, "Can't build omap_device for %s:%s.\n", + name, oh->name); + return PTR_ERR(pdev); + } + + gpmc_l3_clk = clk_get(NULL, oh->main_clk); + if (IS_ERR(gpmc_l3_clk)) { + pr_err("Could not get GPMC clock\n"); + return PTR_ERR(gpmc_l3_clk); + } + + return 0; +} + static irqreturn_t gpmc_handle_irq(int irq, void *dev) { int i; diff --git a/arch/arm/plat-omap/include/plat/gpmc.h b/arch/arm/plat-omap/include/plat/gpmc.h index 21a8cce..698fa33 100644 --- a/arch/arm/plat-omap/include/plat/gpmc.h +++ b/arch/arm/plat-omap/include/plat/gpmc.h @@ -207,6 +207,8 @@ struct gpmc_nand_regs { extern void gpmc_update_nand_reg(struct gpmc_nand_regs *reg, int cs); extern int gpmc_get_client_irq(unsigned irq_config); +extern int omap_gpmc_init(struct gpmc_pdata *pdata); + extern unsigned int gpmc_ns_to_ticks(unsigned int time_ns); extern unsigned int gpmc_ps_to_ticks(unsigned int time_ps); extern unsigned int gpmc_ticks_to_ns(unsigned int ticks); -- 1.7.10.2
next prev parent reply other threads:[~2012-06-11 14:42 UTC|newest] Thread overview: 232+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-06-11 14:25 [PATCH v5 00/14] GPMC driver conversion Afzal Mohammed 2012-06-11 14:25 ` Afzal Mohammed 2012-06-11 14:26 ` [PATCH v5 01/14] ARM: OMAP2+: gpmc: platform definitions Afzal Mohammed 2012-06-11 14:26 ` Afzal Mohammed 2012-06-12 18:58 ` Jon Hunter 2012-06-12 18:58 ` Jon Hunter 2012-06-13 6:25 ` Mohammed, Afzal 2012-06-13 6:25 ` Mohammed, Afzal 2012-06-11 14:26 ` Afzal Mohammed [this message] 2012-06-11 14:26 ` [PATCH v5 02/14] ARM: OMAP2+: gpmc: Adapt to HWMOD Afzal Mohammed 2012-06-11 19:56 ` Jon Hunter 2012-06-11 19:56 ` Jon Hunter 2012-06-12 6:53 ` Mohammed, Afzal 2012-06-12 6:53 ` Mohammed, Afzal 2012-06-12 17:40 ` Jon Hunter 2012-06-12 17:40 ` Jon Hunter 2012-06-13 5:20 ` Mohammed, Afzal 2012-06-13 5:20 ` Mohammed, Afzal 2012-06-13 12:02 ` Tony Lindgren 2012-06-13 12:02 ` Tony Lindgren 2012-06-13 13:05 ` Mohammed, Afzal 2012-06-13 13:05 ` Mohammed, Afzal 2012-06-13 13:39 ` Tony Lindgren 2012-06-13 13:39 ` Tony Lindgren 2012-06-13 13:59 ` Mohammed, Afzal 2012-06-13 13:59 ` Mohammed, Afzal 2012-06-13 15:08 ` Jon Hunter 2012-06-13 15:08 ` Jon Hunter 2012-06-14 7:07 ` Mohammed, Afzal 2012-06-14 7:07 ` Mohammed, Afzal 2012-06-13 14:51 ` Jon Hunter 2012-06-13 14:51 ` Jon Hunter 2012-06-14 6:17 ` Mohammed, Afzal 2012-06-14 6:17 ` Mohammed, Afzal 2012-06-14 6:20 ` Mohammed, Afzal 2012-06-14 6:20 ` Mohammed, Afzal 2012-06-14 20:51 ` Jon Hunter 2012-06-14 20:51 ` Jon Hunter 2012-06-15 0:20 ` Paul Walmsley 2012-06-15 0:20 ` Paul Walmsley 2012-06-15 15:33 ` Jon Hunter 2012-06-15 15:33 ` Jon Hunter 2012-06-15 10:40 ` Mohammed, Afzal 2012-06-15 10:40 ` Mohammed, Afzal 2012-06-14 7:03 ` Mohammed, Afzal 2012-06-14 7:03 ` Mohammed, Afzal 2012-06-14 13:22 ` Jon Hunter 2012-06-14 13:22 ` Jon Hunter 2012-06-14 13:32 ` Mohammed, Afzal 2012-06-14 13:32 ` Mohammed, Afzal 2012-06-14 18:58 ` Jon Hunter 2012-06-14 18:58 ` Jon Hunter 2012-06-15 10:22 ` Mohammed, Afzal 2012-06-15 10:22 ` Mohammed, Afzal 2012-06-15 12:45 ` Tony Lindgren 2012-06-15 12:45 ` Tony Lindgren 2012-06-16 9:15 ` Mohammed, Afzal 2012-06-16 9:15 ` Mohammed, Afzal 2012-06-20 13:28 ` Tony Lindgren 2012-06-20 13:28 ` Tony Lindgren 2012-06-20 14:52 ` Mohammed, Afzal 2012-06-20 14:52 ` Mohammed, Afzal 2012-06-20 15:12 ` Tony Lindgren 2012-06-20 15:12 ` Tony Lindgren 2012-06-20 23:35 ` Jon Hunter 2012-06-20 23:35 ` Jon Hunter 2012-06-22 13:29 ` Mohammed, Afzal 2012-06-22 13:29 ` Mohammed, Afzal 2012-06-11 14:26 ` [PATCH v5 03/14] ARM: OMAP2+: gpmc: driver migration helper Afzal Mohammed 2012-06-11 14:26 ` Afzal Mohammed 2012-06-11 20:30 ` Jon Hunter 2012-06-11 20:30 ` Jon Hunter 2012-06-12 7:09 ` Mohammed, Afzal 2012-06-12 7:09 ` Mohammed, Afzal 2012-06-12 17:46 ` Jon Hunter 2012-06-12 17:46 ` Jon Hunter 2012-06-13 5:25 ` Mohammed, Afzal 2012-06-13 5:25 ` Mohammed, Afzal 2012-06-13 12:04 ` Tony Lindgren 2012-06-13 12:04 ` Tony Lindgren 2012-06-13 12:18 ` Mohammed, Afzal 2012-06-13 12:18 ` Mohammed, Afzal 2012-06-13 13:46 ` Mohammed, Afzal 2012-06-13 13:46 ` Mohammed, Afzal 2012-06-14 6:34 ` Tony Lindgren 2012-06-14 6:34 ` Tony Lindgren 2012-06-11 14:26 ` [PATCH v5 04/14] ARM: OMAP2+: gpmc: minimal driver support Afzal Mohammed 2012-06-11 14:26 ` Afzal Mohammed 2012-06-11 20:43 ` Jon Hunter 2012-06-11 20:43 ` Jon Hunter 2012-06-12 7:16 ` Mohammed, Afzal 2012-06-12 7:16 ` Mohammed, Afzal 2012-06-12 17:57 ` Jon Hunter 2012-06-12 17:57 ` Jon Hunter 2012-06-13 12:07 ` Tony Lindgren 2012-06-13 12:07 ` Tony Lindgren 2012-06-13 13:12 ` Mohammed, Afzal 2012-06-13 13:12 ` Mohammed, Afzal 2012-06-13 13:40 ` Tony Lindgren 2012-06-13 13:40 ` Tony Lindgren 2012-06-13 13:44 ` Tony Lindgren 2012-06-13 13:44 ` Tony Lindgren 2012-06-13 13:50 ` Mohammed, Afzal 2012-06-13 13:50 ` Mohammed, Afzal 2012-06-13 13:52 ` Mohammed, Afzal 2012-06-13 13:52 ` Mohammed, Afzal 2012-06-14 6:35 ` Tony Lindgren 2012-06-14 6:35 ` Tony Lindgren 2012-06-14 6:40 ` Mohammed, Afzal 2012-06-14 6:40 ` Mohammed, Afzal 2012-06-14 8:39 ` Tony Lindgren 2012-06-14 8:39 ` Tony Lindgren 2012-06-14 8:42 ` Mohammed, Afzal 2012-06-14 8:42 ` Mohammed, Afzal 2012-06-13 17:05 ` Jon Hunter 2012-06-13 17:05 ` Jon Hunter 2012-06-12 19:19 ` Jon Hunter 2012-06-12 19:19 ` Jon Hunter 2012-06-13 6:29 ` Mohammed, Afzal 2012-06-13 6:29 ` Mohammed, Afzal 2012-06-11 14:26 ` [PATCH v5 05/14] ARM: OMAP2+: gpmc: resource creation helpers Afzal Mohammed 2012-06-11 14:26 ` Afzal Mohammed 2012-06-11 20:57 ` Jon Hunter 2012-06-11 20:57 ` Jon Hunter 2012-06-12 8:30 ` Mohammed, Afzal 2012-06-12 8:30 ` Mohammed, Afzal 2012-06-12 18:02 ` Jon Hunter 2012-06-12 18:02 ` Jon Hunter 2012-06-13 5:29 ` Mohammed, Afzal 2012-06-13 5:29 ` Mohammed, Afzal 2012-06-13 15:33 ` Jon Hunter 2012-06-13 15:33 ` Jon Hunter 2012-06-14 8:44 ` Mohammed, Afzal 2012-06-14 8:44 ` Mohammed, Afzal 2012-06-11 14:26 ` [PATCH v5 06/14] ARM: OMAP2+: gpmc: CS configuration helper Afzal Mohammed 2012-06-11 14:26 ` Afzal Mohammed 2012-06-11 21:43 ` Jon Hunter 2012-06-11 21:43 ` Jon Hunter 2012-06-12 8:40 ` Mohammed, Afzal 2012-06-12 8:40 ` Mohammed, Afzal 2012-06-12 12:58 ` Mohammed, Afzal 2012-06-12 12:58 ` Mohammed, Afzal 2012-06-12 18:09 ` Jon Hunter 2012-06-12 18:09 ` Jon Hunter 2012-06-13 5:50 ` Mohammed, Afzal 2012-06-13 5:50 ` Mohammed, Afzal 2012-06-13 15:39 ` Jon Hunter 2012-06-13 15:39 ` Jon Hunter 2012-06-14 8:45 ` Mohammed, Afzal 2012-06-14 8:45 ` Mohammed, Afzal 2012-06-12 18:06 ` Jon Hunter 2012-06-12 18:06 ` Jon Hunter 2012-06-13 5:35 ` Mohammed, Afzal 2012-06-13 5:35 ` Mohammed, Afzal 2012-06-11 14:27 ` [PATCH v5 07/14] ARM: OMAP2+: gpmc: time setting (register#) helper Afzal Mohammed 2012-06-11 14:27 ` Afzal Mohammed 2012-06-12 18:55 ` Jon Hunter 2012-06-12 18:55 ` Jon Hunter 2012-06-13 6:15 ` Mohammed, Afzal 2012-06-13 6:15 ` Mohammed, Afzal 2012-06-11 14:27 ` [PATCH v5 08/14] ARM: OMAP2+: gpmc: bool type timing helper Afzal Mohammed 2012-06-11 14:27 ` Afzal Mohammed 2012-06-11 22:27 ` Jon Hunter 2012-06-11 22:27 ` Jon Hunter 2012-06-12 8:41 ` Mohammed, Afzal 2012-06-12 8:41 ` Mohammed, Afzal 2012-06-11 14:27 ` [PATCH v5 09/14] ARM: OMAP2+: gpmc: holler if no configuration Afzal Mohammed 2012-06-11 14:27 ` Afzal Mohammed 2012-06-11 22:30 ` Jon Hunter 2012-06-11 22:30 ` Jon Hunter 2012-06-12 8:44 ` Mohammed, Afzal 2012-06-12 8:44 ` Mohammed, Afzal 2012-06-12 18:11 ` Jon Hunter 2012-06-12 18:11 ` Jon Hunter 2012-06-11 14:27 ` [PATCH v5 10/14] ARM: OMAP2+: gpmc: waitpin helper Afzal Mohammed 2012-06-11 14:27 ` Afzal Mohammed 2012-06-11 22:59 ` Jon Hunter 2012-06-11 22:59 ` Jon Hunter 2012-06-12 9:00 ` Mohammed, Afzal 2012-06-12 9:00 ` Mohammed, Afzal 2012-06-12 18:15 ` Jon Hunter 2012-06-12 18:15 ` Jon Hunter 2012-06-13 7:37 ` Mohammed, Afzal 2012-06-13 7:37 ` Mohammed, Afzal 2012-06-13 15:44 ` Jon Hunter 2012-06-13 15:44 ` Jon Hunter 2012-06-14 8:48 ` Mohammed, Afzal 2012-06-14 8:48 ` Mohammed, Afzal 2012-06-14 21:06 ` Jon Hunter 2012-06-14 21:06 ` Jon Hunter 2012-06-15 10:50 ` Mohammed, Afzal 2012-06-15 10:50 ` Mohammed, Afzal 2012-06-12 18:37 ` Jon Hunter 2012-06-12 18:37 ` Jon Hunter 2012-06-13 7:47 ` Mohammed, Afzal 2012-06-13 7:47 ` Mohammed, Afzal 2012-06-11 14:27 ` [PATCH v5 11/14] ARM: OMAP2+: gpmc: handle connected peripherals Afzal Mohammed 2012-06-11 14:27 ` Afzal Mohammed 2012-06-13 15:31 ` Jon Hunter 2012-06-13 15:31 ` Jon Hunter 2012-06-14 8:40 ` Mohammed, Afzal 2012-06-14 8:40 ` Mohammed, Afzal 2012-06-11 14:27 ` [PATCH v5 12/14] ARM: OMAP2+: gpmc: cs reconfigure helper Afzal Mohammed 2012-06-11 14:27 ` Afzal Mohammed 2012-06-11 23:04 ` Jon Hunter 2012-06-11 23:04 ` Jon Hunter 2012-06-12 9:01 ` Mohammed, Afzal 2012-06-12 9:01 ` Mohammed, Afzal 2012-06-11 14:27 ` [PATCH v5 13/14] ARM: OMAP2+: gpmc: update nand register info Afzal Mohammed 2012-06-11 14:27 ` Afzal Mohammed 2012-06-11 14:27 ` [PATCH v5 14/14] ARM: OMAP2+: gpmc: writeprotect helper Afzal Mohammed 2012-06-11 14:27 ` Afzal Mohammed 2012-06-12 18:42 ` Jon Hunter 2012-06-12 18:42 ` Jon Hunter 2012-06-13 6:10 ` Mohammed, Afzal 2012-06-13 6:10 ` Mohammed, Afzal 2012-06-13 16:28 ` Jon Hunter 2012-06-13 16:28 ` Jon Hunter 2012-06-14 8:54 ` Mohammed, Afzal 2012-06-14 8:54 ` Mohammed, Afzal 2012-06-14 9:36 ` Tony Lindgren 2012-06-14 9:36 ` Tony Lindgren 2012-06-14 10:21 ` Mohammed, Afzal 2012-06-14 10:21 ` Mohammed, Afzal 2012-06-12 10:39 ` [PATCH v5 00/14] GPMC driver conversion Mohammed, Afzal 2012-06-12 10:39 ` Mohammed, Afzal 2012-06-13 12:33 ` Tony Lindgren 2012-06-13 12:33 ` Tony Lindgren 2012-06-15 10:56 ` Mohammed, Afzal 2012-06-15 10:56 ` Mohammed, Afzal 2012-06-15 12:51 ` Tony Lindgren 2012-06-15 12:51 ` Tony Lindgren
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=fb739c3c5383806f78cee3666f7c74d61bed6427.1339419492.git.afzal@ti.com \ --to=afzal@ti.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-omap@vger.kernel.org \ --cc=paul@pwsan.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: linkBe 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.