1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Device probe and register. 4 * 5 * Copyright (c) 2017-2020, Silicon Laboratories, Inc. 6 * Copyright (c) 2010, ST-Ericsson 7 * Copyright (c) 2006, Michael Wu <flamingice@sourmilk.net> 8 * Copyright 2004-2006 Jean-Baptiste Note <jbnote@gmail.com>, et al. 9 */ 10 #ifndef WFX_MAIN_H 11 #define WFX_MAIN_H 12 13 #include <linux/device.h> 14 #include <linux/gpio/consumer.h> 15 16 #include "hif_api_general.h" 17 18 struct wfx_dev; 19 struct hwbus_ops; 20 21 struct wfx_platform_data { 22 /* Keyset and ".sec" extension will be appended to this string */ 23 const char *file_fw; 24 const char *file_pds; 25 struct gpio_desc *gpio_wakeup; 26 /* 27 * if true HIF D_out is sampled on the rising edge of the clock 28 * (intended to be used in 50Mhz SDIO) 29 */ 30 bool use_rising_clk; 31 }; 32 33 struct wfx_dev *wfx_init_common(struct device *dev, 34 const struct wfx_platform_data *pdata, 35 const struct hwbus_ops *hwbus_ops, 36 void *hwbus_priv); 37 38 int wfx_probe(struct wfx_dev *wdev); 39 void wfx_release(struct wfx_dev *wdev); 40 41 bool wfx_api_older_than(struct wfx_dev *wdev, int major, int minor); 42 int wfx_send_pds(struct wfx_dev *wdev, u8 *buf, size_t len); 43 44 #endif 45