Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 803a2434 authored by Charulatha V's avatar Charulatha V Committed by Tarun Kanti DebBarma
Browse files

gpio/omap: make non-wakeup GPIO part of pdata



Non-wakeup GPIOs are available only in OMAP2. Avoid cpu_is checks by making
non_wakeup_gpios as part of pdata.

Signed-off-by: default avatarCharulatha V <charu@ti.com>
Reviewed-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: default avatarTony Lindgren <tony@atomide.com>
Reviewed-by: default avatarKevin Hilman <khilman@ti.com>
Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
parent 60a3437d
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -65,6 +65,14 @@ static int omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused)

	switch (oh->class->rev) {
	case 0:
		if (id == 1)
			/* non-wakeup GPIO pins for OMAP2 Bank1 */
			pdata->non_wakeup_gpios = 0xe203ffc0;
		else if (id == 2)
			/* non-wakeup GPIO pins for OMAP2 Bank2 */
			pdata->non_wakeup_gpios = 0x08700040;
		/* fall through */

	case 1:
		pdata->bank_type = METHOD_GPIO_24XX;
		pdata->regs->revision = OMAP24XX_GPIO_REVISION;
+1 −0
Original line number Diff line number Diff line
@@ -199,6 +199,7 @@ struct omap_gpio_platform_data {
	int bank_stride;	/* Only needed for omap1 MPUIO */
	bool dbck_flag;		/* dbck required or not - True for OMAP3&4 */
	bool loses_context;	/* whether the bank would ever lose context */
	u32 non_wakeup_gpios;

	struct omap_gpio_reg_offs *regs;

+1 −7
Original line number Diff line number Diff line
@@ -1021,13 +1021,6 @@ static void omap_gpio_mod_init(struct gpio_bank *bank)

			/* Initialize interface clk ungated, module enabled */
			__raw_writel(0, bank->base + OMAP24XX_GPIO_CTRL);
		} else if (cpu_is_omap24xx()) {
			static const u32 non_wakeup_gpios[] = {
				0xe203ffc0, 0x08700040
			};
			if (bank->id < ARRAY_SIZE(non_wakeup_gpios))
				bank->non_wakeup_gpios =
						non_wakeup_gpios[bank->id];
		}
	} else if (cpu_class_is_omap1()) {
		if (bank_is_mpuio(bank)) {
@@ -1180,6 +1173,7 @@ static int __devinit omap_gpio_probe(struct platform_device *pdev)
	bank->dbck_flag = pdata->dbck_flag;
	bank->stride = pdata->bank_stride;
	bank->width = pdata->bank_width;
	bank->non_wakeup_gpios = pdata->non_wakeup_gpios;
	bank->loses_context = pdata->loses_context;
	bank->get_context_loss_count = pdata->get_context_loss_count;
	bank->regs = pdata->regs;