1f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev/* 2f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev * Copyright (c) 2014 Qualcomm Atheros, Inc. 3f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev * 4f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev * Permission to use, copy, modify, and/or distribute this software for any 5f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev * purpose with or without fee is hereby granted, provided that the above 6f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev * copyright notice and this permission notice appear in all copies. 7f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev * 8f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev */ 16f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev 17f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev#ifndef __WIL_PLATFORM_H__ 18f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev#define __WIL_PLATFORM_H__ 19f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev 20f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratievstruct device; 21f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev 22f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev/** 23f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev * struct wil_platform_ops - wil platform module callbacks 24f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev */ 25f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratievstruct wil_platform_ops { 26f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev int (*bus_request)(void *handle, uint32_t kbps /* KBytes/Sec */); 27f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev int (*suspend)(void *handle); 28f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev int (*resume)(void *handle); 29f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev void (*uninit)(void *handle); 30f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev}; 31f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev 32f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratievvoid *wil_platform_init(struct device *dev, struct wil_platform_ops *ops); 33f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev 34f772ebfb941a58af9e7adf9117bc0bb4c7d22f28Vladimir Kondratiev#endif /* __WIL_PLATFORM_H__ */ 35