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: Charulatha V <charu@ti.com> Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Reviewed-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
This commit is contained in:
Родитель
60a3437dc9
Коммит
803a24343f
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче