Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/mips/cobalt/buttons.c
26444 views
1
// SPDX-License-Identifier: GPL-2.0-or-later
2
/*
3
* Cobalt buttons platform device.
4
*
5
* Copyright (C) 2007 Yoichi Yuasa <[email protected]>
6
*/
7
8
#include <linux/platform_device.h>
9
#include <linux/errno.h>
10
#include <linux/init.h>
11
12
static struct resource cobalt_buttons_resource __initdata = {
13
.start = 0x1d000000,
14
.end = 0x1d000003,
15
.flags = IORESOURCE_MEM,
16
};
17
18
static __init int cobalt_add_buttons(void)
19
{
20
struct platform_device *pd;
21
int error;
22
23
pd = platform_device_alloc("Cobalt buttons", -1);
24
if (!pd)
25
return -ENOMEM;
26
27
error = platform_device_add_resources(pd, &cobalt_buttons_resource, 1);
28
if (error)
29
goto err_free_device;
30
31
error = platform_device_add(pd);
32
if (error)
33
goto err_free_device;
34
35
return 0;
36
37
err_free_device:
38
platform_device_put(pd);
39
return error;
40
}
41
device_initcall(cobalt_add_buttons);
42
43