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