Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f44abd0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull RTC fixes from Alexandre Belloni:
 "A few fixes for the RTC subsystem.  The documentation fix already
  missed 4.5 so I think it is worth taking it now:

  A documentation fix for s3c and two fixes for the ds1307"

* tag 'rtc-4.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
  rtc: ds1307: Use irq when available for wakeup-source device
  rtc: ds1307: ds3231 temperature s16 overflow
  rtc: s3c: Document in binding that only s3c6410 needs a src clk
parents f78fe081 38a7a73e
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -15,9 +15,10 @@ Required properties:
  is the rtc tick interrupt. The number of cells representing a interrupt
  depends on the parent interrupt controller.
- clocks: Must contain a list of phandle and clock specifier for the rtc
          and source clocks.
- clock-names: Must contain "rtc" and "rtc_src" entries sorted in the
               same order as the clocks property.
          clock and in the case of a s3c6410 compatible controller, also
          a source clock.
- clock-names: Must contain "rtc" and for a s3c6410 compatible controller,
               a "rtc_src" sorted in the same order as the clocks property.

Example:

+3 −3
Original line number Diff line number Diff line
@@ -863,7 +863,7 @@ static void ds1307_trickle_of_init(struct i2c_client *client,
 * A user-initiated temperature conversion is not started by this function,
 * so the temperature is updated once every 64 seconds.
 */
static int ds3231_hwmon_read_temp(struct device *dev, s16 *mC)
static int ds3231_hwmon_read_temp(struct device *dev, s32 *mC)
{
	struct ds1307 *ds1307 = dev_get_drvdata(dev);
	u8 temp_buf[2];
@@ -892,7 +892,7 @@ static ssize_t ds3231_hwmon_show_temp(struct device *dev,
				struct device_attribute *attr, char *buf)
{
	int ret;
	s16 temp;
	s32 temp;

	ret = ds3231_hwmon_read_temp(dev, &temp);
	if (ret)
@@ -1531,7 +1531,7 @@ static int ds1307_probe(struct i2c_client *client,
		return PTR_ERR(ds1307->rtc);
	}

	if (ds1307_can_wakeup_device) {
	if (ds1307_can_wakeup_device && ds1307->client->irq <= 0) {
		/* Disable request for an IRQ */
		want_irq = false;
		dev_info(&client->dev, "'wakeup-source' is set, request for an IRQ is disabled!\n");