Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[pandora-kernel.git] / arch / mips / ath79 / dev-spi.c
1 /*
2  *  Atheros AR71XX/AR724X/AR913X SPI controller device
3  *
4  *  Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
5  *  Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
6  *
7  *  This program is free software; you can redistribute it and/or modify it
8  *  under the terms of the GNU General Public License version 2 as published
9  *  by the Free Software Foundation.
10  */
11
12 #include <linux/platform_device.h>
13 #include <asm/mach-ath79/ar71xx_regs.h>
14 #include "dev-spi.h"
15
16 static struct resource ath79_spi_resources[] = {
17         {
18                 .start  = AR71XX_SPI_BASE,
19                 .end    = AR71XX_SPI_BASE + AR71XX_SPI_SIZE - 1,
20                 .flags  = IORESOURCE_MEM,
21         },
22 };
23
24 static struct platform_device ath79_spi_device = {
25         .name           = "ath79-spi",
26         .id             = -1,
27         .resource       = ath79_spi_resources,
28         .num_resources  = ARRAY_SIZE(ath79_spi_resources),
29 };
30
31 void __init ath79_register_spi(struct ath79_spi_platform_data *pdata,
32                                struct spi_board_info const *info,
33                                unsigned n)
34 {
35         spi_register_board_info(info, n);
36         ath79_spi_device.dev.platform_data = pdata;
37         platform_device_register(&ath79_spi_device);
38 }