#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/regmap.h>
#include <linux/reset-controller.h>
#include <linux/of_address.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#define LANTIQ_RCU_RESET_TIMEOUT …
struct lantiq_rcu_reset_priv { … };
static struct lantiq_rcu_reset_priv *to_lantiq_rcu_reset_priv(
struct reset_controller_dev *rcdev)
{ … }
static int lantiq_rcu_reset_status(struct reset_controller_dev *rcdev,
unsigned long id)
{ … }
static int lantiq_rcu_reset_status_timeout(struct reset_controller_dev *rcdev,
unsigned long id, bool assert)
{ … }
static int lantiq_rcu_reset_update(struct reset_controller_dev *rcdev,
unsigned long id, bool assert)
{ … }
static int lantiq_rcu_reset_assert(struct reset_controller_dev *rcdev,
unsigned long id)
{ … }
static int lantiq_rcu_reset_deassert(struct reset_controller_dev *rcdev,
unsigned long id)
{ … }
static int lantiq_rcu_reset_reset(struct reset_controller_dev *rcdev,
unsigned long id)
{ … }
static const struct reset_control_ops lantiq_rcu_reset_ops = …;
static int lantiq_rcu_reset_of_parse(struct platform_device *pdev,
struct lantiq_rcu_reset_priv *priv)
{ … }
static int lantiq_rcu_reset_xlate(struct reset_controller_dev *rcdev,
const struct of_phandle_args *reset_spec)
{ … }
static int lantiq_rcu_reset_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id lantiq_rcu_reset_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, lantiq_rcu_reset_dt_ids);
static struct platform_driver lantiq_rcu_reset_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;