linux/drivers/net/wireless/st/cw1200/cw1200_sdio.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Mac80211 SDIO driver for ST-Ericsson CW1200 device
 *
 * Copyright (c) 2010, ST-Ericsson
 * Author: Dmitry Tarnyagin <[email protected]>
 */

#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/gpio/consumer.h>
#include <linux/delay.h>
#include <linux/mmc/host.h>
#include <linux/mmc/sdio_func.h>
#include <linux/mmc/card.h>
#include <linux/mmc/sdio.h>
#include <linux/mmc/sdio_ids.h>
#include <net/mac80211.h>

#include "cw1200.h"
#include "hwbus.h"
#include <linux/platform_data/net-cw1200.h>
#include "hwio.h"

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();

#define SDIO_BLOCK_SIZE

/* Default platform data for Sagrad modules */
static struct cw1200_platform_data_sdio sagrad_109x_evk_platform_data =;

/* Allow platform data to be overridden */
static struct cw1200_platform_data_sdio *global_plat_data =;

void __init cw1200_sdio_set_platform_data(struct cw1200_platform_data_sdio *pdata)
{}

struct hwbus_priv {};

static const struct sdio_device_id cw1200_sdio_ids[] =;
MODULE_DEVICE_TABLE(sdio, cw1200_sdio_ids);

/* hwbus_ops implemetation */

static int cw1200_sdio_memcpy_fromio(struct hwbus_priv *self,
				     unsigned int addr,
				     void *dst, int count)
{}

static int cw1200_sdio_memcpy_toio(struct hwbus_priv *self,
				   unsigned int addr,
				   const void *src, int count)
{}

static void cw1200_sdio_lock(struct hwbus_priv *self)
{}

static void cw1200_sdio_unlock(struct hwbus_priv *self)
{}

static void cw1200_sdio_irq_handler(struct sdio_func *func)
{}

static irqreturn_t cw1200_gpio_hardirq(int irq, void *dev_id)
{}

static irqreturn_t cw1200_gpio_irq(int irq, void *dev_id)
{}

static int cw1200_request_irq(struct hwbus_priv *self)
{}

static int cw1200_sdio_irq_subscribe(struct hwbus_priv *self)
{}

static int cw1200_sdio_irq_unsubscribe(struct hwbus_priv *self)
{}

/* Like the rest of the driver, this only supports one device per system */
static struct gpio_desc *cw1200_reset;
static struct gpio_desc *cw1200_powerup;

static int cw1200_sdio_off(const struct cw1200_platform_data_sdio *pdata)
{}

static int cw1200_sdio_on(const struct cw1200_platform_data_sdio *pdata)
{}

static size_t cw1200_sdio_align_size(struct hwbus_priv *self, size_t size)
{}

static int cw1200_sdio_pm(struct hwbus_priv *self, bool suspend)
{}

static const struct hwbus_ops cw1200_sdio_hwbus_ops =;

/* Probe Function to be called by SDIO stack when device is discovered */
static int cw1200_sdio_probe(struct sdio_func *func,
			     const struct sdio_device_id *id)
{}

/* Disconnect Function to be called by SDIO stack when
 * device is disconnected
 */
static void cw1200_sdio_disconnect(struct sdio_func *func)
{}

#ifdef CONFIG_PM
static int cw1200_sdio_suspend(struct device *dev)
{}

static int cw1200_sdio_resume(struct device *dev)
{}

static const struct dev_pm_ops cw1200_pm_ops =;
#endif

static struct sdio_driver sdio_driver =;

/* Init Module function -> Called by insmod */
static int __init cw1200_sdio_init(void)
{}

/* Called at Driver Unloading */
static void __exit cw1200_sdio_exit(void)
{}


module_init();
module_exit(cw1200_sdio_exit);