lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091012074221.GA19198@elte.hu>
Date:	Mon, 12 Oct 2009 09:42:21 +0200
From:	Ingo Molnar <mingo@...e.hu>
To:	Linus Torvalds <torvalds@...ux-foundation.org>,
	Greg KH <gregkh@...e.de>, Mike Frysinger <vapier@...too.org>
Cc:	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: [origin tree build failure] [PATCH] Revert "USB: musb: make
	HAVE_CLK support optional"


* Linus Torvalds <torvalds@...ux-foundation.org> wrote:

> As usual, please test this for regressions, both new and old. 

>       USB: musb: make HAVE_CLK support optional

This USB/Blackfin commit broke the x86 build with these config options:

 CONFIG_USB_MUSB_HDRC=y
 CONFIG_USB_MUSB_HOST=y
 # CONFIG_USB_MUSB_PERIPHERAL is not set
 # CONFIG_USB_MUSB_OTG is not set
 # CONFIG_USB_GADGET_MUSB_HDRC is not set
 CONFIG_USB_MUSB_HDRC_HCD=y
 CONFIG_MUSB_PIO_ONLY=y
 CONFIG_USB_MUSB_DEBUG=y

Because a side-effect of the patch was that it enabled the driver on x86 
too which doesnt have HAVE_CLK. So this formerly embedded-only driver 
got exposed on the more widely tested x86 platform.

The changelog does not mention this side-effect so i suspect it was 
unintended - so below is the revert of the commit.

	Ingo

-------------------->
>From 64f59376a1259cbce3da07f7e7d4c9d5830b68e4 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@...e.hu>
Date: Mon, 12 Oct 2009 09:31:32 +0200
Subject: [PATCH] Revert "USB: musb: make HAVE_CLK support optional"

This reverts commit b20cf90650badaa5e6ec1bdbe61a63528818e8ce.

It breaks the x86 build:

  drivers/built-in.o: In function `musb_stop':
  (.text+0x417427): undefined reference to `musb_platform_disable'
  drivers/built-in.o: In function `musb_shutdown':
  musb_core.c:(.text+0x4174c6): undefined reference to `musb_platform_disable'
  drivers/built-in.o: In function `musb_mode_store':
  musb_core.c:(.text+0x417729): undefined reference to `musb_platform_set_mode'
  drivers/built-in.o: In function `musb_free':
  musb_core.c:(.text+0x4177cc): undefined reference to `dma_controller_destroy'
  musb_core.c:(.text+0x4177e0): undefined reference to `musb_platform_exit'
  drivers/built-in.o: In function `musb_start':
  (.text+0x418097): undefined reference to `musb_platform_enable'
  drivers/built-in.o: In function `musb_probe':
  musb_core.c:(.init.text+0x18db5): undefined reference to `musb_platform_init'
  musb_core.c:(.init.text+0x18df3): undefined reference to `dma_controller_create'
  musb_core.c:(.init.text+0x18e21): undefined reference to `musb_platform_disable'
  musb_core.c:(.init.text+0x1970c): undefined reference to `musb_platform_exit'
  make: *** [.tmp_vmlinux1] Error 1

Signed-off-by: Ingo Molnar <mingo@...e.hu>
---
 drivers/usb/musb/Kconfig     |    2 +-
 drivers/usb/musb/blackfin.c  |    1 +
 drivers/usb/musb/musb_core.h |    7 -------
 drivers/usb/musb/musb_regs.h |    9 +++++++++
 4 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
index 760e727..803adcb 100644
--- a/drivers/usb/musb/Kconfig
+++ b/drivers/usb/musb/Kconfig
@@ -8,7 +8,7 @@ comment "Enable Host or Gadget support to see Inventra options"
 
 # (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
 config USB_MUSB_HDRC
-	depends on (USB || USB_GADGET)
+	depends on (USB || USB_GADGET) && HAVE_CLK
 	depends on !SUPERH
 	select NOP_USB_XCEIV if ARCH_DAVINCI
 	select TWL4030_USB if MACH_OMAP_3430SDP
diff --git a/drivers/usb/musb/blackfin.c b/drivers/usb/musb/blackfin.c
index fcec87e..f2f66eb 100644
--- a/drivers/usb/musb/blackfin.c
+++ b/drivers/usb/musb/blackfin.c
@@ -14,6 +14,7 @@
 #include <linux/slab.h>
 #include <linux/init.h>
 #include <linux/list.h>
+#include <linux/clk.h>
 #include <linux/gpio.h>
 #include <linux/io.h>
 
diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h
index 6aa5f22..381d648 100644
--- a/drivers/usb/musb/musb_core.h
+++ b/drivers/usb/musb/musb_core.h
@@ -95,13 +95,6 @@ struct musb_ep;
 #endif
 #endif	/* need MUSB gadget selection */
 
-#ifndef CONFIG_HAVE_CLK
-/* Dummy stub for clk framework */
-#define clk_get(dev, id)	NULL
-#define clk_put(clock)		do {} while (0)
-#define clk_enable(clock)	do {} while (0)
-#define clk_disable(clock)	do {} while (0)
-#endif
 
 #ifdef CONFIG_PROC_FS
 #include <linux/fs.h>
diff --git a/drivers/usb/musb/musb_regs.h b/drivers/usb/musb/musb_regs.h
index cc1d71b..fbfd3fd 100644
--- a/drivers/usb/musb/musb_regs.h
+++ b/drivers/usb/musb/musb_regs.h
@@ -439,6 +439,15 @@ static inline void  musb_write_txhubport(void __iomem *mbase, u8 epnum,
 /* Not implemented - HW has seperate Tx/Rx FIFO */
 #define MUSB_TXCSR_MODE			0x0000
 
+/*
+ * Dummy stub for clk framework, it will be removed
+ * until Blackfin supports clk framework
+ */
+#define clk_get(dev, id)	NULL
+#define clk_put(clock)		do {} while (0)
+#define clk_enable(clock)	do {} while (0)
+#define clk_disable(clock)	do {} while (0)
+
 static inline void musb_write_txfifosz(void __iomem *mbase, u8 c_size)
 {
 }
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