From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Nicholas A. Bellinger" Subject: Re: mmotm 2012-07-10-16-59 uploaded (staging/ccg) Date: Wed, 11 Jul 2012 16:38:14 -0700 Message-ID: <1342049894.18004.98.camel@haakon2.linux-iscsi.org> References: <20120711000148.BAD1E5C0050@hpza9.eem.corp.google.com> <4FFDF7BC.6050602@xenotime.net> <20120711151644.23016bd8.akpm@linux-foundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20120711151644.23016bd8.akpm@linux-foundation.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devel-bounces@linuxdriverproject.org Sender: devel-bounces@linuxdriverproject.org To: Andrew Morton Cc: "devel@driverdev.osuosl.org" , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-next@vger.kernel.org, Andrzej Pietrasiewicz , Mike Lockwood List-Id: linux-next.vger.kernel.org Hi Andrew, On Wed, 2012-07-11 at 15:16 -0700, Andrew Morton wrote: > On Wed, 11 Jul 2012 15:01:32 -0700 > Randy Dunlap wrote: > > > In file included from drivers/staging/ccg/ccg.c:59:0: > > drivers/staging/ccg/../../usb/gadget/f_fs.c:41:0: warning: "pr_vdebug" redefined > > drivers/staging/ccg/../../usb/gadget/u_serial.c:138:0: note: this is the location of the previous definition > > > > : /* > : * Kbuild is not very cooperative with respect to linking separately > : * compiled library objects into one module. So for now we won't use > : * separate compilation ... ensuring init/exit sections work to shrink > : * the runtime footprint, and giving us at least some parts of what > : * a "gcc --combine ... part1.c part2.c part3.c ... " build would. > : */ > : #include "../../usb/gadget/usbstring.c" > : #include "../../usb/gadget/config.c" > : #include "../../usb/gadget/epautoconf.c" > : #include "../../usb/gadget/composite.c" > : > : #include "../../usb/gadget/f_mass_storage.c" > : #include "../../usb/gadget/u_serial.c" > : #include "../../usb/gadget/f_acm.c" > : #define USB_ETH_RNDIS y > : #include "../../usb/gadget/f_rndis.c" > : #include "../../usb/gadget/rndis.c" > : #include "../../usb/gadget/u_ether.c" > : #include "../../usb/gadget/f_fs.c" > > What nonsense is this? > > Who wrote that rotten comment? What does "not very cooperative" mean? > This alleged lack of cooperation is the central issue, but you couldn't > be bothered actually describing it? How the heck is anyone else to > understand the problem and suggest fixes? argh. > > It talks about library objects. Really? Is there a .a file > involved here, or is that just a thinko? If there is indeed a .a file > then I'm not surprised there are problems: don't do that. If instead > we're just talking about a bunch of .o files then I'm rather curious to > know what "not very cooperative" means. > I certainly won't attempt to defend this particular piece of code, but FYI the original design limitation(s) for usb-gadget that requires this type of strangeness was elaborated by Sebastian a few months back here: http://www.spinics.net/lists/target-devel/msg02374.html --nab