#include <linux/io.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/bitops.h>
#include <linux/of.h>
#include <linux/regmap.h>
#include <linux/mfd/syscon.h>
#include <linux/reset-controller.h>
#include <linux/reset.h>
#include <linux/platform_device.h>
#define PERIPH_ASSERT_OFFSET …
#define PERIPH_DEASSERT_OFFSET …
#define PERIPH_MAX_INDEX …
#define SC_MEDIA_RSTEN …
#define SC_MEDIA_RSTDIS …
#define MEDIA_MAX_INDEX …
#define to_reset_data(x) …
enum hi6220_reset_ctrl_type { … };
struct hi6220_reset_data { … };
static int hi6220_peripheral_assert(struct reset_controller_dev *rc_dev,
unsigned long idx)
{ … }
static int hi6220_peripheral_deassert(struct reset_controller_dev *rc_dev,
unsigned long idx)
{ … }
static const struct reset_control_ops hi6220_peripheral_reset_ops = …;
static int hi6220_media_assert(struct reset_controller_dev *rc_dev,
unsigned long idx)
{ … }
static int hi6220_media_deassert(struct reset_controller_dev *rc_dev,
unsigned long idx)
{ … }
static const struct reset_control_ops hi6220_media_reset_ops = …;
#define AO_SCTRL_SC_PW_CLKEN0 …
#define AO_SCTRL_SC_PW_CLKDIS0 …
#define AO_SCTRL_SC_PW_RSTEN0 …
#define AO_SCTRL_SC_PW_RSTDIS0 …
#define AO_SCTRL_SC_PW_ISOEN0 …
#define AO_SCTRL_SC_PW_ISODIS0 …
#define AO_MAX_INDEX …
static int hi6220_ao_assert(struct reset_controller_dev *rc_dev,
unsigned long idx)
{ … }
static int hi6220_ao_deassert(struct reset_controller_dev *rc_dev,
unsigned long idx)
{ … }
static const struct reset_control_ops hi6220_ao_reset_ops = …;
static int hi6220_reset_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id hi6220_reset_match[] = …;
MODULE_DEVICE_TABLE(of, hi6220_reset_match);
static struct platform_driver hi6220_reset_driver = …;
static int __init hi6220_reset_init(void)
{ … }
postcore_initcall(hi6220_reset_init);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;