ar71xx: add common m25p80 device

SVN-Revision: 18817
owl
Gabor Juhos 2009-12-18 12:56:55 +00:00
parent 18112a36bb
commit e190743d25
22 changed files with 101 additions and 208 deletions

View File

@ -3,6 +3,7 @@ CONFIG_32BIT=y
CONFIG_AG71XX=y CONFIG_AG71XX=y
CONFIG_AG71XX_AR8216_SUPPORT=y CONFIG_AG71XX_AR8216_SUPPORT=y
# CONFIG_AG71XX_DEBUG is not set # CONFIG_AG71XX_DEBUG is not set
CONFIG_AR71XX_DEV_M25P80=y
CONFIG_AR71XX_MACH_AP81=y CONFIG_AR71XX_MACH_AP81=y
CONFIG_AR71XX_MACH_AP83=y CONFIG_AR71XX_MACH_AP83=y
CONFIG_AR71XX_MACH_AW_NR580=y CONFIG_AR71XX_MACH_AW_NR580=y

View File

@ -5,6 +5,7 @@ CONFIG_AG71XX_AR8216_SUPPORT=y
# CONFIG_AG71XX_DEBUG is not set # CONFIG_AG71XX_DEBUG is not set
# CONFIG_ALCHEMY_GPIO_INDIRECT is not set # CONFIG_ALCHEMY_GPIO_INDIRECT is not set
# CONFIG_AR7 is not set # CONFIG_AR7 is not set
CONFIG_AR71XX_DEV_M25P80=y
CONFIG_AR71XX_MACH_AP81=y CONFIG_AR71XX_MACH_AP81=y
CONFIG_AR71XX_MACH_AP83=y CONFIG_AR71XX_MACH_AP83=y
CONFIG_AR71XX_MACH_AW_NR580=y CONFIG_AR71XX_MACH_AW_NR580=y

View File

@ -5,6 +5,7 @@ CONFIG_AG71XX_AR8216_SUPPORT=y
# CONFIG_AG71XX_DEBUG is not set # CONFIG_AG71XX_DEBUG is not set
# CONFIG_ALCHEMY_GPIO_INDIRECT is not set # CONFIG_ALCHEMY_GPIO_INDIRECT is not set
# CONFIG_AR7 is not set # CONFIG_AR7 is not set
CONFIG_AR71XX_DEV_M25P80=y
CONFIG_AR71XX_MACH_AP81=y CONFIG_AR71XX_MACH_AP81=y
CONFIG_AR71XX_MACH_AP83=y CONFIG_AR71XX_MACH_AP83=y
CONFIG_AR71XX_MACH_AW_NR580=y CONFIG_AR71XX_MACH_AW_NR580=y

View File

