~ubuntu-branches/ubuntu/saucy/linux-ti-omap4/saucy-proposed

« back to all changes in this revision

Viewing changes to arch/m68k/platform/5249/gpio.c

  • Committer: Package Import Robot
  • Author(s): Paolo Pisati, Paolo Pisati, Stefan Bader, Upstream Kernel Changes
  • Date: 2012-08-15 17:17:43 UTC
  • Revision ID: package-import@ubuntu.com-20120815171743-h5wnuf51xe7pvdid
Tags: 3.5.0-207.13
[ Paolo Pisati ]

* Start new release

[ Stefan Bader ]

* (config) Enable getabis to use local package copies

[ Upstream Kernel Changes ]

* fixup: gargabe collect iva_seq[0|1] init
* [Config] enable all SND_OMAP_SOC_*s
* fixup: cm2xxx_3xxx.o is needed for omap2_cm_read|write_reg
* fixup: add some snd_soc_dai* helper functions
* fixup: s/snd_soc_dpcm_params/snd_soc_dpcm/g
* fixup: typo, no_host_mode and useless SDP4430 init
* fixup: enable again aess hwmod

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Coldfire generic GPIO support
3
 
 *
4
 
 * (C) Copyright 2009, Steven King <sfking@fdwdc.com>
5
 
 *
6
 
 * This program is free software; you can redistribute it and/or modify
7
 
 * it under the terms of the GNU General Public License as published by
8
 
 * the Free Software Foundation; version 2 of the License.
9
 
 *
10
 
 * This program is distributed in the hope that it will be useful,
11
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 
 * GNU General Public License for more details.
14
 
*/
15
 
 
16
 
#include <linux/kernel.h>
17
 
#include <linux/init.h>
18
 
 
19
 
#include <asm/coldfire.h>
20
 
#include <asm/mcfsim.h>
21
 
#include <asm/mcfgpio.h>
22
 
 
23
 
static struct mcf_gpio_chip mcf_gpio_chips[] = {
24
 
        {
25
 
                .gpio_chip                      = {
26
 
                        .label                  = "GPIO0",
27
 
                        .request                = mcf_gpio_request,
28
 
                        .free                   = mcf_gpio_free,
29
 
                        .direction_input        = mcf_gpio_direction_input,
30
 
                        .direction_output       = mcf_gpio_direction_output,
31
 
                        .get                    = mcf_gpio_get_value,
32
 
                        .set                    = mcf_gpio_set_value,
33
 
                        .ngpio                  = 32,
34
 
                },
35
 
                .pddr                           = (void __iomem *) MCFSIM2_GPIOENABLE,
36
 
                .podr                           = (void __iomem *) MCFSIM2_GPIOWRITE,
37
 
                .ppdr                           = (void __iomem *) MCFSIM2_GPIOREAD,
38
 
        },
39
 
        {
40
 
                .gpio_chip                      = {
41
 
                        .label                  = "GPIO1",
42
 
                        .request                = mcf_gpio_request,
43
 
                        .free                   = mcf_gpio_free,
44
 
                        .direction_input        = mcf_gpio_direction_input,
45
 
                        .direction_output       = mcf_gpio_direction_output,
46
 
                        .get                    = mcf_gpio_get_value,
47
 
                        .set                    = mcf_gpio_set_value,
48
 
                        .base                   = 32,
49
 
                        .ngpio                  = 32,
50
 
                },
51
 
                .pddr                           = (void __iomem *) MCFSIM2_GPIO1ENABLE,
52
 
                .podr                           = (void __iomem *) MCFSIM2_GPIO1WRITE,
53
 
                .ppdr                           = (void __iomem *) MCFSIM2_GPIO1READ,
54
 
        },
55
 
};
56
 
 
57
 
static int __init mcf_gpio_init(void)
58
 
{
59
 
        unsigned i = 0;
60
 
        while (i < ARRAY_SIZE(mcf_gpio_chips))
61
 
                (void)gpiochip_add((struct gpio_chip *)&mcf_gpio_chips[i++]);
62
 
        return 0;
63
 
}
64
 
 
65
 
core_initcall(mcf_gpio_init);