mirror of https://github.com/hak5/openwrt.git
68 lines
1.9 KiB
Diff
68 lines
1.9 KiB
Diff
|
--- a/drivers/bcma/bcma_private.h
|
||
|
+++ b/drivers/bcma/bcma_private.h
|
||
|
@@ -45,6 +45,7 @@ int bcma_sprom_get(struct bcma_bus *bus)
|
||
|
/* driver_chipcommon.c */
|
||
|
#ifdef CONFIG_BCMA_DRIVER_MIPS
|
||
|
void bcma_chipco_serial_init(struct bcma_drv_cc *cc);
|
||
|
+extern struct platform_device bcma_pflash_dev;
|
||
|
#endif /* CONFIG_BCMA_DRIVER_MIPS */
|
||
|
|
||
|
/* driver_chipcommon_pmu.c */
|
||
|
--- a/drivers/bcma/driver_mips.c
|
||
|
+++ b/drivers/bcma/driver_mips.c
|
||
|
@@ -18,6 +18,7 @@
|
||
|
#include <linux/serial_core.h>
|
||
|
#include <linux/serial_reg.h>
|
||
|
#include <linux/time.h>
|
||
|
+#include <linux/platform_device.h>
|
||
|
|
||
|
/* The 47162a0 hangs when reading MIPS DMP registers registers */
|
||
|
static inline bool bcma_core_mips_bcm47162a0_quirk(struct bcma_device *dev)
|
||
|
@@ -178,6 +179,19 @@ u32 bcma_cpu_clock(struct bcma_drv_mips
|
||
|
}
|
||
|
EXPORT_SYMBOL(bcma_cpu_clock);
|
||
|
|
||
|
+static struct resource bcma_pflash_resource = {
|
||
|
+ .name = "bcma_pflash",
|
||
|
+ .start = 0,
|
||
|
+ .end = 0,
|
||
|
+ .flags = 0,
|
||
|
+};
|
||
|
+
|
||
|
+struct platform_device bcma_pflash_dev = {
|
||
|
+ .name = "bcm47xx-pflash",
|
||
|
+ .resource = &bcma_pflash_resource,
|
||
|
+ .num_resources = 1,
|
||
|
+};
|
||
|
+
|
||
|
static void bcma_core_mips_flash_detect(struct bcma_drv_mips *mcore)
|
||
|
{
|
||
|
struct bcma_bus *bus = mcore->core->bus;
|
||
|
@@ -200,6 +214,9 @@ static void bcma_core_mips_flash_detect(
|
||
|
cc->pflash.buswidth = 1;
|
||
|
else
|
||
|
cc->pflash.buswidth = 2;
|
||
|
+
|
||
|
+ bcma_pflash_resource.start = cc->pflash.window;
|
||
|
+ bcma_pflash_resource.end = cc->pflash.window + cc->pflash.window_size;
|
||
|
break;
|
||
|
default:
|
||
|
bcma_err(bus, "Flash type not supported\n");
|
||
|
--- a/drivers/bcma/main.c
|
||
|
+++ b/drivers/bcma/main.c
|
||
|
@@ -149,6 +149,14 @@ static int bcma_register_cores(struct bc
|
||
|
dev_id++;
|
||
|
}
|
||
|
|
||
|
+#ifdef CONFIG_BCMA_DRIVER_MIPS
|
||
|
+ if (bus->drv_cc.pflash.present) {
|
||
|
+ err = platform_device_register(&bcma_pflash_dev);
|
||
|
+ if (err)
|
||
|
+ bcma_err(bus, "Error registering parallel flash\n");
|
||
|
+ }
|
||
|
+#endif
|
||
|
+
|
||
|
#ifdef CONFIG_BCMA_SFLASH
|
||
|
if (bus->drv_cc.sflash.present) {
|
||
|
err = platform_device_register(&bcma_sflash_dev);
|