// SPDX-License-Identifier: GPL-2.0-only /* * This file is part of wl1271 * * Copyright (C) 2008-2010 Nokia Corporation * * Contact: Luciano Coelho <[email protected]> */ #include <linux/module.h> #include <linux/platform_device.h> #include <linux/spi/spi.h> #include <linux/interrupt.h> #include "wlcore.h" #include "debug.h" #include "wl12xx_80211.h" #include "io.h" #include "tx.h" bool wl1271_set_block_size(struct wl1271 *wl) { … } void wlcore_disable_interrupts(struct wl1271 *wl) { … } EXPORT_SYMBOL_GPL(…); void wlcore_disable_interrupts_nosync(struct wl1271 *wl) { … } EXPORT_SYMBOL_GPL(…); void wlcore_enable_interrupts(struct wl1271 *wl) { … } EXPORT_SYMBOL_GPL(…); void wlcore_synchronize_interrupts(struct wl1271 *wl) { … } EXPORT_SYMBOL_GPL(…); int wlcore_translate_addr(struct wl1271 *wl, int addr) { … } EXPORT_SYMBOL_GPL(…); /* Set the partitions to access the chip addresses * * To simplify driver code, a fixed (virtual) memory map is defined for * register and memory addresses. Because in the chipset, in different stages * of operation, those addresses will move around, an address translation * mechanism is required. * * There are four partitions (three memory and one register partition), * which are mapped to two different areas of the hardware memory. * * Virtual address * space * * | | * ...+----+--> mem.start * Physical address ... | | * space ... | | [PART_0] * ... | | * 00000000 <--+----+... ...+----+--> mem.start + mem.size * | | ... | | * |MEM | ... | | * | | ... | | * mem.size <--+----+... | | {unused area) * | | ... | | * |REG | ... | | * mem.size | | ... | | * + <--+----+... ...+----+--> reg.start * reg.size | | ... | | * |MEM2| ... | | [PART_1] * | | ... | | * ...+----+--> reg.start + reg.size * | | * */ int wlcore_set_partition(struct wl1271 *wl, const struct wlcore_partition_set *p) { … } EXPORT_SYMBOL_GPL(…); void wl1271_io_reset(struct wl1271 *wl) { … } void wl1271_io_init(struct wl1271 *wl) { … }