1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2025-04-21 12:27:27 +03:00

kernel: update bcma and ssb to master-2012-12-11-2 from wireless-testing

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34651 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
hauke
2012-12-12 22:42:18 +00:00
parent 9c0265ae19
commit 811c287737
45 changed files with 3588 additions and 1111 deletions

View File

@@ -434,7 +434,7 @@
pr_debug("Found parallel flash\n");
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
@@ -18,6 +18,7 @@
@@ -19,6 +19,7 @@
#include <linux/ssb/ssb_driver_gige.h>
#include <linux/dma-mapping.h>
#include <linux/pci.h>
@@ -442,7 +442,7 @@
#include <linux/mmc/sdio_func.h>
#include <linux/slab.h>
@@ -534,6 +535,15 @@ static int ssb_devices_register(struct s
@@ -540,6 +541,15 @@ static int ssb_devices_register(struct s
dev_idx++;
}
@@ -460,9 +460,9 @@
/* Unwind the already registered devices. */
--- a/drivers/ssb/ssb_private.h
+++ b/drivers/ssb/ssb_private.h
@@ -211,4 +211,16 @@ static inline void b43_pci_ssb_bridge_ex
extern u32 ssb_pmu_get_cpu_clock(struct ssb_chipcommon *cc);
extern u32 ssb_pmu_get_controlclock(struct ssb_chipcommon *cc);
@@ -242,4 +242,16 @@ static inline int ssb_watchdog_register(
}
#endif /* CONFIG_SSB_EMBEDDED */
+#ifdef CONFIG_SSB_SFLASH
+/* driver_chipcommon_sflash.c */
@@ -515,10 +515,10 @@
#define SSB_CHIPCO_FLASHCTL_ST_RES 0x03AB /* Read Electronic Signature */
#define SSB_CHIPCO_FLASHCTL_ST_CSA 0x1000 /* Keep chip select asserted */
#define SSB_CHIPCO_FLASHCTL_ST_SSE 0x0220 /* Sub-sector Erase */
@@ -591,6 +604,9 @@ struct ssb_chipcommon {
/* Fast Powerup Delay constant */
u16 fast_pwrup_delay;
@@ -593,6 +606,9 @@ struct ssb_chipcommon {
struct ssb_chipcommon_pmu pmu;
u32 ticks_per_ms;
u32 max_timer_ms;
+#ifdef CONFIG_SSB_SFLASH
+ struct bcm47xx_sflash sflash;
+#endif

View File

@@ -50,7 +50,7 @@
}
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
@@ -543,6 +543,14 @@ static int ssb_devices_register(struct s
@@ -549,6 +549,14 @@ static int ssb_devices_register(struct s
"Error registering serial flash\n");
}
#endif
@@ -67,7 +67,7 @@
error:
--- a/drivers/ssb/ssb_private.h
+++ b/drivers/ssb/ssb_private.h
@@ -223,4 +223,6 @@ static inline int ssb_sflash_init(struct
@@ -254,4 +254,6 @@ static inline int ssb_sflash_init(struct
}
#endif /* CONFIG_SSB_SFLASH */

View File

@@ -307,16 +307,16 @@
e->name, sflash->size / 1024, sflash->blocksize,
--- a/include/linux/bcma/bcma_driver_chipcommon.h
+++ b/include/linux/bcma/bcma_driver_chipcommon.h
@@ -1,6 +1,8 @@
#ifndef LINUX_BCMA_DRIVER_CC_H_
#define LINUX_BCMA_DRIVER_CC_H_
@@ -3,6 +3,8 @@
#include <linux/platform_device.h>
+#include <linux/mtd/bcm47xx_sflash.h>
+
/** ChipCommon core registers. **/
#define BCMA_CC_ID 0x0000
#define BCMA_CC_ID_ID 0x0000FFFF
@@ -516,17 +518,6 @@ struct bcma_pflash {
@@ -518,17 +520,6 @@ struct bcma_pflash {
u32 window_size;
};
@@ -334,7 +334,7 @@
#ifdef CONFIG_BCMA_NFLASH
struct mtd_info;
@@ -561,7 +552,7 @@ struct bcma_drv_cc {
@@ -563,7 +554,7 @@ struct bcma_drv_cc {
#ifdef CONFIG_BCMA_DRIVER_MIPS
struct bcma_pflash pflash;
#ifdef CONFIG_BCMA_SFLASH

View File

@@ -181,15 +181,15 @@
+}
--- a/include/linux/bcma/bcma_driver_chipcommon.h
+++ b/include/linux/bcma/bcma_driver_chipcommon.h
@@ -2,6 +2,7 @@
#define LINUX_BCMA_DRIVER_CC_H_
@@ -4,6 +4,7 @@
#include <linux/platform_device.h>
#include <linux/mtd/bcm47xx_sflash.h>
+#include <linux/mtd/bcm47xx_nand.h>
/** ChipCommon core registers. **/
#define BCMA_CC_ID 0x0000
@@ -519,17 +520,6 @@ struct bcma_pflash {
@@ -521,17 +522,6 @@ struct bcma_pflash {
};
@@ -207,7 +207,7 @@
struct bcma_serial_port {
void *regs;
unsigned long clockspeed;
@@ -555,7 +545,7 @@ struct bcma_drv_cc {
@@ -557,7 +547,7 @@ struct bcma_drv_cc {
struct bcm47xx_sflash sflash;
#endif
#ifdef CONFIG_BCMA_NFLASH
@@ -216,7 +216,7 @@
#endif
int nr_serial_ports;
@@ -613,4 +603,13 @@ extern void bcma_chipco_regctl_maskset(s
@@ -616,4 +606,13 @@ extern void bcma_chipco_regctl_maskset(s
u32 offset, u32 mask, u32 set);
extern void bcma_pmu_spuravoid_pllupdate(struct bcma_drv_cc *cc, int spuravoid);

View File

@@ -1,6 +1,6 @@
--- a/drivers/ssb/embedded.c
+++ b/drivers/ssb/embedded.c
@@ -136,6 +136,18 @@ u32 ssb_gpio_polarity(struct ssb_bus *bu
@@ -171,6 +171,18 @@ u32 ssb_gpio_polarity(struct ssb_bus *bu
}
EXPORT_SYMBOL(ssb_gpio_polarity);

View File

@@ -1,15 +1,15 @@
--- a/drivers/bcma/driver_chipcommon.c
+++ b/drivers/bcma/driver_chipcommon.c
@@ -70,6 +70,8 @@ void bcma_core_chipcommon_init(struct bc
(leddc_off << BCMA_CC_GPIOTIMER_OFFTIME_SHIFT)));
@@ -158,6 +158,8 @@ void bcma_core_chipcommon_init(struct bc
}
cc->ticks_per_ms = bcma_chipco_watchdog_ticks_per_ms(cc);
+ spin_lock_init(&cc->gpio_lock);
+
cc->setup_done = true;
}
@@ -92,34 +94,81 @@ u32 bcma_chipco_irq_status(struct bcma_d
@@ -197,34 +199,81 @@ u32 bcma_chipco_irq_status(struct bcma_d
u32 bcma_chipco_gpio_in(struct bcma_drv_cc *cc, u32 mask)
{
@@ -99,17 +99,17 @@
void bcma_chipco_serial_init(struct bcma_drv_cc *cc)
--- a/include/linux/bcma/bcma_driver_chipcommon.h
+++ b/include/linux/bcma/bcma_driver_chipcommon.h
@@ -551,6 +551,9 @@ struct bcma_drv_cc {
int nr_serial_ports;
struct bcma_serial_port serial_ports[4];
@@ -555,6 +555,9 @@ struct bcma_drv_cc {
#endif /* CONFIG_BCMA_DRIVER_MIPS */
u32 ticks_per_ms;
struct platform_device *watchdog;
+
+ /* Lock for GPIO register access. */
+ spinlock_t gpio_lock;
};
/* Register access */
@@ -581,13 +584,22 @@ void bcma_chipco_irq_mask(struct bcma_dr
@@ -584,13 +587,22 @@ void bcma_chipco_irq_mask(struct bcma_dr
u32 bcma_chipco_irq_status(struct bcma_drv_cc *cc, u32 mask);