@ -4,6 +4,7 @@ menu "Atheros AR71xx machine selection"
config AR71XX_MACH_AP81 config AR71XX_MACH_AP81
bool "Atheros AP81 board support" bool "Atheros AP81 board support"
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_AP83 config AR71XX_MACH_AP83
@ -12,10 +13,12 @@ config AR71XX_MACH_AP83
config AR71XX_MACH_DIR_825_B1 config AR71XX_MACH_DIR_825_B1
bool "D-Link DIR-825 rev. B1 board support" bool "D-Link DIR-825 rev. B1 board support"
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_PB42 config AR71XX_MACH_PB42
bool "Atheros PB42 board support" bool "Atheros PB42 board support"
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_PB44 config AR71XX_MACH_PB44
@ -24,6 +27,7 @@ config AR71XX_MACH_PB44
config AR71XX_MACH_AW_NR580 config AR71XX_MACH_AW_NR580
bool "AzureWave AW-NR580 board support" bool "AzureWave AW-NR580 board support"
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_GENERIC config AR71XX_MACH_GENERIC
@ -33,14 +37,17 @@ config AR71XX_MACH_GENERIC
config AR71XX_MACH_WP543 config AR71XX_MACH_WP543
bool "Compex WP543/WPJ543 board support" bool "Compex WP543/WPJ543 board support"
select MYLOADER select MYLOADER
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_WRT160NL config AR71XX_MACH_WRT160NL
bool "Linksys WRT160NL board support" bool "Linksys WRT160NL board support"
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_WRT400N config AR71XX_MACH_WRT400N
bool "Linksys WRT400N board support" bool "Linksys WRT400N board support"
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_RB_4XX config AR71XX_MACH_RB_4XX
@ -49,40 +56,52 @@ config AR71XX_MACH_RB_4XX
config AR71XX_MACH_WNDR3700 config AR71XX_MACH_WNDR3700
bool "NETGEAR WNDR3700 board support" bool "NETGEAR WNDR3700 board support"
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_WNR2000 config AR71XX_MACH_WNR2000
bool "NETGEAR WNR2000 board support" bool "NETGEAR WNR2000 board support"
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_MZK_W04NU config AR71XX_MACH_MZK_W04NU
bool "Planex MZK-W04NU board support" bool "Planex MZK-W04NU board support"
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_MZK_W300NH config AR71XX_MACH_MZK_W300NH
bool "Planex MZK-W300NH board support" bool "Planex MZK-W300NH board support"
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_TL_WR741ND config AR71XX_MACH_TL_WR741ND
bool "TP-LINK TL-WR741ND support" bool "TP-LINK TL-WR741ND support"
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_TL_WR941ND config AR71XX_MACH_TL_WR941ND
bool "TP-LINK TL-WR941ND support" bool "TP-LINK TL-WR941ND support"
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_TL_WR1043ND config AR71XX_MACH_TL_WR1043ND
bool "TP-LINK TL-WR1043ND support" bool "TP-LINK TL-WR1043ND support"
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_TEW_632BRP config AR71XX_MACH_TEW_632BRP
bool "TRENDnet TEW-632BRP support" bool "TRENDnet TEW-632BRP support"
select AR71XX_DEV_M25P80
default y default y
config AR71XX_MACH_UBNT config AR71XX_MACH_UBNT
bool "Ubiquiti AR71xx based boards support" bool "Ubiquiti AR71xx based boards support"
select AR71XX_DEV_M25P80
default y default y
endmenu endmenu
config AR71XX_DEV_M25P80
def_bool n
endif endif

View File

@ -13,6 +13,8 @@ obj-y := prom.o irq.o setup.o devices.o gpio.o ar71xx.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-$(CONFIG_PCI) += pci.o obj-$(CONFIG_PCI) += pci.o
obj-$(CONFIG_AR71XX_DEV_M25P80) += dev-m25p80.o
obj-$(CONFIG_AR71XX_MACH_AP81) += mach-ap81.o obj-$(CONFIG_AR71XX_MACH_AP81) += mach-ap81.o
obj-$(CONFIG_AR71XX_MACH_AP83) += mach-ap83.o obj-$(CONFIG_AR71XX_MACH_AP83) += mach-ap83.o
obj-$(CONFIG_AR71XX_MACH_AW_NR580) += mach-aw-nr580.o obj-$(CONFIG_AR71XX_MACH_AW_NR580) += mach-aw-nr580.o

View File

@ -0,0 +1,30 @@
/*
* Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/
#include <linux/init.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include "devices.h"
#include "dev-m25p80.h"
static struct spi_board_info ar71xx_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
}
};
void __init ar71xx_add_device_m25p80(struct flash_platform_data *pdata)
{
ar71xx_spi_info[0].platform_data = pdata;
ar71xx_add_device_spi(NULL, ar71xx_spi_info,
ARRAY_SIZE(ar71xx_spi_info));
}

View File

@ -0,0 +1,16 @@
/*
* Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/
#ifndef _AR71XX_DEV_M25P80_H
#define _AR71XX_DEV_M25P80_H
#include <linux/spi/flash.h>
void ar71xx_add_device_m25p80(struct flash_platform_data *pdata) __init;
#endif /* _AR71XX_DEV_M25P80_H */

View File

