#include <asm/irq.h>
#include <linux/platform_data/i2c-s3c2410.h>
-#include <soc/samsung/exynos-powermode.h>
#ifdef CONFIG_CPU_IDLE
#include <soc/samsung/exynos-pm.h>
int ret;
pm_runtime_get_sync(&adap->dev);
+#ifdef CONFIG_ARCH_EXYNOS_PM
exynos_update_ip_idle_status(i2c->idle_ip_index, 0);
+#endif
ret = clk_enable(i2c->clk);
if (ret)
return ret;
if (ret != -EAGAIN) {
clk_disable(i2c->clk);
+#ifdef CONFIG_ARCH_EXYNOS_PM
exynos_update_ip_idle_status(i2c->idle_ip_index, 1);
+#endif
pm_runtime_put(&adap->dev);
return ret;
}
}
clk_disable(i2c->clk);
+#ifdef CONFIG_ARCH_EXYNOS_PM
exynos_update_ip_idle_status(i2c->idle_ip_index, 1);
+#endif
pm_runtime_put(&adap->dev);
return -EREMOTEIO;
}
i2c->adap.class = I2C_CLASS_DEPRECATED;
i2c->tx_setup = 50;
+#ifdef CONFIG_ARCH_EXYNOS_PM
i2c->idle_ip_index = exynos_get_idle_ip_index(dev_name(&pdev->dev));
+#endif
init_waitqueue_head(&i2c->wait);