#include <linux/delay.h>
#include <linux/io.h>
#include <linux/iopoll.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/reset-controller.h>
#include <linux/slab.h>
#include <linux/types.h>
#define to_hsdk_rst(p) …
struct hsdk_rst { … };
static const u32 rst_map[] = …;
#define HSDK_MAX_RESETS …
#define CGU_SYS_RST_CTRL …
#define CGU_IP_SW_RESET …
#define CGU_IP_SW_RESET_DELAY_SHIFT …
#define CGU_IP_SW_RESET_DELAY_MASK …
#define CGU_IP_SW_RESET_DELAY …
#define CGU_IP_SW_RESET_RESET …
#define SW_RESET_TIMEOUT …
static void hsdk_reset_config(struct hsdk_rst *rst, unsigned long id)
{ … }
static int hsdk_reset_do(struct hsdk_rst *rst)
{ … }
static int hsdk_reset_reset(struct reset_controller_dev *rcdev,
unsigned long id)
{ … }
static const struct reset_control_ops hsdk_reset_ops = …;
static int hsdk_reset_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id hsdk_reset_dt_match[] = …;
static struct platform_driver hsdk_reset_driver = …;
builtin_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;