linux/drivers/soc/microchip/mpfs-sys-controller.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Microchip PolarFire SoC (MPFS) system controller driver
 *
 * Copyright (c) 2020-2021 Microchip Corporation. All rights reserved.
 *
 * Author: Conor Dooley <[email protected]>
 *
 */

#include <linux/slab.h>
#include <linux/kref.h>
#include <linux/module.h>
#include <linux/jiffies.h>
#include <linux/mtd/mtd.h>
#include <linux/spi/spi.h>
#include <linux/interrupt.h>
#include <linux/of.h>
#include <linux/mailbox_client.h>
#include <linux/platform_device.h>
#include <soc/microchip/mpfs.h>

/*
 * This timeout must be long, as some services (example: image authentication)
 * take significant time to complete
 */
#define MPFS_SYS_CTRL_TIMEOUT_MS

static DEFINE_MUTEX(transaction_lock);

struct mpfs_sys_controller {};

int mpfs_blocking_transaction(struct mpfs_sys_controller *sys_controller, struct mpfs_mss_msg *msg)
{}
EXPORT_SYMBOL();

static void mpfs_sys_controller_rx_callback(struct mbox_client *client, void *msg)
{}

static void mpfs_sys_controller_delete(struct kref *kref)
{}

static void mpfs_sys_controller_put(void *data)
{}

struct mtd_info *mpfs_sys_controller_get_flash(struct mpfs_sys_controller *mpfs_client)
{}
EXPORT_SYMBOL();

static struct platform_device subdevs[] =;

static int mpfs_sys_controller_probe(struct platform_device *pdev)
{}

static void mpfs_sys_controller_remove(struct platform_device *pdev)
{}

static const struct of_device_id mpfs_sys_controller_of_match[] =;
MODULE_DEVICE_TABLE(of, mpfs_sys_controller_of_match);

struct mpfs_sys_controller *mpfs_sys_controller_get(struct device *dev)
{}
EXPORT_SYMBOL();

static struct platform_driver mpfs_sys_controller_driver =;
module_platform_driver();

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