@ -12,14 +12,13 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/input.h> #include <linux/input.h>
#include <asm/mips_machine.h> #include <asm/mips_machine.h>
#include <asm/mach-ar71xx/ar71xx.h> #include <asm/mach-ar71xx/ar71xx.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define AP81_GPIO_LED_STATUS 1 #define AP81_GPIO_LED_STATUS 1
#define AP81_GPIO_LED_AOSS 3 #define AP81_GPIO_LED_AOSS 3
@ -66,16 +65,6 @@ static struct flash_platform_data ap81_flash_data = {
#endif #endif
}; };
static struct spi_board_info ap81_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
.platform_data = &ap81_flash_data,
}
};
static struct gpio_led ap81_leds_gpio[] __initdata = { static struct gpio_led ap81_leds_gpio[] __initdata = {
{ {
.name = "ap81:green:status", .name = "ap81:green:status",
@ -135,8 +124,7 @@ static void __init ap81_setup(void)
ar71xx_add_device_usb(); ar71xx_add_device_usb();
ar71xx_add_device_spi(NULL, ap81_spi_info, ar71xx_add_device_m25p80(&ap81_flash_data);
ARRAY_SIZE(ap81_spi_info));
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(ap81_leds_gpio), ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(ap81_leds_gpio),
ap81_leds_gpio); ap81_leds_gpio);

View File

@ -12,8 +12,6 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/input.h> #include <linux/input.h>
#include <asm/mips_machine.h> #include <asm/mips_machine.h>
@ -21,6 +19,7 @@
#include <asm/mach-ar71xx/pci.h> #include <asm/mach-ar71xx/pci.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define AW_NR580_GPIO_LED_READY_RED 0 #define AW_NR580_GPIO_LED_READY_RED 0
#define AW_NR580_GPIO_LED_WLAN 1 #define AW_NR580_GPIO_LED_WLAN 1
@ -33,15 +32,6 @@
#define AW_NR580_BUTTONS_POLL_INTERVAL 20 #define AW_NR580_BUTTONS_POLL_INTERVAL 20
static struct spi_board_info aw_nr580_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
}
};
static struct gpio_led aw_nr580_leds_gpio[] __initdata = { static struct gpio_led aw_nr580_leds_gpio[] __initdata = {
{ {
.name = "aw-nr580:red:ready", .name = "aw-nr580:red:ready",
@ -105,8 +95,7 @@ static void __init aw_nr580_setup(void)
ar71xx_pci_init(ARRAY_SIZE(aw_nr580_pci_irqs), aw_nr580_pci_irqs); ar71xx_pci_init(ARRAY_SIZE(aw_nr580_pci_irqs), aw_nr580_pci_irqs);
ar71xx_add_device_spi(NULL, aw_nr580_spi_info, ar71xx_add_device_m25p80(NULL);
ARRAY_SIZE(aw_nr580_spi_info));
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(aw_nr580_leds_gpio), ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(aw_nr580_leds_gpio),
aw_nr580_leds_gpio); aw_nr580_leds_gpio);

View File

@ -13,8 +13,6 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/input.h> #include <linux/input.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/ath9k_platform.h> #include <linux/ath9k_platform.h>
@ -26,6 +24,7 @@
#include <asm/mach-ar71xx/pci.h> #include <asm/mach-ar71xx/pci.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define DIR825B1_GPIO_LED_BLUE_USB 0 #define DIR825B1_GPIO_LED_BLUE_USB 0
#define DIR825B1_GPIO_LED_ORANGE_POWER 1 #define DIR825B1_GPIO_LED_ORANGE_POWER 1
@ -85,16 +84,6 @@ static struct flash_platform_data dir825b1_flash_data = {
#endif #endif
}; };
static struct spi_board_info dir825b1_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
.platform_data = &dir825b1_flash_data,
}
};
static struct gpio_led dir825b1_leds_gpio[] __initdata = { static struct gpio_led dir825b1_leds_gpio[] __initdata = {
{ {
.name = "dir825b1:blue:usb", .name = "dir825b1:blue:usb",
@ -298,8 +287,7 @@ static void __init dir825b1_setup(void)
ar71xx_add_device_eth(0); ar71xx_add_device_eth(0);
ar71xx_add_device_eth(1); ar71xx_add_device_eth(1);
ar71xx_add_device_spi(NULL, dir825b1_spi_info, ar71xx_add_device_m25p80(&dir825b1_flash_data);
ARRAY_SIZE(dir825b1_spi_info));
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(dir825b1_leds_gpio), ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(dir825b1_leds_gpio),
dir825b1_leds_gpio); dir825b1_leds_gpio);

View File

@ -12,8 +12,6 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/input.h> #include <linux/input.h>
#include <asm/mips_machine.h> #include <asm/mips_machine.h>
@ -21,6 +19,7 @@
#include <asm/mach-ar71xx/ar71xx.h> #include <asm/mach-ar71xx/ar71xx.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define MZK_W300NH_GPIO_LED_STATUS 1 #define MZK_W300NH_GPIO_LED_STATUS 1
#define MZK_W300NH_GPIO_LED_WPS 3 #define MZK_W300NH_GPIO_LED_WPS 3
@ -77,16 +76,6 @@ static struct flash_platform_data mzk_w300nh_flash_data = {
#endif #endif
}; };
static struct spi_board_info mzk_w300nh_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
.platform_data = &mzk_w300nh_flash_data,
}
};
static struct gpio_led mzk_w300nh_leds_gpio[] __initdata = { static struct gpio_led mzk_w300nh_leds_gpio[] __initdata = {
{ {
.name = "mzk-w300nh:green:status", .name = "mzk-w300nh:green:status",
@ -156,8 +145,7 @@ static void __init mzk_w300nh_setup(void)
ar71xx_add_device_eth(0); ar71xx_add_device_eth(0);
ar71xx_add_device_eth(1); ar71xx_add_device_eth(1);
ar71xx_add_device_spi(NULL, mzk_w300nh_spi_info, ar71xx_add_device_m25p80(&mzk_w300nh_flash_data);
ARRAY_SIZE(mzk_w300nh_spi_info));
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(mzk_w300nh_leds_gpio), ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(mzk_w300nh_leds_gpio),
mzk_w300nh_leds_gpio); mzk_w300nh_leds_gpio);

View File

@ -13,29 +13,19 @@
#include <linux/bitops.h> #include <linux/bitops.h>
#include <linux/input.h> #include <linux/input.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <asm/mips_machine.h> #include <asm/mips_machine.h>
#include <asm/mach-ar71xx/ar71xx.h> #include <asm/mach-ar71xx/ar71xx.h>
#include <asm/mach-ar71xx/pci.h> #include <asm/mach-ar71xx/pci.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define PB42_BUTTONS_POLL_INTERVAL 20 #define PB42_BUTTONS_POLL_INTERVAL 20
#define PB42_GPIO_BTN_SW4 8 #define PB42_GPIO_BTN_SW4 8
#define PB42_GPIO_BTN_SW5 3 #define PB42_GPIO_BTN_SW5 3
static struct spi_board_info pb42_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
}
};
static struct ar71xx_pci_irq pb42_pci_irqs[] __initdata = { static struct ar71xx_pci_irq pb42_pci_irqs[] __initdata = {
{ {
.slot = 0, .slot = 0,
@ -76,8 +66,7 @@ static struct gpio_button pb42_gpio_buttons[] __initdata = {
static void __init pb42_init(void) static void __init pb42_init(void)
{ {
ar71xx_add_device_spi(NULL, pb42_spi_info, ar71xx_add_device_m25p80(NULL);
ARRAY_SIZE(pb42_spi_info));
ar71xx_add_device_mdio(~PB42_MDIO_PHYMASK); ar71xx_add_device_mdio(~PB42_MDIO_PHYMASK);

View File

@ -12,15 +12,13 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/input.h> #include <linux/input.h>
#include <asm/mips_machine.h> #include <asm/mips_machine.h>
#include <asm/mach-ar71xx/ar71xx.h> #include <asm/mach-ar71xx/ar71xx.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define TEW_632BRP_GPIO_LED_STATUS 1 #define TEW_632BRP_GPIO_LED_STATUS 1
#define TEW_632BRP_GPIO_LED_WPS 3 #define TEW_632BRP_GPIO_LED_WPS 3
@ -69,16 +67,6 @@ static struct flash_platform_data tew_632brp_flash_data = {
#endif #endif
}; };
static struct spi_board_info tew_632brp_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
.platform_data = &tew_632brp_flash_data,
}
};
static struct gpio_led tew_632brp_leds_gpio[] __initdata = { static struct gpio_led tew_632brp_leds_gpio[] __initdata = {
{ {
.name = "tew-632brp:green:status", .name = "tew-632brp:green:status",
@ -126,8 +114,7 @@ static void __init tew_632brp_setup(void)
ar71xx_add_device_eth(0); ar71xx_add_device_eth(0);
ar71xx_add_device_eth(1); ar71xx_add_device_eth(1);
ar71xx_add_device_spi(NULL, tew_632brp_spi_info, ar71xx_add_device_m25p80(&tew_632brp_flash_data);
ARRAY_SIZE(tew_632brp_spi_info));
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tew_632brp_leds_gpio), ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tew_632brp_leds_gpio),
tew_632brp_leds_gpio); tew_632brp_leds_gpio);

View File

@ -11,8 +11,6 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/input.h> #include <linux/input.h>
#include <asm/mips_machine.h> #include <asm/mips_machine.h>
@ -20,6 +18,7 @@
#include <asm/mach-ar71xx/ar71xx.h> #include <asm/mach-ar71xx/ar71xx.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define TL_WR1043ND_GPIO_LED_SYSTEM 2 #define TL_WR1043ND_GPIO_LED_SYSTEM 2
#define TL_WR1043ND_GPIO_LED_QSS 5 #define TL_WR1043ND_GPIO_LED_QSS 5
@ -64,16 +63,6 @@ static struct flash_platform_data tl_wr1043nd_flash_data = {
#endif #endif
}; };
static struct spi_board_info tl_wr1043nd_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
.platform_data = &tl_wr1043nd_flash_data,
}
};
static struct gpio_led tl_wr1043nd_leds_gpio[] __initdata = { static struct gpio_led tl_wr1043nd_leds_gpio[] __initdata = {
{ {
.name = "tl-wr1043nd:green:system", .name = "tl-wr1043nd:green:system",
@ -121,8 +110,7 @@ static void __init tl_wr1043nd_setup(void)
ar71xx_add_device_usb(); ar71xx_add_device_usb();
ar71xx_add_device_spi(NULL, tl_wr1043nd_spi_info, ar71xx_add_device_m25p80(&tl_wr1043nd_flash_data);
ARRAY_SIZE(tl_wr1043nd_spi_info));
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_wr1043nd_leds_gpio), ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_wr1043nd_leds_gpio),
tl_wr1043nd_leds_gpio); tl_wr1043nd_leds_gpio);

View File

@ -12,8 +12,6 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/input.h> #include <linux/input.h>
#include <linux/ath9k_platform.h> #include <linux/ath9k_platform.h>
@ -23,6 +21,7 @@
#include <asm/mach-ar71xx/pci.h> #include <asm/mach-ar71xx/pci.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define TL_WR741ND_GPIO_LED_QSS 0 #define TL_WR741ND_GPIO_LED_QSS 0
#define TL_WR741ND_GPIO_LED_SYSTEM 1 #define TL_WR741ND_GPIO_LED_SYSTEM 1
@ -67,16 +66,6 @@ static struct flash_platform_data tl_wr741nd_flash_data = {
#endif #endif
}; };
static struct spi_board_info tl_wr741nd_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
.platform_data = &tl_wr741nd_flash_data,
}
};
static struct gpio_led tl_wr741nd_leds_gpio[] __initdata = { static struct gpio_led tl_wr741nd_leds_gpio[] __initdata = {
{ {
.name = "tl-wr741nd:green:system", .name = "tl-wr741nd:green:system",
@ -167,8 +156,7 @@ static void __init tl_wr741nd_setup(void)
ar71xx_add_device_eth(1); ar71xx_add_device_eth(1);
ar71xx_add_device_eth(0); ar71xx_add_device_eth(0);
ar71xx_add_device_spi(NULL, tl_wr741nd_spi_info, ar71xx_add_device_m25p80(&tl_wr741nd_flash_data);
ARRAY_SIZE(tl_wr741nd_spi_info));
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_wr741nd_leds_gpio), ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_wr741nd_leds_gpio),
tl_wr741nd_leds_gpio); tl_wr741nd_leds_gpio);

