#include <linux/module.h>
#include <linux/i2c.h>
#include <linux/slab.h>
#include <linux/rtc.h>
#include <linux/platform_device.h>
#include <linux/mfd/max8925.h>
enum { … };
#define MAX8925_RTC_SEC …
#define MAX8925_RTC_MIN …
#define MAX8925_RTC_HOUR …
#define MAX8925_RTC_WEEKDAY …
#define MAX8925_RTC_DATE …
#define MAX8925_RTC_MONTH …
#define MAX8925_RTC_YEAR1 …
#define MAX8925_RTC_YEAR2 …
#define MAX8925_ALARM0_SEC …
#define MAX8925_ALARM0_MIN …
#define MAX8925_ALARM0_HOUR …
#define MAX8925_ALARM0_WEEKDAY …
#define MAX8925_ALARM0_DATE …
#define MAX8925_ALARM0_MON …
#define MAX8925_ALARM0_YEAR1 …
#define MAX8925_ALARM0_YEAR2 …
#define MAX8925_ALARM1_SEC …
#define MAX8925_ALARM1_MIN …
#define MAX8925_ALARM1_HOUR …
#define MAX8925_ALARM1_WEEKDAY …
#define MAX8925_ALARM1_DATE …
#define MAX8925_ALARM1_MON …
#define MAX8925_ALARM1_YEAR1 …
#define MAX8925_ALARM1_YEAR2 …
#define MAX8925_RTC_CNTL …
#define MAX8925_RTC_STATUS …
#define TIME_NUM …
#define ALARM_1SEC …
#define HOUR_12 …
#define HOUR_AM_PM …
#define ALARM0_IRQ …
#define ALARM1_IRQ …
#define ALARM0_STATUS …
#define ALARM1_STATUS …
struct max8925_rtc_info { … };
static irqreturn_t rtc_update_handler(int irq, void *data)
{ … }
static int tm_calc(struct rtc_time *tm, unsigned char *buf, int len)
{ … }
static int data_calc(unsigned char *buf, struct rtc_time *tm, int len)
{ … }
static int max8925_rtc_read_time(struct device *dev, struct rtc_time *tm)
{ … }
static int max8925_rtc_set_time(struct device *dev, struct rtc_time *tm)
{ … }
static int max8925_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm)
{ … }
static int max8925_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
{ … }
static const struct rtc_class_ops max8925_rtc_ops = …;
static int max8925_rtc_probe(struct platform_device *pdev)
{ … }
#ifdef CONFIG_PM_SLEEP
static int max8925_rtc_suspend(struct device *dev)
{ … }
static int max8925_rtc_resume(struct device *dev)
{ … }
#endif
static SIMPLE_DEV_PM_OPS(max8925_rtc_pm_ops, max8925_rtc_suspend, max8925_rtc_resume);
static struct platform_driver max8925_rtc_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;