1#- 2# SPDX-License-Identifier: BSD-2-Clause 3# 4# Copyright (c) 2023 Arm Ltd 5# 6# Redistribution and use in source and binary forms, with or without 7# modification, are permitted provided that the following conditions 8# are met: 9# 1. Redistributions of source code must retain the above copyright 10# notice unmodified, this list of conditions, and the following 11# disclaimer. 12# 2. Redistributions in binary form must reproduce the above copyright 13# notice, this list of conditions and the following disclaimer in the 14# documentation and/or other materials provided with the distribution. 15# 16# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26# 27 28INTERFACE scmi; 29 30HEADER { 31 struct scmi_msg; 32}; 33 34METHOD int transport_init { 35 device_t dev; 36}; 37 38METHOD void transport_cleanup { 39 device_t dev; 40}; 41 42METHOD int xfer_msg { 43 device_t dev; 44 struct scmi_msg *msg; 45}; 46 47METHOD int poll_msg { 48 device_t dev; 49 struct scmi_msg *msg; 50 unsigned int tmo; 51}; 52 53METHOD int collect_reply { 54 device_t dev; 55 struct scmi_msg *msg; 56}; 57 58METHOD void tx_complete { 59 device_t dev; 60 void *chan; 61}; 62 63METHOD void clear_channel { 64 device_t dev; 65 void *chan; 66}; 67