#include <linux/bcd.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/rtc.h>
#include <linux/spi/spi.h>
#define M41T93_REG_SSEC …
#define M41T93_REG_ST_SEC …
#define M41T93_REG_MIN …
#define M41T93_REG_CENT_HOUR …
#define M41T93_REG_WDAY …
#define M41T93_REG_DAY …
#define M41T93_REG_MON …
#define M41T93_REG_YEAR …
#define M41T93_REG_ALM_HOUR_HT …
#define M41T93_REG_FLAGS …
#define M41T93_FLAG_ST …
#define M41T93_FLAG_OF …
#define M41T93_FLAG_BL …
#define M41T93_FLAG_HT …
static inline int m41t93_set_reg(struct spi_device *spi, u8 addr, u8 data)
{ … }
static int m41t93_set_time(struct device *dev, struct rtc_time *tm)
{ … }
static int m41t93_get_time(struct device *dev, struct rtc_time *tm)
{ … }
static const struct rtc_class_ops m41t93_rtc_ops = …;
static struct spi_driver m41t93_driver;
static int m41t93_probe(struct spi_device *spi)
{ … }
static struct spi_driver m41t93_driver = …;
module_spi_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;