.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright (c) 2013 Samsung Electronics Co., Ltd. |
---|
3 | 4 | * Copyright (c) 2013 Linaro Ltd. |
---|
4 | 5 | * Author: Thomas Abraham <thomas.ab@samsung.com> |
---|
5 | | - * |
---|
6 | | - * This program is free software; you can redistribute it and/or modify |
---|
7 | | - * it under the terms of the GNU General Public License version 2 as |
---|
8 | | - * published by the Free Software Foundation. |
---|
9 | 6 | * |
---|
10 | 7 | * Common Clock Framework support for all Samsung platforms |
---|
11 | 8 | */ |
---|
.. | .. |
---|
26 | 23 | void __iomem *reg_base; |
---|
27 | 24 | struct device *dev; |
---|
28 | 25 | spinlock_t lock; |
---|
29 | | - /* clk_data must be the last entry due to variable lenght 'hws' array */ |
---|
| 26 | + /* clk_data must be the last entry due to variable length 'hws' array */ |
---|
30 | 27 | struct clk_hw_onecell_data clk_data; |
---|
31 | 28 | }; |
---|
32 | 29 | |
---|
.. | .. |
---|
279 | 276 | void __iomem *reg_base; |
---|
280 | 277 | struct samsung_clk_reg_dump *rdump; |
---|
281 | 278 | unsigned int rd_num; |
---|
| 279 | + const struct samsung_clk_reg_dump *rsuspend; |
---|
| 280 | + unsigned int rsuspend_num; |
---|
282 | 281 | }; |
---|
283 | 282 | |
---|
284 | 283 | struct samsung_cmu_info { |
---|
.. | .. |
---|
358 | 357 | |
---|
359 | 358 | extern unsigned long _get_rate(const char *clk_name); |
---|
360 | 359 | |
---|
361 | | -extern void samsung_clk_sleep_init(void __iomem *reg_base, |
---|
| 360 | +#ifdef CONFIG_PM_SLEEP |
---|
| 361 | +extern void samsung_clk_extended_sleep_init(void __iomem *reg_base, |
---|
362 | 362 | const unsigned long *rdump, |
---|
363 | | - unsigned long nr_rdump); |
---|
| 363 | + unsigned long nr_rdump, |
---|
| 364 | + const struct samsung_clk_reg_dump *rsuspend, |
---|
| 365 | + unsigned long nr_rsuspend); |
---|
| 366 | +#else |
---|
| 367 | +static inline void samsung_clk_extended_sleep_init(void __iomem *reg_base, |
---|
| 368 | + const unsigned long *rdump, |
---|
| 369 | + unsigned long nr_rdump, |
---|
| 370 | + const struct samsung_clk_reg_dump *rsuspend, |
---|
| 371 | + unsigned long nr_rsuspend) {} |
---|
| 372 | +#endif |
---|
| 373 | +#define samsung_clk_sleep_init(reg_base, rdump, nr_rdump) \ |
---|
| 374 | + samsung_clk_extended_sleep_init(reg_base, rdump, nr_rdump, NULL, 0) |
---|
364 | 375 | |
---|
365 | 376 | extern void samsung_clk_save(void __iomem *base, |
---|
366 | 377 | struct samsung_clk_reg_dump *rd, |
---|