Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
arm
mach-ux500
devices-common.c
Go to the documentation of this file.
1
/*
2
* Copyright (C) ST-Ericsson SA 2010
3
*
4
* Author: Rabin Vincent <
[email protected]
> for ST-Ericsson
5
* License terms: GNU General Public License (GPL), version 2.
6
*/
7
8
#include <linux/kernel.h>
9
#include <
linux/dma-mapping.h
>
10
#include <
linux/err.h
>
11
#include <
linux/irq.h
>
12
#include <linux/slab.h>
13
#include <
linux/platform_device.h
>
14
15
#include <
plat/gpio-nomadik.h
>
16
17
#include <mach/hardware.h>
18
19
#include "
devices-common.h
"
20
21
static
struct
platform_device
*
22
dbx500_add_gpio(
struct
device
*parent,
int
id
,
resource_size_t
addr
,
int
irq,
23
struct
nmk_gpio_platform_data
*
pdata
)
24
{
25
struct
resource
resources
[] = {
26
{
27
.start =
addr
,
28
.end = addr + 127,
29
.flags =
IORESOURCE_MEM
,
30
},
31
{
32
.start = irq,
33
.end = irq,
34
.flags =
IORESOURCE_IRQ
,
35
}
36
};
37
38
return
platform_device_register_resndata(
39
parent,
40
"gpio"
,
41
id
,
42
resources,
43
ARRAY_SIZE
(resources),
44
pdata,
45
sizeof
(*pdata));
46
}
47
48
void
dbx500_add_gpios
(
struct
device
*parent,
resource_size_t
*base,
int
num,
49
int
irq,
struct
nmk_gpio_platform_data
*pdata)
50
{
51
int
first
= 0;
52
int
i
;
53
54
for
(i = 0; i < num; i++, first += 32, irq++) {
55
pdata->
first_gpio
=
first
;
56
pdata->
first_irq
=
NOMADIK_GPIO_TO_IRQ
(first);
57
pdata->
num_gpio
= 32;
58
59
dbx500_add_gpio(parent, i, base[i], irq, pdata);
60
}
61
}
Generated on Thu Jan 10 2013 13:02:20 for Linux Kernel by
1.8.2