Merge tag 'rtc-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux

Pull RTC updates from Alexandre Belloni:
 "RTC for 4.8

  Cleanups:
   - huge cleanup of rtc-generic and char/genrtc this allowed to cleanup
     rtc-cmos, rtc-sh, rtc-m68k, rtc-powerpc and rtc-parisc
   - move mn10300 to rtc-cmos

  Subsystem:
   - fix wakealarms after hibernate
   - multiples fixes for rctest
   - simplify implementations of .read_alarm

  New drivers:
   - Maxim MAX6916

  Drivers:
   - ds1307: fix weekday
   - m41t80: add wakeup support
   - pcf85063: add support for PCF85063A variant
   - rv8803: extend i2c fix and other fixes
   - s35390a: fix alarm reading, this fixes instant reboot after
     shutdown for QNAP TS-41x
   - s3c: clock fixes"

* tag 'rtc-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (65 commits)
  rtc: rv8803: Clear V1F when setting the time
  rtc: rv8803: Stop the clock while setting the time
  rtc: rv8803: Always apply the I²C workaround
  rtc: rv8803: Fix read day of week
  rtc: rv8803: Remove the check for valid time
  rtc: rv8803: Kconfig: Indicate rx8900 support
  rtc: asm9260: remove .owner field for driver
  rtc: at91sam9: Fix missing spin_lock_init()
  rtc: m41t80: add suspend handlers for alarm IRQ
  rtc: m41t80: make it a real error message
  rtc: pcf85063: Add support for the PCF85063A device
  rtc: pcf85063: fix year range
  rtc: hym8563: in .read_alarm set .tm_sec to 0 to signal minute accuracy
  rtc: explicitly set tm_sec = 0 for drivers with minute accurancy
  rtc: s3c: Add s3c_rtc_{enable/disable}_clk in s3c_rtc_setfreq()
  rtc: s3c: Remove unnecessary call to disable already disabled clock
  rtc: abx80x: use devm_add_action_or_reset()
  rtc: m41t80: use devm_add_action_or_reset()
  rtc: fix a typo and reduce three empty lines to one
  rtc: s35390a: improve two comments in .set_alarm
  ...
This commit is contained in:
Linus Torvalds
2016-08-05 09:48:22 -04:00
105 changed files with 848 additions and 1580 deletions

View File

@@ -0,0 +1,20 @@
/*
* ds2404.h - platform data structure for the DS2404 RTC.
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 2012 Sven Schnelle <svens@stackframe.org>
*/
#ifndef __LINUX_DS2404_H
#define __LINUX_DS2404_H
struct ds2404_platform_data {
unsigned int gpio_rst;
unsigned int gpio_clk;
unsigned int gpio_dq;
};
#endif

View File

@@ -0,0 +1,16 @@
/*
* ST M48T86 / Dallas DS12887 RTC driver
* Copyright (c) 2006 Tower Technologies
*
* Author: Alessandro Zummo <a.zummo@towertech.it>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
struct m48t86_ops
{
void (*writebyte)(unsigned char value, unsigned long addr);
unsigned char (*readbyte)(unsigned long addr);
};

View File

@@ -0,0 +1,41 @@
/*
* v3020.h - Registers definition and platform data structure for the v3020 RTC.
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 2006, 8D Technologies inc.
*/
#ifndef __LINUX_V3020_H
#define __LINUX_V3020_H
/* The v3020 has only one data pin but which one
* is used depends on the board. */
struct v3020_platform_data {
int leftshift; /* (1<<(leftshift)) & readl() */
unsigned int use_gpio:1;
unsigned int gpio_cs;
unsigned int gpio_wr;
unsigned int gpio_rd;
unsigned int gpio_io;
};
#define V3020_STATUS_0 0x00
#define V3020_STATUS_1 0x01
#define V3020_SECONDS 0x02
#define V3020_MINUTES 0x03
#define V3020_HOURS 0x04
#define V3020_MONTH_DAY 0x05
#define V3020_MONTH 0x06
#define V3020_YEAR 0x07
#define V3020_WEEK_DAY 0x08
#define V3020_WEEK 0x09
#define V3020_IS_COMMAND(val) ((val)>=0x0E)
#define V3020_CMD_RAM2CLOCK 0x0E
#define V3020_CMD_CLOCK2RAM 0x0F
#endif /* __LINUX_V3020_H */