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

Commit a085963a authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'timers-fixes-for-linus' of...

Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  tick: Clear broadcast active bit when switching to oneshot
  rtc: mc13xxx: Don't call rtc_device_register while holding lock
  rtc: rp5c01: Initialize drvdata before registering device
  rtc: pcap: Initialize drvdata before registering device
  rtc: msm6242: Initialize drvdata before registering device
  rtc: max8998: Initialize drvdata before registering device
  rtc: max8925: Initialize drvdata before registering device
  rtc: m41t80: Initialize clientdata before registering device
  rtc: ds1286: Initialize drvdata before registering device
  rtc: ep93xx: Initialize drvdata before registering device
  rtc: davinci: Initialize drvdata before registering device
  rtc: mxc: Initialize drvdata before registering device
  clocksource: Install completely before selecting
parents c1d10d18 07f4beb0
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -524,6 +524,8 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
		goto fail2;
	}

	platform_set_drvdata(pdev, davinci_rtc);

	davinci_rtc->rtc = rtc_device_register(pdev->name, &pdev->dev,
				    &davinci_rtc_ops, THIS_MODULE);
	if (IS_ERR(davinci_rtc->rtc)) {
@@ -553,8 +555,6 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)

	rtcss_write(davinci_rtc, PRTCSS_RTC_CCTRL_CAEN, PRTCSS_RTC_CCTRL);

	platform_set_drvdata(pdev, davinci_rtc);

	device_init_wakeup(&pdev->dev, 0);

	return 0;
@@ -562,6 +562,7 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
fail4:
	rtc_device_unregister(davinci_rtc->rtc);
fail3:
	platform_set_drvdata(pdev, NULL);
	iounmap(davinci_rtc->base);
fail2:
	release_mem_region(davinci_rtc->pbase, davinci_rtc->base_size);
+1 −1
Original line number Diff line number Diff line
@@ -355,6 +355,7 @@ static int __devinit ds1286_probe(struct platform_device *pdev)
		goto out;
	}
	spin_lock_init(&priv->lock);
	platform_set_drvdata(pdev, priv);
	rtc = rtc_device_register("ds1286", &pdev->dev,
				  &ds1286_ops, THIS_MODULE);
	if (IS_ERR(rtc)) {
@@ -362,7 +363,6 @@ static int __devinit ds1286_probe(struct platform_device *pdev)
		goto out;
	}
	priv->rtc = rtc;
	platform_set_drvdata(pdev, priv);
	return 0;

out:
+2 −3
Original line number Diff line number Diff line
@@ -151,6 +151,7 @@ static int __init ep93xx_rtc_probe(struct platform_device *pdev)
		return -ENXIO;

	pdev->dev.platform_data = ep93xx_rtc;
	platform_set_drvdata(pdev, rtc);

	rtc = rtc_device_register(pdev->name,
				&pdev->dev, &ep93xx_rtc_ops, THIS_MODULE);
@@ -159,8 +160,6 @@ static int __init ep93xx_rtc_probe(struct platform_device *pdev)
		goto exit;
	}

	platform_set_drvdata(pdev, rtc);

	err = sysfs_create_group(&pdev->dev.kobj, &ep93xx_rtc_sysfs_files);
	if (err)
		goto fail;
@@ -168,9 +167,9 @@ static int __init ep93xx_rtc_probe(struct platform_device *pdev)
	return 0;

fail:
	platform_set_drvdata(pdev, NULL);
	rtc_device_unregister(rtc);
exit:
	platform_set_drvdata(pdev, NULL);
	pdev->dev.platform_data = NULL;
	return err;
}
+3 −2
Original line number Diff line number Diff line
@@ -783,6 +783,9 @@ static int m41t80_probe(struct i2c_client *client,
		goto exit;
	}

	clientdata->features = id->driver_data;
	i2c_set_clientdata(client, clientdata);

	rtc = rtc_device_register(client->name, &client->dev,
				  &m41t80_rtc_ops, THIS_MODULE);
	if (IS_ERR(rtc)) {
@@ -792,8 +795,6 @@ static int m41t80_probe(struct i2c_client *client,
	}

	clientdata->rtc = rtc;
	clientdata->features = id->driver_data;
	i2c_set_clientdata(client, clientdata);

	/* Make sure HT (Halt Update) bit is cleared */
	rc = i2c_smbus_read_byte_data(client, M41T80_REG_ALARM_HOUR);
+3 −2
Original line number Diff line number Diff line
@@ -258,6 +258,8 @@ static int __devinit max8925_rtc_probe(struct platform_device *pdev)
	}

	dev_set_drvdata(&pdev->dev, info);
	/* XXX - isn't this redundant? */
	platform_set_drvdata(pdev, info);

	info->rtc_dev = rtc_device_register("max8925-rtc", &pdev->dev,
					&max8925_rtc_ops, THIS_MODULE);
@@ -267,10 +269,9 @@ static int __devinit max8925_rtc_probe(struct platform_device *pdev)
		goto out_rtc;
	}

	platform_set_drvdata(pdev, info);

	return 0;
out_rtc:
	platform_set_drvdata(pdev, NULL);
	free_irq(chip->irq_base + MAX8925_IRQ_RTC_ALARM0, info);
out_irq:
	kfree(info);
Loading