timer-tegra186.c (1e64f2a7fef058fa206f09e9e3268049af5e21c4) timer-tegra186.c (d7b76421c03fa58d16a52eb839302f582602997a)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (c) 2019-2020 NVIDIA Corporation. All rights reserved.
4 */
5
6#include <linux/clocksource.h>
7#include <linux/module.h>
8#include <linux/interrupt.h>

--- 433 unchanged lines hidden (view full) ---

442 clocksource_unregister(&tegra->usec);
443unregister_osc:
444 clocksource_unregister(&tegra->osc);
445unregister_tsc:
446 clocksource_unregister(&tegra->tsc);
447 return err;
448}
449
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (c) 2019-2020 NVIDIA Corporation. All rights reserved.
4 */
5
6#include <linux/clocksource.h>
7#include <linux/module.h>
8#include <linux/interrupt.h>

--- 433 unchanged lines hidden (view full) ---

442 clocksource_unregister(&tegra->usec);
443unregister_osc:
444 clocksource_unregister(&tegra->osc);
445unregister_tsc:
446 clocksource_unregister(&tegra->tsc);
447 return err;
448}
449
450static int tegra186_timer_remove(struct platform_device *pdev)
450static void tegra186_timer_remove(struct platform_device *pdev)
451{
452 struct tegra186_timer *tegra = platform_get_drvdata(pdev);
453
454 clocksource_unregister(&tegra->usec);
455 clocksource_unregister(&tegra->osc);
456 clocksource_unregister(&tegra->tsc);
451{
452 struct tegra186_timer *tegra = platform_get_drvdata(pdev);
453
454 clocksource_unregister(&tegra->usec);
455 clocksource_unregister(&tegra->osc);
456 clocksource_unregister(&tegra->tsc);
457
458 return 0;
459}
460
461static int __maybe_unused tegra186_timer_suspend(struct device *dev)
462{
463 struct tegra186_timer *tegra = dev_get_drvdata(dev);
464
465 if (watchdog_active(&tegra->wdt->base))
466 tegra186_wdt_disable(tegra->wdt);

--- 33 unchanged lines hidden (view full) ---

500
501static struct platform_driver tegra186_wdt_driver = {
502 .driver = {
503 .name = "tegra186-timer",
504 .pm = &tegra186_timer_pm_ops,
505 .of_match_table = tegra186_timer_of_match,
506 },
507 .probe = tegra186_timer_probe,
457}
458
459static int __maybe_unused tegra186_timer_suspend(struct device *dev)
460{
461 struct tegra186_timer *tegra = dev_get_drvdata(dev);
462
463 if (watchdog_active(&tegra->wdt->base))
464 tegra186_wdt_disable(tegra->wdt);

--- 33 unchanged lines hidden (view full) ---

498
499static struct platform_driver tegra186_wdt_driver = {
500 .driver = {
501 .name = "tegra186-timer",
502 .pm = &tegra186_timer_pm_ops,
503 .of_match_table = tegra186_timer_of_match,
504 },
505 .probe = tegra186_timer_probe,
508 .remove = tegra186_timer_remove,
506 .remove_new = tegra186_timer_remove,
509};
510module_platform_driver(tegra186_wdt_driver);
511
512MODULE_AUTHOR("Thierry Reding <treding@nvidia.com>");
513MODULE_DESCRIPTION("NVIDIA Tegra186 timers driver");
507};
508module_platform_driver(tegra186_wdt_driver);
509
510MODULE_AUTHOR("Thierry Reding <treding@nvidia.com>");
511MODULE_DESCRIPTION("NVIDIA Tegra186 timers driver");
512MODULE_LICENSE("GPL v2");