Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/mips/cobalt/rtc.c
26439 views
1
// SPDX-License-Identifier: GPL-2.0-or-later
2
/*
3
* Registration of Cobalt RTC platform device.
4
*
5
* Copyright (C) 2007 Yoichi Yuasa <[email protected]>
6
*/
7
#include <linux/errno.h>
8
#include <linux/init.h>
9
#include <linux/ioport.h>
10
#include <linux/mc146818rtc.h>
11
#include <linux/platform_device.h>
12
13
static struct resource cobalt_rtc_resource[] __initdata = {
14
{
15
.start = 0x70,
16
.end = 0x77,
17
.flags = IORESOURCE_IO,
18
},
19
{
20
.start = RTC_IRQ,
21
.end = RTC_IRQ,
22
.flags = IORESOURCE_IRQ,
23
},
24
};
25
26
static __init int cobalt_rtc_add(void)
27
{
28
struct platform_device *pdev;
29
int retval;
30
31
pdev = platform_device_alloc("rtc_cmos", -1);
32
if (!pdev)
33
return -ENOMEM;
34
35
retval = platform_device_add_resources(pdev, cobalt_rtc_resource,
36
ARRAY_SIZE(cobalt_rtc_resource));
37
if (retval)
38
goto err_free_device;
39
40
retval = platform_device_add(pdev);
41
if (retval)
42
goto err_free_device;
43
44
return 0;
45
46
err_free_device:
47
platform_device_put(pdev);
48
49
return retval;
50
}
51
device_initcall(cobalt_rtc_add);
52
53