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:
@@ -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
|
||||
|
||||
@@ -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 */
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user