View File

@ -11,8 +11,6 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/input.h> #include <linux/input.h>
#include <asm/mips_machine.h> #include <asm/mips_machine.h>
@ -20,6 +18,7 @@
#include <asm/mach-ar71xx/ar71xx.h> #include <asm/mach-ar71xx/ar71xx.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define TL_WR941ND_GPIO_LED_SYSTEM 2 #define TL_WR941ND_GPIO_LED_SYSTEM 2
#define TL_WR941ND_GPIO_LED_QSS 5 #define TL_WR941ND_GPIO_LED_QSS 5
@ -64,16 +63,6 @@ static struct flash_platform_data tl_wr941nd_flash_data = {
#endif #endif
}; };
static struct spi_board_info tl_wr941nd_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
.platform_data = &tl_wr941nd_flash_data,
}
};
static struct gpio_led tl_wr941nd_leds_gpio[] __initdata = { static struct gpio_led tl_wr941nd_leds_gpio[] __initdata = {
{ {
.name = "tl-wr941nd:green:system", .name = "tl-wr941nd:green:system",
@ -134,8 +123,7 @@ static void __init tl_wr941nd_setup(void)
ar71xx_add_device_eth(0); ar71xx_add_device_eth(0);
ar71xx_add_device_dsa(0, &tl_wr941nd_dsa_data); ar71xx_add_device_dsa(0, &tl_wr941nd_dsa_data);
ar71xx_add_device_spi(NULL, tl_wr941nd_spi_info, ar71xx_add_device_m25p80(&tl_wr941nd_flash_data);
ARRAY_SIZE(tl_wr941nd_spi_info));
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_wr941nd_leds_gpio), ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_wr941nd_leds_gpio),
tl_wr941nd_leds_gpio); tl_wr941nd_leds_gpio);

