Probe the system parallel flash using device tree rather than platform code, in order to reduce the amount of the latter. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> --- Changes in v2: - Provide bank-width - Move partitions beneath partitions node - s/pflash/flash/ arch/mips/boot/dts/mti/sead3.dts | 24 +++++++++++++++++++++++ arch/mips/mti-sead3/sead3-platform.c | 37 ------------------------------------ 2 files changed, 24 insertions(+), 37 deletions(-) diff --git a/arch/mips/boot/dts/mti/sead3.dts b/arch/mips/boot/dts/mti/sead3.dts index 49f57c2..8844cc0 100644 --- a/arch/mips/boot/dts/mti/sead3.dts +++ b/arch/mips/boot/dts/mti/sead3.dts @@ -69,6 +69,30 @@ has-transaction-translator; }; + flash@1c000000 { + compatible = "intel,28f128j3", "cfi-flash"; + reg = <0x1c000000 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + bank-width = <4>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + user-fs@0 { + label = "User FS"; + reg = <0x0 0x1fc0000>; + }; + + board-config@3e0000 { + label = "Board Config"; + reg = <0x1fc0000 0x40000>; + }; + }; + }; + /* UART connected to FTDI & miniUSB socket */ uart0: uart@1f000900 { compatible = "ns16550a"; diff --git a/arch/mips/mti-sead3/sead3-platform.c b/arch/mips/mti-sead3/sead3-platform.c index 21047b5..5c1f42a 100644 --- a/arch/mips/mti-sead3/sead3-platform.c +++ b/arch/mips/mti-sead3/sead3-platform.c @@ -8,44 +8,8 @@ #include <linux/dma-mapping.h> #include <linux/init.h> #include <linux/leds.h> -#include <linux/mtd/physmap.h> #include <linux/platform_device.h> -static struct mtd_partition sead3_mtd_partitions[] = { - { - .name = "User FS", - .offset = 0x00000000, - .size = 0x01fc0000, - }, { - .name = "Board Config", - .offset = 0x01fc0000, - .size = 0x00040000, - .mask_flags = MTD_WRITEABLE - }, -}; - -static struct physmap_flash_data sead3_flash_data = { - .width = 4, - .nr_parts = ARRAY_SIZE(sead3_mtd_partitions), - .parts = sead3_mtd_partitions -}; - -static struct resource sead3_flash_resource = { - .start = 0x1c000000, - .end = 0x1dffffff, - .flags = IORESOURCE_MEM -}; - -static struct platform_device sead3_flash = { - .name = "physmap-flash", - .id = 0, - .dev = { - .platform_data = &sead3_flash_data, - }, - .num_resources = 1, - .resource = &sead3_flash_resource, -}; - #define LEDFLAGS(bits, shift) \ ((bits << 8) | (shift << 8)) @@ -113,7 +77,6 @@ static struct platform_device sead3_led_device = { }; static struct platform_device *sead3_platform_devices[] __initdata = { - &sead3_flash, &pled_device, &fled_device, &sead3_led_device, -- 2.9.3