162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0+
262306a36Sopenharmony_ci *
362306a36Sopenharmony_ci * Copyright 2013 Ideas On Board SPRL
462306a36Sopenharmony_ci * Copyright 2013, 2014 Horms Solutions Ltd.
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Contact: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
762306a36Sopenharmony_ci * Contact: Simon Horman <horms@verge.net.au>
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#ifndef __LINUX_CLK_RENESAS_H_
1162306a36Sopenharmony_ci#define __LINUX_CLK_RENESAS_H_
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci#include <linux/types.h>
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_cistruct device;
1662306a36Sopenharmony_cistruct device_node;
1762306a36Sopenharmony_cistruct generic_pm_domain;
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_civoid cpg_mstp_add_clk_domain(struct device_node *np);
2062306a36Sopenharmony_ci#ifdef CONFIG_CLK_RENESAS_CPG_MSTP
2162306a36Sopenharmony_ciint cpg_mstp_attach_dev(struct generic_pm_domain *unused, struct device *dev);
2262306a36Sopenharmony_civoid cpg_mstp_detach_dev(struct generic_pm_domain *unused, struct device *dev);
2362306a36Sopenharmony_ci#else
2462306a36Sopenharmony_ci#define cpg_mstp_attach_dev	NULL
2562306a36Sopenharmony_ci#define cpg_mstp_detach_dev	NULL
2662306a36Sopenharmony_ci#endif
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci#ifdef CONFIG_CLK_RENESAS_CPG_MSSR
2962306a36Sopenharmony_ciint cpg_mssr_attach_dev(struct generic_pm_domain *unused, struct device *dev);
3062306a36Sopenharmony_civoid cpg_mssr_detach_dev(struct generic_pm_domain *unused, struct device *dev);
3162306a36Sopenharmony_ci#else
3262306a36Sopenharmony_ci#define cpg_mssr_attach_dev	NULL
3362306a36Sopenharmony_ci#define cpg_mssr_detach_dev	NULL
3462306a36Sopenharmony_ci#endif
3562306a36Sopenharmony_ci#endif
36