#include <linux/device.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/io.h>
#include <linux/nvmem-provider.h>
#include <linux/platform_device.h>
#include <linux/property.h>
struct mtk_efuse_pdata { … };
struct mtk_efuse_priv { … };
static int mtk_reg_read(void *context,
unsigned int reg, void *_val, size_t bytes)
{ … }
static int mtk_efuse_gpu_speedbin_pp(void *context, const char *id, int index,
unsigned int offset, void *data, size_t bytes)
{ … }
static void mtk_efuse_fixup_dt_cell_info(struct nvmem_device *nvmem,
struct nvmem_cell_info *cell)
{ … }
static int mtk_efuse_probe(struct platform_device *pdev)
{ … }
static const struct mtk_efuse_pdata mtk_mt8186_efuse_pdata = …;
static const struct mtk_efuse_pdata mtk_efuse_pdata = …;
static const struct of_device_id mtk_efuse_of_match[] = …;
MODULE_DEVICE_TABLE(of, mtk_efuse_of_match);
static void mtk_efuse_remove(struct platform_device *pdev)
{ … }
static struct platform_driver mtk_efuse_driver = …;
static int __init mtk_efuse_init(void)
{ … }
static void __exit mtk_efuse_exit(void)
{ … }
subsys_initcall(mtk_efuse_init);
module_exit(mtk_efuse_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;