#include <linux/clk.h>
#include <linux/counter.h>
#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <soc/at91/atmel_tcb.h>
#define ATMEL_TC_CMR_MASK …
#define ATMEL_TC_QDEN …
#define ATMEL_TC_POSEN …
struct mchp_tc_data { … };
static const enum counter_function mchp_tc_count_functions[] = …;
static const enum counter_synapse_action mchp_tc_synapse_actions[] = …;
static struct counter_signal mchp_tc_count_signals[] = …;
static struct counter_synapse mchp_tc_count_synapses[] = …;
static int mchp_tc_count_function_read(struct counter_device *counter,
struct counter_count *count,
enum counter_function *function)
{ … }
static int mchp_tc_count_function_write(struct counter_device *counter,
struct counter_count *count,
enum counter_function function)
{ … }
static int mchp_tc_count_signal_read(struct counter_device *counter,
struct counter_signal *signal,
enum counter_signal_level *lvl)
{ … }
static int mchp_tc_count_action_read(struct counter_device *counter,
struct counter_count *count,
struct counter_synapse *synapse,
enum counter_synapse_action *action)
{ … }
static int mchp_tc_count_action_write(struct counter_device *counter,
struct counter_count *count,
struct counter_synapse *synapse,
enum counter_synapse_action action)
{ … }
static int mchp_tc_count_read(struct counter_device *counter,
struct counter_count *count, u64 *val)
{ … }
static struct counter_count mchp_tc_counts[] = …;
static const struct counter_ops mchp_tc_ops = …;
static const struct atmel_tcb_config tcb_rm9200_config = …;
static const struct atmel_tcb_config tcb_sam9x5_config = …;
static const struct atmel_tcb_config tcb_sama5d2_config = …;
static const struct atmel_tcb_config tcb_sama5d3_config = …;
static const struct of_device_id atmel_tc_of_match[] = …;
static void mchp_tc_clk_remove(void *ptr)
{ … }
static int mchp_tc_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id mchp_tc_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, mchp_tc_dt_ids);
static struct platform_driver mchp_tc_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_IMPORT_NS(…);