1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Device probe and register. 4 * 5 * Copyright (c) 2017-2019, 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 "bus.h" 17#include "hif_api_general.h" 18 19struct wfx_dev; 20 21struct wfx_platform_data { 22 /* Keyset and ".sec" extention will 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 33struct 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); 37void wfx_free_common(struct wfx_dev *wdev); 38 39int wfx_probe(struct wfx_dev *wdev); 40void wfx_release(struct wfx_dev *wdev); 41 42struct gpio_desc *wfx_get_gpio(struct device *dev, int override, 43 const char *label); 44bool wfx_api_older_than(struct wfx_dev *wdev, int major, int minor); 45int wfx_send_pds(struct wfx_dev *wdev, unsigned char *buf, size_t len); 46 47#endif 48