Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
[pandora-kernel.git] / arch / arm / plat-samsung / dev-pwm.c
1 /* linux/arch/arm/plat-samsung/dev-pwm.c
2  *
3  * Copyright (c) 2011 Samsung Electronics Co., Ltd.
4  *              http://www.samsung.com
5  *
6  * Copyright (c) 2007 Ben Dooks
7  * Copyright (c) 2008 Simtec Electronics
8  *      Ben Dooks <ben@simtec.co.uk>, <ben-linux@fluff.org>
9  *
10  * S3C series device definition for the PWM timer
11  *
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License version 2 as
14  * published by the Free Software Foundation.
15  */
16
17 #include <linux/kernel.h>
18 #include <linux/platform_device.h>
19
20 #include <mach/irqs.h>
21
22 #include <plat/devs.h>
23
24 #define TIMER_RESOURCE_SIZE (1)
25
26 #define TIMER_RESOURCE(_tmr, _irq)                      \
27         (struct resource [TIMER_RESOURCE_SIZE]) {       \
28                 [0] = {                                 \
29                         .start  = _irq,                 \
30                         .end    = _irq,                 \
31                         .flags  = IORESOURCE_IRQ        \
32                 }                                       \
33         }
34
35 #define DEFINE_S3C_TIMER(_tmr_no, _irq)                 \
36         .name           = "s3c24xx-pwm",                \
37         .id             = _tmr_no,                      \
38         .num_resources  = TIMER_RESOURCE_SIZE,          \
39         .resource       = TIMER_RESOURCE(_tmr_no, _irq),        \
40
41 /*
42  * since we already have an static mapping for the timer,
43  * we do not bother setting any IO resource for the base.
44  */
45
46 struct platform_device s3c_device_timer[] = {
47         [0] = { DEFINE_S3C_TIMER(0, IRQ_TIMER0) },
48         [1] = { DEFINE_S3C_TIMER(1, IRQ_TIMER1) },
49         [2] = { DEFINE_S3C_TIMER(2, IRQ_TIMER2) },
50         [3] = { DEFINE_S3C_TIMER(3, IRQ_TIMER3) },
51         [4] = { DEFINE_S3C_TIMER(4, IRQ_TIMER4) },
52 };
53 EXPORT_SYMBOL(s3c_device_timer);