Commit | Line | Data |
---|---|---|
68a1d316 GJ |
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 | } |