linux/drivers/mmc/core/sdio_bus.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  linux/drivers/mmc/core/sdio_bus.c
 *
 *  Copyright 2007 Pierre Ossman
 *
 * SDIO function driver model
 */

#include <linux/device.h>
#include <linux/err.h>
#include <linux/export.h>
#include <linux/slab.h>
#include <linux/pm_runtime.h>
#include <linux/pm_domain.h>
#include <linux/acpi.h>
#include <linux/sysfs.h>

#include <linux/mmc/card.h>
#include <linux/mmc/host.h>
#include <linux/mmc/sdio_func.h>
#include <linux/of.h>

#include "core.h"
#include "card.h"
#include "sdio_cis.h"
#include "sdio_bus.h"

#define to_sdio_driver(d)

/* show configuration fields */
#define sdio_config_attr(field, format_string, args...)

sdio_config_attr();
sdio_config_attr();
sdio_config_attr();
sdio_config_attr();
sdio_config_attr();

#define sdio_info_attr(num)

sdio_info_attr();
sdio_info_attr();
sdio_info_attr();
sdio_info_attr();

static struct attribute *sdio_dev_attrs[] =;
ATTRIBUTE_GROUPS();

static const struct sdio_device_id *sdio_match_one(struct sdio_func *func,
	const struct sdio_device_id *id)
{}

static const struct sdio_device_id *sdio_match_device(struct sdio_func *func,
	const struct sdio_driver *sdrv)
{}

static int sdio_bus_match(struct device *dev, const struct device_driver *drv)
{}

static int
sdio_bus_uevent(const struct device *dev, struct kobj_uevent_env *env)
{}

static int sdio_bus_probe(struct device *dev)
{}

static void sdio_bus_remove(struct device *dev)
{}

static const struct dev_pm_ops sdio_bus_pm_ops =;

static const struct bus_type sdio_bus_type =;

int sdio_register_bus(void)
{}

void sdio_unregister_bus(void)
{}

/**
 *	__sdio_register_driver - register a function driver
 *	@drv: SDIO function driver
 *	@owner: owning module/driver
 */
int __sdio_register_driver(struct sdio_driver *drv, struct module *owner)
{}
EXPORT_SYMBOL_GPL();

/**
 *	sdio_unregister_driver - unregister a function driver
 *	@drv: SDIO function driver
 */
void sdio_unregister_driver(struct sdio_driver *drv)
{}
EXPORT_SYMBOL_GPL();

static void sdio_release_func(struct device *dev)
{}

/*
 * Allocate and initialise a new SDIO function structure.
 */
struct sdio_func *sdio_alloc_func(struct mmc_card *card)
{}

#ifdef CONFIG_ACPI
static void sdio_acpi_set_handle(struct sdio_func *func)
{}
#else
static inline void sdio_acpi_set_handle(struct sdio_func *func) {}
#endif

static void sdio_set_of_node(struct sdio_func *func)
{}

/*
 * Register a new SDIO function with the driver model.
 */
int sdio_add_func(struct sdio_func *func)
{}

/*
 * Unregister a SDIO function with the driver model, and
 * (eventually) free it.
 * This function can be called through error paths where sdio_add_func() was
 * never executed (because a failure occurred at an earlier point).
 */
void sdio_remove_func(struct sdio_func *func)
{}