[PATCH 2/3] ARM: OMAP2+: Move GPMC initcall to devices.c
Roger Quadros
rogerq at ti.com
Fri Nov 21 01:41:22 PST 2014
On 11/21/2014 12:28 AM, Tony Lindgren wrote:
> This will us allow to just move gpmc.c to live under drivers
> in the next patch.
>
> Note that we now also remove the omap specific check for the
> initcall. That's OK as gpmc_probe() checks for the pdata
> and bails out for other platforms compiled in.
>
> Cc: Arnd Bergmann <arnd at arndb.de>
> Cc: Roger Quadros <rogerq at ti.com>
> Signed-off-by: Tony Lindgren <tony at atomide.com>
I guess gpmc_init can't still be put under module_init() till we have fixed up
some more issues in the GPMC driver. But it shouldn't prevent us from making
the move to drivers/, so
Acked-by: Roger Quadros <rogerq at ti.com>
cheers,
-roger
> ---
> arch/arm/mach-omap2/devices.c | 26 ++++++++++++++++++++++++++
> arch/arm/mach-omap2/gpmc.c | 31 +------------------------------
> 2 files changed, 27 insertions(+), 30 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
> index 324f02b..110256a 100644
> --- a/arch/arm/mach-omap2/devices.c
> +++ b/arch/arm/mach-omap2/devices.c
> @@ -445,3 +445,29 @@ static int __init omap2_init_devices(void)
> return 0;
> }
> omap_arch_initcall(omap2_init_devices);
> +
> +static int __init omap_gpmc_init(void)
> +{
> + struct omap_hwmod *oh;
> + struct platform_device *pdev;
> + char *oh_name = "gpmc";
> +
> + /*
> + * if the board boots up with a populated DT, do not
> + * manually add the device from this initcall
> + */
> + if (of_have_populated_dt())
> + return -ENODEV;
> +
> + oh = omap_hwmod_lookup(oh_name);
> + if (!oh) {
> + pr_err("Could not look up %s\n", oh_name);
> + return -ENODEV;
> + }
> +
> + pdev = omap_device_build("omap-gpmc", -1, oh, NULL, 0);
> + WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name);
> +
> + return PTR_RET(pdev);
> +}
> +omap_postcore_initcall(omap_gpmc_init);
> diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
> index bc14f25..80dfb17 100644
> --- a/arch/arm/mach-omap2/gpmc.c
> +++ b/arch/arm/mach-omap2/gpmc.c
> @@ -37,9 +37,6 @@
> #include <linux/platform_data/mtd-nand-omap2.h>
> #include <linux/platform_data/mtd-onenand-omap2.h>
>
> -#include "soc.h"
> -#include "omap_device.h"
> -
> #include <asm/mach-types.h>
>
> #define DEVICE_NAME "omap-gpmc"
> @@ -2010,35 +2007,9 @@ static __exit void gpmc_exit(void)
>
> }
>
> -omap_postcore_initcall(gpmc_init);
> +postcore_initcall(gpmc_init);
> module_exit(gpmc_exit);
>
> -static int __init omap_gpmc_init(void)
> -{
> - struct omap_hwmod *oh;
> - struct platform_device *pdev;
> - char *oh_name = "gpmc";
> -
> - /*
> - * if the board boots up with a populated DT, do not
> - * manually add the device from this initcall
> - */
> - if (of_have_populated_dt())
> - return -ENODEV;
> -
> - oh = omap_hwmod_lookup(oh_name);
> - if (!oh) {
> - pr_err("Could not look up %s\n", oh_name);
> - return -ENODEV;
> - }
> -
> - pdev = omap_device_build(DEVICE_NAME, -1, oh, NULL, 0);
> - WARN(IS_ERR(pdev), "could not build omap_device for %s\n", oh_name);
> -
> - return PTR_RET(pdev);
> -}
> -omap_postcore_initcall(omap_gpmc_init);
> -
> static irqreturn_t gpmc_handle_irq(int irq, void *dev)
> {
> int i;
>
More information about the linux-arm-kernel
mailing list