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 wfx_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 /* if true HIF D_out is sampled on the rising edge of the clock (intended to be used in 27 * 50Mhz SDIO) 28 */ 29 bool use_rising_clk; 30 }; 31 32 struct wfx_dev *wfx_init_common(struct device *dev, const struct wfx_platform_data *pdata, 33 const struct wfx_hwbus_ops *hwbus_ops, void *hwbus_priv); 34 35 int wfx_probe(struct wfx_dev *wdev); 36 void wfx_release(struct wfx_dev *wdev); 37 38 bool wfx_api_older_than(struct wfx_dev *wdev, int major, int minor); 39 int wfx_send_pds(struct wfx_dev *wdev, u8 *buf, size_t len); 40 41 #endif 42