Merge tag 'io_uring-5.11-2021-01-16' of git://git.kernel.dk/linux-block
[linux/fpc-iii.git] / drivers / staging / wfx / bus.h
blobca04b3da6204eec818d7c273e3a98a78d44ea80a
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3 * Common bus abstraction layer.
5 * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
6 * Copyright (c) 2010, ST-Ericsson
7 */
8 #ifndef WFX_BUS_H
9 #define WFX_BUS_H
11 #include <linux/mmc/sdio_func.h>
12 #include <linux/spi/spi.h>
14 #define WFX_REG_CONFIG 0x0
15 #define WFX_REG_CONTROL 0x1
16 #define WFX_REG_IN_OUT_QUEUE 0x2
17 #define WFX_REG_AHB_DPORT 0x3
18 #define WFX_REG_BASE_ADDR 0x4
19 #define WFX_REG_SRAM_DPORT 0x5
20 #define WFX_REG_SET_GEN_R_W 0x6
21 #define WFX_REG_FRAME_OUT 0x7
23 struct hwbus_ops {
24 int (*copy_from_io)(void *bus_priv, unsigned int addr,
25 void *dst, size_t count);
26 int (*copy_to_io)(void *bus_priv, unsigned int addr,
27 const void *src, size_t count);
28 int (*irq_subscribe)(void *bus_priv);
29 int (*irq_unsubscribe)(void *bus_priv);
30 void (*lock)(void *bus_priv);
31 void (*unlock)(void *bus_priv);
32 size_t (*align_size)(void *bus_priv, size_t size);
35 extern struct sdio_driver wfx_sdio_driver;
36 extern struct spi_driver wfx_spi_driver;
38 #endif