#include <linux/time.h>
#include <linux/delay.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/dma-mapping.h>
#include <linux/platform_device.h>
#include <linux/reset.h>
#include <ufs/ufshcd.h>
#include "ufshcd-pltfrm.h"
#include <ufs/unipro.h>
#include "ufs-hisi.h"
#include <ufs/ufshci.h>
#include <ufs/ufs_quirks.h>
static int ufs_hisi_check_hibern8(struct ufs_hba *hba)
{ … }
static void ufs_hisi_clk_init(struct ufs_hba *hba)
{ … }
static void ufs_hisi_soc_init(struct ufs_hba *hba)
{ … }
static int ufs_hisi_link_startup_pre_change(struct ufs_hba *hba)
{ … }
static int ufs_hisi_link_startup_post_change(struct ufs_hba *hba)
{ … }
static int ufs_hisi_link_startup_notify(struct ufs_hba *hba,
enum ufs_notify_change_status status)
{ … }
static void ufs_hisi_set_dev_cap(struct ufs_host_params *host_params)
{ … }
static void ufs_hisi_pwr_change_pre_change(struct ufs_hba *hba)
{ … }
static int ufs_hisi_pwr_change_notify(struct ufs_hba *hba,
enum ufs_notify_change_status status,
struct ufs_pa_layer_attr *dev_max_params,
struct ufs_pa_layer_attr *dev_req_params)
{ … }
static int ufs_hisi_suspend_prepare(struct device *dev)
{ … }
static int ufs_hisi_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op,
enum ufs_notify_change_status status)
{ … }
static int ufs_hisi_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
{ … }
static int ufs_hisi_get_resource(struct ufs_hisi_host *host)
{ … }
static void ufs_hisi_set_pm_lvl(struct ufs_hba *hba)
{ … }
static int ufs_hisi_init_common(struct ufs_hba *hba)
{ … }
static int ufs_hi3660_init(struct ufs_hba *hba)
{ … }
static int ufs_hi3670_init(struct ufs_hba *hba)
{ … }
static const struct ufs_hba_variant_ops ufs_hba_hi3660_vops = …;
static const struct ufs_hba_variant_ops ufs_hba_hi3670_vops = …;
static const struct of_device_id ufs_hisi_of_match[] = …;
MODULE_DEVICE_TABLE(of, ufs_hisi_of_match);
static int ufs_hisi_probe(struct platform_device *pdev)
{ … }
static void ufs_hisi_remove(struct platform_device *pdev)
{ … }
static const struct dev_pm_ops ufs_hisi_pm_ops = …;
static struct platform_driver ufs_hisi_pltform = …;
module_platform_driver(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;
MODULE_DESCRIPTION(…) …;