diff options
Diffstat (limited to 'arch/arm/mach-tegra/include/mach/io_dpd.h')
-rw-r--r-- | arch/arm/mach-tegra/include/mach/io_dpd.h | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/arch/arm/mach-tegra/include/mach/io_dpd.h b/arch/arm/mach-tegra/include/mach/io_dpd.h index 8d153792b798..6eb05c3f1b93 100644 --- a/arch/arm/mach-tegra/include/mach/io_dpd.h +++ b/arch/arm/mach-tegra/include/mach/io_dpd.h @@ -1,7 +1,7 @@ /* * arch/arm/mach-tegra/include/mach/io_dpd.h * - * Copyright (C) 2012 NVIDIA Corporation. + * Copyright (c) 2012, NVIDIA CORPORATION. All rights reserved. * * This software is licensed under the terms of the GNU General Public * License version 2, as published by the Free Software Foundation, and @@ -16,25 +16,23 @@ #ifndef __MACH_TEGRA_IO_DPD_H #define __MACH_TEGRA_IO_DPD_H +#include <linux/delay.h> + +/* Tegra io dpd entry - for each supported driver */ +struct tegra_io_dpd { + const char *name; /* driver name */ + u8 io_dpd_reg_index; /* io dpd register index */ + u8 io_dpd_bit; /* bit position for driver in dpd register */ + u8 need_delay_dpd; /* work around to delay dpd after lp0*/ + struct delayed_work delay_dpd; + struct mutex delay_lock; +}; + /* Tegra io dpd APIs */ -#ifdef CONFIG_PM_SLEEP struct tegra_io_dpd *tegra_io_dpd_get(struct device *dev); /* get handle */ void tegra_io_dpd_enable(struct tegra_io_dpd *hnd); /* enable dpd */ void tegra_io_dpd_disable(struct tegra_io_dpd *hnd); /* disable dpd */ -#else -static inline struct tegra_io_dpd *tegra_io_dpd_get(struct device *dev) -{ - return NULL; -} -static inline void tegra_io_dpd_enable(struct tegra_io_dpd *hnd) -{ - /* Do nothing */ -} -static inline void tegra_io_dpd_disable(struct tegra_io_dpd *hnd) -{ - /* Do nothing */ -} -#endif +int tegra_io_dpd_init(void); #endif /* end __MACH_TEGRA_IO_DPD_H */ |