linux/drivers/spi/spi-cs42l43.c

// SPDX-License-Identifier: GPL-2.0
//
// CS42L43 SPI Controller Driver
//
// Copyright (C) 2022-2023 Cirrus Logic, Inc. and
//                         Cirrus Logic International Semiconductor Ltd.

#include <linux/acpi.h>
#include <linux/array_size.h>
#include <linux/bits.h>
#include <linux/bitfield.h>
#include <linux/cleanup.h>
#include <linux/device.h>
#include <linux/errno.h>
#include <linux/gpio/machine.h>
#include <linux/gpio/property.h>
#include <linux/mfd/cs42l43.h>
#include <linux/mfd/cs42l43-regs.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/spi/spi.h>
#include <linux/units.h>

#define CS42L43_FIFO_SIZE
#define CS42L43_SPI_ROOT_HZ
#define CS42L43_SPI_MAX_LENGTH

enum cs42l43_spi_cmd {};

struct cs42l43_spi {};

static const unsigned int cs42l43_clock_divs[] =;

static struct spi_board_info amp_info_template =;

static const struct software_node cs42l43_gpiochip_swnode =;

static const struct software_node_ref_args cs42l43_cs_refs[] =;

static const struct property_entry cs42l43_cs_props[] =;

static int cs42l43_spi_tx(struct regmap *regmap, const u8 *buf, unsigned int len)
{}

static int cs42l43_spi_rx(struct regmap *regmap, u8 *buf, unsigned int len)
{}

static int cs42l43_transfer_one(struct spi_controller *ctlr, struct spi_device *spi,
				struct spi_transfer *tfr)
{}

static void cs42l43_set_cs(struct spi_device *spi, bool is_high)
{}

static int cs42l43_prepare_message(struct spi_controller *ctlr, struct spi_message *msg)
{}

static int cs42l43_prepare_transfer_hardware(struct spi_controller *ctlr)
{}

static int cs42l43_unprepare_transfer_hardware(struct spi_controller *ctlr)
{}

static size_t cs42l43_spi_max_length(struct spi_device *spi)
{}

static struct fwnode_handle *cs42l43_find_xu_node(struct fwnode_handle *fwnode)
{}

static struct spi_board_info *cs42l43_create_bridge_amp(struct cs42l43_spi *priv,
							const char * const name,
							int cs, int spkid)
{}

static void cs42l43_release_of_node(void *data)
{}

static void cs42l43_release_sw_node(void *data)
{}

static int cs42l43_spi_probe(struct platform_device *pdev)
{}

static const struct platform_device_id cs42l43_spi_id_table[] =;
MODULE_DEVICE_TABLE(platform, cs42l43_spi_id_table);

static struct platform_driver cs42l43_spi_driver =;
module_platform_driver();

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