History

Merge tag 'staging-3.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging

Pull staging tree fixes from Greg Kroah-Hartman: "Here are some tiny drivers/staging/ bugfixes. Some build fixes that were recently reported, as well as one kfree bug that is hitting a number of users." * tag 'staging-3.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: staging: ozwpan: Fix bug where kfree is called twice. staging: octeon-ethernet: fix build errors by including interrupt.h staging: zcache: fix Kconfig crypto dependency staging: tidspbridge: remove usage of OMAP2_L4_IO_ADDRESS

Linus Torvalds committed 14 years ago

Commit de9e24e2 parents 8d7d1ad 89f21cc7 files · +23 −12Browse files

Unified · Split

7 files
  1. drivers/staging/octeon/ethernet-rx.c +1 −0
  2. drivers/staging/octeon/ethernet-tx.c +1 −0
  3. drivers/staging/octeon/ethernet.c +1 −0
  4. drivers/staging/ozwpan/ozpd.c +0 −2
  5. drivers/staging/tidspbridge/core/tiomap3430.c +12 −8
  6. drivers/staging/tidspbridge/core/wdt.c +7 −1
  7. drivers/staging/zcache/Kconfig +1 −1
drivers/staging/octeon/ethernet-rx.c+1−0
@@ -36,6 +36,7 @@ · 35 unmodified lines
3636 #include <linux/prefetch.h>
3737 #include <linux/ratelimit.h>
3838 #include <linux/smp.h>
39+#include <linux/interrupt.h>
3940 #include <net/dst.h>
4041 #ifdef CONFIG_XFRM
4142 #include <linux/xfrm.h>
drivers/staging/octeon/ethernet-tx.c+1−0
@@ -32,6 +32,7 @@ · 31 unmodified lines
3232 #include <linux/ip.h>
3333 #include <linux/ratelimit.h>
3434 #include <linux/string.h>
35+#include <linux/interrupt.h>
3536 #include <net/dst.h>
3637 #ifdef CONFIG_XFRM
3738 #include <linux/xfrm.h>
drivers/staging/octeon/ethernet.c+1−0
@@ -31,6 +31,7 @@ · 30 unmodified lines
3131 #include <linux/etherdevice.h>
3232 #include <linux/phy.h>
3333 #include <linux/slab.h>
34+#include <linux/interrupt.h>
3435
3536 #include <net/dst.h>
3637
drivers/staging/ozwpan/ozpd.c+0−2
@@ -383,8 +383,6 @@ static void oz_tx_frame_free(struct oz_pd *pd, struct oz_tx_frame *f) · 382 unmodified lines
383383 pd->tx_pool = &f->link;
384384 pd->tx_pool_count++;
385385 f = 0;
386− } else {
387− kfree(f);
388386 }
389387 spin_unlock_bh(&pd->tx_frame_lock);
390388 if (f)
drivers/staging/tidspbridge/core/tiomap3430.c+12−8
@@ -79,10 +79,6 @@ · 78 unmodified lines
7979 #define OMAP343X_CONTROL_IVA2_BOOTADDR (OMAP2_CONTROL_GENERAL + 0x0190)
8080 #define OMAP343X_CONTROL_IVA2_BOOTMOD (OMAP2_CONTROL_GENERAL + 0x0194)
8181
82−#define OMAP343X_CTRL_REGADDR(reg) \
83− OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE + (reg))
84−
85−
8682 /* Forward Declarations: */
8783 static int bridge_brd_monitor(struct bridge_dev_context *dev_ctxt);
8884 static int bridge_brd_read(struct bridge_dev_context *dev_ctxt,
@@ -418,19 +414,27 @@ static int bridge_brd_start(struct bridge_dev_context *dev_ctxt, · 329 unmodified lines
418414
419415 /* Assert RST1 i.e only the RST only for DSP megacell */
420416 if (!status) {
417+ /*
418+ * XXX: ioremapping MUST be removed once ctrl
419+ * function is made available.
420+ */
421+ void __iomem *ctrl = ioremap(OMAP343X_CTRL_BASE, SZ_4K);
422+ if (!ctrl)
423+ return -ENOMEM;
424+
421425 (*pdata->dsp_prm_rmw_bits)(OMAP3430_RST1_IVA2_MASK,
422426 OMAP3430_RST1_IVA2_MASK, OMAP3430_IVA2_MOD,
423427 OMAP2_RM_RSTCTRL);
424428 /* Mask address with 1K for compatibility */
425429 __raw_writel(dsp_addr & OMAP3_IVA2_BOOTADDR_MASK,
426− OMAP343X_CTRL_REGADDR(
427− OMAP343X_CONTROL_IVA2_BOOTADDR));
430+ ctrl + OMAP343X_CONTROL_IVA2_BOOTADDR);
428431 /*
429432 * Set bootmode to self loop if dsp_debug flag is true
430433 */
431434 __raw_writel((dsp_debug) ? OMAP3_IVA2_BOOTMOD_IDLE : 0,
432− OMAP343X_CTRL_REGADDR(
433− OMAP343X_CONTROL_IVA2_BOOTMOD));
435+ ctrl + OMAP343X_CONTROL_IVA2_BOOTMOD);
436+
437+ iounmap(ctrl);
434438 }
435439 }
436440 if (!status) {
drivers/staging/tidspbridge/core/wdt.c+7−1
@@ -53,7 +53,10 @@ int dsp_wdt_init(void) · 52 unmodified lines
5353 int ret = 0;
5454
5555 dsp_wdt.sm_wdt = NULL;
56− dsp_wdt.reg_base = OMAP2_L4_IO_ADDRESS(OMAP34XX_WDT3_BASE);
56+ dsp_wdt.reg_base = ioremap(OMAP34XX_WDT3_BASE, SZ_4K);
57+ if (!dsp_wdt.reg_base)
58+ return -ENOMEM;
59+
5760 tasklet_init(&dsp_wdt.wdt3_tasklet, dsp_wdt_dpc, 0);
5861
5962 dsp_wdt.fclk = clk_get(NULL, "wdt3_fck");
@@ -99,6 +102,9 @@ void dsp_wdt_exit(void) · 39 unmodified lines
99102 dsp_wdt.fclk = NULL;
100103 dsp_wdt.iclk = NULL;
101104 dsp_wdt.sm_wdt = NULL;
105+
106+ if (dsp_wdt.reg_base)
107+ iounmap(dsp_wdt.reg_base);
102108 dsp_wdt.reg_base = NULL;
103109 }
104110
drivers/staging/zcache/Kconfig+1−1
@@ -2,7 +2,7 @@ config ZCACHE · 1 unmodified line
22 bool "Dynamic compression of swap pages and clean pagecache pages"
33 # X86 dependency is because zsmalloc uses non-portable pte/tlb
44 # functions
5− depends on (CLEANCACHE || FRONTSWAP) && CRYPTO && X86
5+ depends on (CLEANCACHE || FRONTSWAP) && CRYPTO=y && X86
66 select ZSMALLOC
77 select CRYPTO_LZO
88 default n