linux/drivers/hwspinlock/qcom_hwspinlock.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (c) 2013, The Linux Foundation. All rights reserved.
 * Copyright (c) 2015, Sony Mobile Communications AB
 */

#include <linux/hwspinlock.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>

#include "hwspinlock_internal.h"

#define QCOM_MUTEX_APPS_PROC_ID
#define QCOM_MUTEX_NUM_LOCKS

struct qcom_hwspinlock_of_data {};

static int qcom_hwspinlock_trylock(struct hwspinlock *lock)
{}

static void qcom_hwspinlock_unlock(struct hwspinlock *lock)
{}

static int qcom_hwspinlock_bust(struct hwspinlock *lock, unsigned int id)
{}

static const struct hwspinlock_ops qcom_hwspinlock_ops =;

static const struct regmap_config sfpb_mutex_config =;

static const struct qcom_hwspinlock_of_data of_sfpb_mutex =;

static const struct regmap_config tcsr_msm8226_mutex_config =;

static const struct qcom_hwspinlock_of_data of_msm8226_tcsr_mutex =;

static const struct regmap_config tcsr_mutex_config =;

static const struct qcom_hwspinlock_of_data of_tcsr_mutex =;

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

static struct regmap *qcom_hwspinlock_probe_syscon(struct platform_device *pdev,
						   u32 *base, u32 *stride)
{}

static struct regmap *qcom_hwspinlock_probe_mmio(struct platform_device *pdev,
						 u32 *offset, u32 *stride)
{}

static int qcom_hwspinlock_probe(struct platform_device *pdev)
{}

static struct platform_driver qcom_hwspinlock_driver =;

static int __init qcom_hwspinlock_init(void)
{}
/* board init code might need to reserve hwspinlocks for predefined purposes */
postcore_initcall(qcom_hwspinlock_init);

static void __exit qcom_hwspinlock_exit(void)
{}
module_exit(qcom_hwspinlock_exit);

MODULE_LICENSE();
MODULE_DESCRIPTION();