}
        ret = request_threaded_irq(irq[1], sh_mmcif_intr, sh_mmcif_irqt, 0, "sh_mmc:int", host);
        if (ret) {
 -              free_irq(irq[0], host);
                dev_err(&pdev->dev, "request_irq error (sh_mmc:int)\n");
 -              goto clean_up3;
 +              goto clean_up4;
        }
  
 -      INIT_DELAYED_WORK(&host->timeout_work, mmcif_timeout_work);
 -
 -      mmc_detect_change(host->mmc, 0);
 +      ret = mmc_add_host(mmc);
 +      if (ret < 0)
 +              goto clean_up5;
  
+       dev_pm_qos_expose_latency_limit(&pdev->dev, 100);
+ 
        dev_info(&pdev->dev, "driver version %s\n", DRIVER_VERSION);
        dev_dbg(&pdev->dev, "chip ver H'%04x\n",
                sh_mmcif_readl(host->addr, MMCIF_CE_VERSION) & 0x0000ffff);
 
  #include <linux/module.h>
  #include <linux/pagemap.h>
  #include <linux/platform_device.h>
+ #include <linux/pm_qos.h>
  #include <linux/pm_runtime.h>
  #include <linux/scatterlist.h>
 -#include <linux/workqueue.h>
  #include <linux/spinlock.h>
 +#include <linux/workqueue.h>
  
  #include "tmio_mmc.h"