View File

@ -12,8 +12,6 @@
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/input.h> #include <linux/input.h>
#include <linux/ath9k_platform.h> #include <linux/ath9k_platform.h>
@ -22,6 +20,7 @@
#include <asm/mach-ar71xx/pci.h> #include <asm/mach-ar71xx/pci.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define UBNT_RS_GPIO_LED_RF 2 #define UBNT_RS_GPIO_LED_RF 2
#define UBNT_RS_GPIO_SW4 8 #define UBNT_RS_GPIO_SW4 8
@ -42,15 +41,6 @@
#define UBNT_BUTTONS_POLL_INTERVAL 20 #define UBNT_BUTTONS_POLL_INTERVAL 20
static struct spi_board_info ubnt_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
}
};
static struct ar71xx_pci_irq ubnt_pci_irqs[] __initdata = { static struct ar71xx_pci_irq ubnt_pci_irqs[] __initdata = {
{ {
.slot = 0, .slot = 0,
@ -151,8 +141,7 @@ static struct gpio_button ubnt_m_gpio_buttons[] __initdata = {
static void __init ubnt_generic_setup(void) static void __init ubnt_generic_setup(void)
{ {
ar71xx_add_device_spi(NULL, ubnt_spi_info, ar71xx_add_device_m25p80(NULL);
ARRAY_SIZE(ubnt_spi_info));
ar71xx_add_device_gpio_buttons(-1, UBNT_BUTTONS_POLL_INTERVAL, ar71xx_add_device_gpio_buttons(-1, UBNT_BUTTONS_POLL_INTERVAL,
ARRAY_SIZE(ubnt_gpio_buttons), ARRAY_SIZE(ubnt_gpio_buttons),
@ -285,8 +274,7 @@ static void __init ubnt_m_setup(void)
ar71xx_set_mac_base(mac); ar71xx_set_mac_base(mac);
ar71xx_add_device_spi(NULL, ubnt_spi_info, ar71xx_add_device_m25p80(NULL);
ARRAY_SIZE(ubnt_spi_info));
ar71xx_add_device_mdio(~0); ar71xx_add_device_mdio(~0);

View File

@ -12,8 +12,6 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/input.h> #include <linux/input.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/ath9k_platform.h> #include <linux/ath9k_platform.h>
@ -25,6 +23,7 @@
#include <asm/mach-ar71xx/pci.h> #include <asm/mach-ar71xx/pci.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define WNDR3700_GPIO_LED_WPS_ORANGE 0 #define WNDR3700_GPIO_LED_WPS_ORANGE 0
#define WNDR3700_GPIO_LED_POWER_ORANGE 1 #define WNDR3700_GPIO_LED_POWER_ORANGE 1
@ -226,16 +225,6 @@ static void __init wndr3700_pci_init(void)
static inline void wndr3700_pci_init(void) { }; static inline void wndr3700_pci_init(void) { };
#endif /* CONFIG_PCI */ #endif /* CONFIG_PCI */
static struct spi_board_info wndr3700_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
.platform_data = &wndr3700_flash_data,
}
};
static struct gpio_led wndr3700_leds_gpio[] __initdata = { static struct gpio_led wndr3700_leds_gpio[] __initdata = {
{ {
.name = "wndr3700:green:power", .name = "wndr3700:green:power",
@ -314,8 +303,7 @@ static void __init wndr3700_setup(void)
ar71xx_add_device_usb(); ar71xx_add_device_usb();
ar71xx_add_device_spi(NULL, wndr3700_spi_info, ar71xx_add_device_m25p80(&wndr3700_flash_data);
ARRAY_SIZE(wndr3700_spi_info));
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(wndr3700_leds_gpio), ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(wndr3700_leds_gpio),
wndr3700_leds_gpio); wndr3700_leds_gpio);

View File

@ -13,8 +13,6 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/input.h> #include <linux/input.h>
#include <asm/mips_machine.h> #include <asm/mips_machine.h>
@ -22,6 +20,7 @@
#include <asm/mach-ar71xx/ar71xx.h> #include <asm/mach-ar71xx/ar71xx.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define WNR2000_GPIO_LED_PWR_GREEN 14 #define WNR2000_GPIO_LED_PWR_GREEN 14
#define WNR2000_GPIO_LED_PWR_AMBER 7 #define WNR2000_GPIO_LED_PWR_AMBER 7
@ -79,16 +78,6 @@ static struct flash_platform_data wnr2000_flash_data = {
#endif #endif
}; };
static struct spi_board_info wnr2000_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
.platform_data = &wnr2000_flash_data,
}
};
static struct gpio_led wnr2000_leds_gpio[] __initdata = { static struct gpio_led wnr2000_leds_gpio[] __initdata = {
{ {
.name = "wnr2000:green:power", .name = "wnr2000:green:power",
@ -144,8 +133,7 @@ static void __init wnr2000_setup(void)
ar71xx_add_device_eth(0); ar71xx_add_device_eth(0);
ar71xx_add_device_eth(1); ar71xx_add_device_eth(1);
ar71xx_add_device_spi(NULL, wnr2000_spi_info, ar71xx_add_device_m25p80(&wnr2000_flash_data);
ARRAY_SIZE(wnr2000_spi_info));
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(wnr2000_leds_gpio), ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(wnr2000_leds_gpio),
wnr2000_leds_gpio); wnr2000_leds_gpio);

View File

@ -12,8 +12,6 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/input.h> #include <linux/input.h>
#include <asm/mips_machine.h> #include <asm/mips_machine.h>
@ -21,6 +19,7 @@
#include <asm/mach-ar71xx/pci.h> #include <asm/mach-ar71xx/pci.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define WP543_GPIO_SW6 2 #define WP543_GPIO_SW6 2
#define WP543_GPIO_LED_1 3 #define WP543_GPIO_LED_1 3
@ -32,15 +31,6 @@
#define WP543_BUTTONS_POLL_INTERVAL 20 #define WP543_BUTTONS_POLL_INTERVAL 20
static struct spi_board_info wp543_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
}
};
static struct ar71xx_pci_irq wp543_pci_irqs[] __initdata = { static struct ar71xx_pci_irq wp543_pci_irqs[] __initdata = {
{ {
.slot = 0, .slot = 0,
@ -99,7 +89,7 @@ static struct gpio_button wp543_gpio_buttons[] __initdata = {
static void __init wp543_setup(void) static void __init wp543_setup(void)
{ {
ar71xx_add_device_spi(NULL, wp543_spi_info, ARRAY_SIZE(wp543_spi_info)); ar71xx_add_device_m25p80(NULL);
ar71xx_add_device_mdio(0xfffffff7); ar71xx_add_device_mdio(0xfffffff7);

View File

@ -11,14 +11,13 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/input.h> #include <linux/input.h>
#include <asm/mips_machine.h> #include <asm/mips_machine.h>
#include <asm/mach-ar71xx/ar71xx.h> #include <asm/mach-ar71xx/ar71xx.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define WRT160NL_GPIO_LED_POWER 14 #define WRT160NL_GPIO_LED_POWER 14
#define WRT160NL_GPIO_LED_WPS_AMBER 9 #define WRT160NL_GPIO_LED_WPS_AMBER 9
@ -70,16 +69,6 @@ static struct flash_platform_data wrt160nl_flash_data = {
#endif #endif
}; };
static struct spi_board_info wrt160nl_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
.platform_data = &wrt160nl_flash_data,
}
};
static struct gpio_led wrt160nl_leds_gpio[] __initdata = { static struct gpio_led wrt160nl_leds_gpio[] __initdata = {
{ {
.name = "wrt160nl:blue:power", .name = "wrt160nl:blue:power",
@ -132,8 +121,7 @@ static void __init wrt160nl_setup(void)
ar71xx_add_device_eth(0); ar71xx_add_device_eth(0);
ar71xx_add_device_eth(1); ar71xx_add_device_eth(1);
ar71xx_add_device_spi(NULL, wrt160nl_spi_info, ar71xx_add_device_m25p80(&wrt160nl_flash_data);
ARRAY_SIZE(wrt160nl_spi_info));
ar71xx_add_device_usb(); ar71xx_add_device_usb();
ar91xx_add_device_wmac(); ar91xx_add_device_wmac();

View File

@ -12,14 +12,13 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <linux/input.h> #include <linux/input.h>
#include <asm/mips_machine.h> #include <asm/mips_machine.h>
#include <asm/mach-ar71xx/ar71xx.h> #include <asm/mach-ar71xx/ar71xx.h>
#include "devices.h" #include "devices.h"
#include "dev-m25p80.h"
#define WRT400N_GPIO_LED_ORANGE 5 #define WRT400N_GPIO_LED_ORANGE 5
#define WRT400N_GPIO_LED_GREEN 4 #define WRT400N_GPIO_LED_GREEN 4
@ -86,16 +85,6 @@ static struct flash_platform_data wrt400n_flash_data = {
#endif #endif
}; };
static struct spi_board_info wrt400n_spi_info[] = {
{
.bus_num = 0,
.chip_select = 0,
.max_speed_hz = 25000000,
.modalias = "m25p80",
.platform_data = &wrt400n_flash_data,
}
};
static struct gpio_led wrt400n_leds_gpio[] __initdata = { static struct gpio_led wrt400n_leds_gpio[] __initdata = {
{ {
.name = "wrt400n:green:status", .name = "wrt400n:green:status",
@ -150,8 +139,7 @@ static void __init wrt400n_setup(void)
ar71xx_add_device_eth(0); ar71xx_add_device_eth(0);
ar71xx_add_device_eth(1); ar71xx_add_device_eth(1);
ar71xx_add_device_spi(NULL, wrt400n_spi_info, ar71xx_add_device_m25p80(&wrt400n_flash_data);
ARRAY_SIZE(wrt400n_spi_info));
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(wrt400n_leds_gpio), ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(wrt400n_leds_gpio),
wrt400n_leds_gpio); wrt400n_leds_gpio);