linux/arch/x86/mach-rdc321x/platform.c
<<
>>
Prefs
   1/*
   2 *  Generic RDC321x platform devices
   3 *
   4 *  Copyright (C) 2007 Florian Fainelli <florian@openwrt.org>
   5 *
   6 *  This program is free software; you can redistribute it and/or
   7 *  modify it under the terms of the GNU General Public License
   8 *  as published by the Free Software Foundation; either version 2
   9 *  of the License, or (at your option) any later version.
  10 *
  11 *  This program is distributed in the hope that it will be useful,
  12 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14 *  GNU General Public License for more details.
  15 *
  16 *  You should have received a copy of the GNU General Public License
  17 *  along with this program; if not, write to the
  18 *  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  19 *  Boston, MA  02110-1301, USA.
  20 *
  21 */
  22
  23#include <linux/init.h>
  24#include <linux/kernel.h>
  25#include <linux/list.h>
  26#include <linux/device.h>
  27#include <linux/platform_device.h>
  28#include <linux/leds.h>
  29
  30#include <asm/gpio.h>
  31
  32/* LEDS */
  33static struct gpio_led default_leds[] = {
  34        { .name = "rdc:dmz", .gpio = 1, },
  35};
  36
  37static struct gpio_led_platform_data rdc321x_led_data = {
  38        .num_leds = ARRAY_SIZE(default_leds),
  39        .leds = default_leds,
  40};
  41
  42static struct platform_device rdc321x_leds = {
  43        .name = "leds-gpio",
  44        .id = -1,
  45        .dev = {
  46                .platform_data = &rdc321x_led_data,
  47        }
  48};
  49
  50/* Watchdog */
  51static struct platform_device rdc321x_wdt = {
  52        .name = "rdc321x-wdt",
  53        .id = -1,
  54        .num_resources = 0,
  55};
  56
  57static struct platform_device *rdc321x_devs[] = {
  58        &rdc321x_leds,
  59        &rdc321x_wdt
  60};
  61
  62static int __init rdc_board_setup(void)
  63{
  64        rdc321x_gpio_setup();
  65
  66        return platform_add_devices(rdc321x_devs, ARRAY_SIZE(rdc321x_devs));
  67}
  68
  69arch_initcall(rdc_board_setup);
  70