]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 22 Jul 2011 23:01:57 +0000 (16:01 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 22 Jul 2011 23:01:57 +0000 (16:01 -0700)
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (51 commits)
  PM: Improve error code of pm_notifier_call_chain()
  PM: Add "RTC" to PM trace time stamps to avoid confusion
  PM / Suspend: Export suspend_set_ops, suspend_valid_only_mem
  PM / Suspend: Add .suspend_again() callback to suspend_ops
  PM / OPP: Introduce function to free cpufreq table
  ARM / shmobile: Return -EBUSY from A4LC power off if A3RV is active
  PM / Domains: Take .power_off() error code into account
  ARM / shmobile: Use genpd_queue_power_off_work()
  ARM / shmobile: Use pm_genpd_poweroff_unused()
  PM / Domains: Introduce function to power off all unused PM domains
  OMAP: PM: disable idle on suspend for GPIO and UART
  OMAP: PM: omap_device: add API to disable idle on suspend
  OMAP: PM: omap_device: add system PM methods for PM domain handling
  OMAP: PM: omap_device: conditionally use PM domain runtime helpers
  PM / Runtime: Add new helper function: pm_runtime_status_suspended()
  PM / Domains: Queue up power off work only if it is not pending
  PM / Domains: Improve handling of wakeup devices during system suspend
  PM / Domains: Do not restore all devices on power off error
  PM / Domains: Allow callbacks to execute all runtime PM helpers
  PM / Domains: Do not execute device callbacks under locks
  ...

1  2 
arch/arm/mach-omap2/gpio.c

index 9a46d7773a4853f1193901dea5ae33da097da575,48e5eced6b5177d0a19e43eb391907b8f139f630..2765cdc3152df6c9d5d18dcf707b98599b0bb92b
@@@ -61,45 -61,13 +61,45 @@@ static int omap2_gpio_dev_init(struct o
        pdata->dbck_flag = dev_attr->dbck_flag;
        pdata->virtual_irq_start = IH_GPIO_BASE + 32 * (id - 1);
  
 +      pdata->regs = kzalloc(sizeof(struct omap_gpio_reg_offs), GFP_KERNEL);
 +      if (!pdata) {
 +              pr_err("gpio%d: Memory allocation failed\n", id);
 +              return -ENOMEM;
 +      }
 +
        switch (oh->class->rev) {
        case 0:
        case 1:
                pdata->bank_type = METHOD_GPIO_24XX;
 +              pdata->regs->revision = OMAP24XX_GPIO_REVISION;
 +              pdata->regs->direction = OMAP24XX_GPIO_OE;
 +              pdata->regs->datain = OMAP24XX_GPIO_DATAIN;
 +              pdata->regs->dataout = OMAP24XX_GPIO_DATAOUT;
 +              pdata->regs->set_dataout = OMAP24XX_GPIO_SETDATAOUT;
 +              pdata->regs->clr_dataout = OMAP24XX_GPIO_CLEARDATAOUT;
 +              pdata->regs->irqstatus = OMAP24XX_GPIO_IRQSTATUS1;
 +              pdata->regs->irqstatus2 = OMAP24XX_GPIO_IRQSTATUS2;
 +              pdata->regs->irqenable = OMAP24XX_GPIO_IRQENABLE1;
 +              pdata->regs->set_irqenable = OMAP24XX_GPIO_SETIRQENABLE1;
 +              pdata->regs->clr_irqenable = OMAP24XX_GPIO_CLEARIRQENABLE1;
 +              pdata->regs->debounce = OMAP24XX_GPIO_DEBOUNCE_VAL;
 +              pdata->regs->debounce_en = OMAP24XX_GPIO_DEBOUNCE_EN;
                break;
        case 2:
                pdata->bank_type = METHOD_GPIO_44XX;
 +              pdata->regs->revision = OMAP4_GPIO_REVISION;
 +              pdata->regs->direction = OMAP4_GPIO_OE;
 +              pdata->regs->datain = OMAP4_GPIO_DATAIN;
 +              pdata->regs->dataout = OMAP4_GPIO_DATAOUT;
 +              pdata->regs->set_dataout = OMAP4_GPIO_SETDATAOUT;
 +              pdata->regs->clr_dataout = OMAP4_GPIO_CLEARDATAOUT;
 +              pdata->regs->irqstatus = OMAP4_GPIO_IRQSTATUS0;
 +              pdata->regs->irqstatus2 = OMAP4_GPIO_IRQSTATUS1;
 +              pdata->regs->irqenable = OMAP4_GPIO_IRQSTATUSSET0;
 +              pdata->regs->set_irqenable = OMAP4_GPIO_IRQSTATUSSET0;
 +              pdata->regs->clr_irqenable = OMAP4_GPIO_IRQSTATUSCLR0;
 +              pdata->regs->debounce = OMAP4_GPIO_DEBOUNCINGTIME;
 +              pdata->regs->debounce_en = OMAP4_GPIO_DEBOUNCENABLE;
                break;
        default:
                WARN(1, "Invalid gpio bank_type\n");
                return PTR_ERR(od);
        }
  
+       omap_device_disable_idle_on_suspend(od);
        gpio_bank_count++;
        return 0;
  }