| /* SPDX-License-Identifier: GPL-2.0+*/ |
| /* |
| * Copyright (C) 2014-2022 Amlogic, Inc. All rights reserved. |
| * |
| * All information contained herein is Amlogic confidential. |
| * |
| * This software is provided to you pursuant to Software License Agreement |
| * (SLA) with Amlogic Inc ("Amlogic"). This software may be used |
| * only in accordance with the terms of this agreement. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification is strictly prohibited without prior written permission from |
| * Amlogic. |
| * |
| * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| */ |
| #ifndef __PM_H__ |
| #define __PM_H__ |
| |
| #include <linux/list.h> |
| |
| struct dev_pm_ops { |
| struct list_head link; |
| char *name; |
| int (*suspend)(void *); |
| int (*resume)(void *); |
| int (*poweroff)(void *); |
| }; |
| |
| typedef int (*FUNC_PTR) (void *); |
| |
| void pm_initialize(void); |
| void pm_suspend(void); |
| void pm_poweroff(void); |
| struct dev_pm_ops *dev_register_pm(char *name, FUNC_PTR suspend, |
| FUNC_PTR resume, FUNC_PTR poweroff); |
| int dev_unregister_pm(struct dev_pm_ops *arg); |
| |
| #endif |