linux/arch/mips/cobalt/mtd.c
<<
>>
Prefs
   1/*
   2 *  Registration of Cobalt MTD device.
   3 *
   4 *  Copyright (C) 2006  Yoichi Yuasa <yuasa@linux-mips.org>
   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; either version 2 of the License, or
   9 *  (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 Free Software
  18 *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  19 */
  20#include <linux/init.h>
  21#include <linux/platform_device.h>
  22#include <linux/mtd/partitions.h>
  23#include <linux/mtd/physmap.h>
  24
  25static struct mtd_partition cobalt_mtd_partitions[] = {
  26        {
  27                .name   = "firmware",
  28                .offset = 0x0,
  29                .size   = 0x80000,
  30        },
  31};
  32
  33static struct physmap_flash_data cobalt_flash_data = {
  34        .width          = 1,
  35        .nr_parts       = 1,
  36        .parts          = cobalt_mtd_partitions,
  37};
  38
  39static struct resource cobalt_mtd_resource = {
  40        .start  = 0x1fc00000,
  41        .end    = 0x1fc7ffff,
  42        .flags  = IORESOURCE_MEM,
  43};
  44
  45static struct platform_device cobalt_mtd = {
  46        .name           = "physmap-flash",
  47        .dev            = {
  48                .platform_data  = &cobalt_flash_data,
  49        },
  50        .num_resources  = 1,
  51        .resource       = &cobalt_mtd_resource,
  52};
  53
  54static int __init cobalt_mtd_init(void)
  55{
  56        platform_device_register(&cobalt_mtd);
  57
  58        return 0;
  59}
  60device_initcall(cobalt_mtd_init);
  61