linux/drivers/rtc/rtc-pcf8523.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2012 Avionic Design GmbH
 */

#include <linux/bcd.h>
#include <linux/bitfield.h>
#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/regmap.h>
#include <linux/rtc.h>
#include <linux/of.h>
#include <linux/pm_wakeirq.h>

#define PCF8523_REG_CONTROL1
#define PCF8523_CONTROL1_CAP_SEL
#define PCF8523_CONTROL1_STOP
#define PCF8523_CONTROL1_AIE

#define PCF8523_REG_CONTROL2
#define PCF8523_CONTROL2_AF

#define PCF8523_REG_CONTROL3
#define PCF8523_CONTROL3_PM
#define PCF8523_PM_STANDBY
#define PCF8523_CONTROL3_BLF
#define PCF8523_CONTROL3_BSF

#define PCF8523_REG_SECONDS
#define PCF8523_SECONDS_OS

#define PCF8523_REG_MINUTES
#define PCF8523_REG_HOURS
#define PCF8523_REG_DAYS
#define PCF8523_REG_WEEKDAYS
#define PCF8523_REG_MONTHS
#define PCF8523_REG_YEARS

#define PCF8523_REG_MINUTE_ALARM
#define PCF8523_REG_HOUR_ALARM
#define PCF8523_REG_DAY_ALARM
#define PCF8523_REG_WEEKDAY_ALARM
#define ALARM_DIS

#define PCF8523_REG_OFFSET
#define PCF8523_OFFSET_MODE

#define PCF8523_TMR_CLKOUT_CTRL

struct pcf8523 {};

static int pcf8523_load_capacitance(struct pcf8523 *pcf8523, struct device_node *node)
{}

static irqreturn_t pcf8523_irq(int irq, void *dev_id)
{}

static int pcf8523_rtc_read_time(struct device *dev, struct rtc_time *tm)
{}

static int pcf8523_rtc_set_time(struct device *dev, struct rtc_time *tm)
{}

static int pcf8523_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *tm)
{}

static int pcf8523_irq_enable(struct device *dev, unsigned int enabled)
{}

static int pcf8523_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *tm)
{}

static int pcf8523_param_get(struct device *dev, struct rtc_param *param)
{}

static int pcf8523_param_set(struct device *dev, struct rtc_param *param)
{}

static int pcf8523_rtc_ioctl(struct device *dev, unsigned int cmd,
			     unsigned long arg)
{}

static int pcf8523_rtc_read_offset(struct device *dev, long *offset)
{}

static int pcf8523_rtc_set_offset(struct device *dev, long offset)
{}

#ifdef CONFIG_PM_SLEEP
static int pcf8523_suspend(struct device *dev)
{}

static int pcf8523_resume(struct device *dev)
{}
#endif

static SIMPLE_DEV_PM_OPS(pcf8523_pm, pcf8523_suspend, pcf8523_resume);

static const struct rtc_class_ops pcf8523_rtc_ops =;

static const struct regmap_config regmap_config =;

static int pcf8523_probe(struct i2c_client *client)
{}

static const struct i2c_device_id pcf8523_id[] =;
MODULE_DEVICE_TABLE(i2c, pcf8523_id);

static const struct of_device_id pcf8523_of_match[] =;
MODULE_DEVICE_TABLE(of, pcf8523_of_match);

static struct i2c_driver pcf8523_driver =;
module_i2c_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();