diff for duplicates of <op.vgny39097p4s8u@pikus> diff --git a/a/1.txt b/N1/1.txt index 4a6a57a..35ee2cb 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,30 +1,22 @@ -On Fri, 30 Jul 2010 17:26:02 +0200, Uwe Kleine-K=C3=B6nig <u.kleine-koen= -ig@pengutronix.de> wrote: -> On Fri, Jul 30, 2010 at 05:16:46PM +0200, Micha=C5=82 Nazarewicz wrote= -: ->> On Fri, 30 Jul 2010 16:49:14 +0200, Uwe Kleine-K=C3=B6nig <u.kleine-k= -oenig@pengutronix.de> wrote: +On Fri, 30 Jul 2010 17:26:02 +0200, Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> wrote: +> On Fri, Jul 30, 2010 at 05:16:46PM +0200, Micha? Nazarewicz wrote: +>> On Fri, 30 Jul 2010 16:49:14 +0200, Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> wrote: >> ->>> This is like usb_gadget_register_driver with the only difference tha= -t it ->>> gets the bind function as parameter instead of using driver->bind. = -This +>>> This is like usb_gadget_register_driver with the only difference that it +>>> gets the bind function as parameter instead of using driver->bind. This >>> allows fixing section mismatches like >>> ->>> WARNING: drivers/usb/gadget/g_printer.o(.data+0xc): Section mismatc= -h in +>>> WARNING: drivers/usb/gadget/g_printer.o(.data+0xc): Section mismatch in >>> reference from the variable printer_driver to the function >>> .init.text:printer_bind() >>> The variable printer_driver references >>> the function __init printer_bind() >>> ->>> by using usb_gadget_probe_driver with driver->bind =3D NULL. When a= -ll +>>> by using usb_gadget_probe_driver with driver->bind = NULL. When all >>> drivers are fixed to use the new function the bind member of struct >>> usb_gadget_driver can go away. >>> ->>> Signed-off-by: Uwe Kleine-K=C3=B6nig <u.kleine-koenig@pengutronix.de= -> +>>> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> >>> Cc: Michal Nazarewicz <m.nazarewicz@samsung.com> >>> Cc: Greg Kroah-Hartman <gregkh@suse.de> @@ -39,27 +31,19 @@ Signed-off-by anyway. >>> >>> Thoughts? >> ->> Personally I don't see advantage of this over changing the __init to = -__ref. ->> Or am I missing something? I see your patch as an unnecessary API ch= -ange. ->> The way I understand it, __ref was introduced exactly for cases like = -this ->> one where function is referenced from "normal" data but used only dur= -ing ->> init. Could you try to clarify for me why you think your solution is= - +>> Personally I don't see advantage of this over changing the __init to __ref. +>> Or am I missing something? I see your patch as an unnecessary API change. +>> The way I understand it, __ref was introduced exactly for cases like this +>> one where function is referenced from "normal" data but used only during +>> init. Could you try to clarify for me why you think your solution is >> better then mine? -> - Using __ref instead of __init moves all bind functions from .init.te= -xt -> to .text and so the code isn't freed after booting or module loading= -. +> - Using __ref instead of __init moves all bind functions from .init.text +> to .text and so the code isn't freed after booting or module loading. > (OK, you could fix this by marking the driver structs as __ref and > keep __init for the bind functions.) -I believe this to be untrue. __ref puts code in .ref.text which AFAIK i= -s +I believe this to be untrue. __ref puts code in .ref.text which AFAIK is freed. > - Using __ref might hide section mismatches. (Your patch hasn't this @@ -69,17 +53,15 @@ freed. > this is an issue.) That's why I don't like __ref and said my patch > were better as it doesn't make use of it. > -> - The bind functions are only called at init time, so there is no need= - +> - The bind functions are only called at init time, so there is no need > to save a pointer to it. OK, I see some merit in this approach. However, the same issue is with usb_configuration and ?usb_composite_driver -- those should be changed in the same way or it would defeat the purpose of the patch. --- = - +-- Best regards, _ _ -| Humble Liege of Serenely Enlightened Majesty of o' \,=3D./ `o -| Computer Science, Micha=C5=82 "mina86" Nazarewicz (o o) +| Humble Liege of Serenely Enlightened Majesty of o' \,=./ `o +| Computer Science, Micha? "mina86" Nazarewicz (o o) +----[mina86*mina86.com]---[mina86*jabber.org]----ooO--(_)--Ooo-- diff --git a/a/content_digest b/N1/content_digest index 13f6d91..b19786e 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,87 +1,31 @@ "ref\01280501361-13410-1-git-send-email-u.kleine-koenig@pengutronix.de\0" "ref\0op.vgnwp8107p4s8u@pikus\0" "ref\020100730152602.GA28042@pengutronix.de\0" - "From\0Micha\305\202 Nazarewicz <m.nazarewicz@samsung.com>\0" - "Subject\0Re: [PATCH RFC] usb gadget: introduce usb_gadget_probe_driver\0" + "From\0m.nazarewicz@samsung.com (Micha\305\202 Nazarewicz)\0" + "Subject\0[PATCH RFC] usb gadget: introduce usb_gadget_probe_driver\0" "Date\0Fri, 30 Jul 2010 18:08:23 +0200\0" - "To\0Uwe Kleine-K\303\266nig <u.kleine-koenig@pengutronix.de>\0" - "Cc\0Cliff Cai <cliff.cai@analog.com>" - Greg Kroah-Hartman <gregkh@suse.de> - Dinh Nguyen <Dinh.Nguyen@freescale.com> - Tony Lindgren <tony@atomide.com> - Nicolas Ferre <nicolas.ferre@atmel.com> - linux-kernel@vger.kernel.org - linuxppc-dev@ozlabs.org - Julia Lawall <julia@diku.dk> - Philipp Zabel <philipp.zabel@gmail.com> - Mark Brown <broonie@opensource.wolfsonmicro.com> - Felipe Balbi <felipe.balbi@nokia.com> - Andrea Gelmini <andrea.gelmini@gelma.net> - Robert Jarzmik <robert.jarzmik@free.fr> - Fabien Chouteau <fabien.chouteau@barco.com> - Dan Carpenter <error27@gmail.com> - David Brownell <dbrownell@users.sourceforge.net> - Vladimir Zapolskiy <vzapolskiy@gmail.com> - Sergei Shtylyov <sshtylyov@ru.mvista.com> - Vincent Sanders <support@simtec.co.uk> - Marc Singer <elf@buici.com> - " Andr\303\251 Goddard Rosa <andre.goddard@gmail.com>" - Alan Stern <stern@rowland.harvard.edu> - Sean MacLennan <smaclennan@pikatech.com> - Russell King <rmk+kernel@arm.linux.org.uk> - Tobias Klauser <tklauser@distanz.ch> - Marc Kleine-Budde <m.kleine-budde@pengutronix.de> - Eirik Aanonsen <eaa@wprmedical.com> - Mike Frysinger <vapier@gentoo.org> - Thomas Dahlmann <dahlmann.thomas@arcor.de> - linux-geode@lists.infradead.org - Ben Dooks <ben-linux@fluff.org> - Magnus Damm <damm@igel.co.jp> - Anton Vorontsov <avorontsov@ru.mvista.com> - Andrew Victor <linux@maxim.org.za> - linux-arm-kernel@lists.infradead.org - Anatolij Gustschin <agust@denx.de> - Eric Miao <eric.y.miao@gmail.com> - " N\303\251meth M\303\241rton <nm127@freemail.hu>" - Jiri Kosina <jkosina@suse.cz> - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> - linux-usb@vger.kernel.org - Harro Haan <hrhaan@gmail.com> - FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> - H Hartley Sweeten <hsweeten@visionengravers.com> - Paul Mundt <lethal@linux-sh.org> - Tejun Heo <tj@kernel.org> - Andrew Morton <akpm@linux-foundation.org> - " Cory Maccarrone <darkstar6262@gmail.com>\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" - "On Fri, 30 Jul 2010 17:26:02 +0200, Uwe Kleine-K=C3=B6nig <u.kleine-koen=\n" - "ig@pengutronix.de> wrote:\n" - "> On Fri, Jul 30, 2010 at 05:16:46PM +0200, Micha=C5=82 Nazarewicz wrote=\n" - ":\n" - ">> On Fri, 30 Jul 2010 16:49:14 +0200, Uwe Kleine-K=C3=B6nig <u.kleine-k=\n" - "oenig@pengutronix.de> wrote:\n" + "On Fri, 30 Jul 2010 17:26:02 +0200, Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> wrote:\n" + "> On Fri, Jul 30, 2010 at 05:16:46PM +0200, Micha? Nazarewicz wrote:\n" + ">> On Fri, 30 Jul 2010 16:49:14 +0200, Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> wrote:\n" ">>\n" - ">>> This is like usb_gadget_register_driver with the only difference tha=\n" - "t it\n" - ">>> gets the bind function as parameter instead of using driver->bind. =\n" - "This\n" + ">>> This is like usb_gadget_register_driver with the only difference that it\n" + ">>> gets the bind function as parameter instead of using driver->bind. This\n" ">>> allows fixing section mismatches like\n" ">>>\n" - ">>> \tWARNING: drivers/usb/gadget/g_printer.o(.data+0xc): Section mismatc=\n" - "h in\n" + ">>> \tWARNING: drivers/usb/gadget/g_printer.o(.data+0xc): Section mismatch in\n" ">>> \treference from the variable printer_driver to the function\n" ">>> \t.init.text:printer_bind()\n" ">>> \tThe variable printer_driver references\n" ">>> \tthe function __init printer_bind()\n" ">>>\n" - ">>> by using usb_gadget_probe_driver with driver->bind =3D NULL. When a=\n" - "ll\n" + ">>> by using usb_gadget_probe_driver with driver->bind = NULL. When all\n" ">>> drivers are fixed to use the new function the bind member of struct\n" ">>> usb_gadget_driver can go away.\n" ">>>\n" - ">>> Signed-off-by: Uwe Kleine-K=C3=B6nig <u.kleine-koenig@pengutronix.de=\n" - ">\n" + ">>> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>\n" ">>> Cc: Michal Nazarewicz <m.nazarewicz@samsung.com>\n" ">>> Cc: Greg Kroah-Hartman <gregkh@suse.de>\n" "\n" @@ -96,27 +40,19 @@ ">>>\n" ">>> Thoughts?\n" ">>\n" - ">> Personally I don't see advantage of this over changing the __init to =\n" - "__ref.\n" - ">> Or am I missing something? I see your patch as an unnecessary API ch=\n" - "ange.\n" - ">> The way I understand it, __ref was introduced exactly for cases like =\n" - "this\n" - ">> one where function is referenced from \"normal\" data but used only dur=\n" - "ing\n" - ">> init. Could you try to clarify for me why you think your solution is=\n" - "\n" + ">> Personally I don't see advantage of this over changing the __init to __ref.\n" + ">> Or am I missing something? I see your patch as an unnecessary API change.\n" + ">> The way I understand it, __ref was introduced exactly for cases like this\n" + ">> one where function is referenced from \"normal\" data but used only during\n" + ">> init. Could you try to clarify for me why you think your solution is\n" ">> better then mine?\n" "\n" - "> - Using __ref instead of __init moves all bind functions from .init.te=\n" - "xt\n" - "> to .text and so the code isn't freed after booting or module loading=\n" - ".\n" + "> - Using __ref instead of __init moves all bind functions from .init.text\n" + "> to .text and so the code isn't freed after booting or module loading.\n" "> (OK, you could fix this by marking the driver structs as __ref and\n" "> keep __init for the bind functions.)\n" "\n" - "I believe this to be untrue. __ref puts code in .ref.text which AFAIK i=\n" - "s\n" + "I believe this to be untrue. __ref puts code in .ref.text which AFAIK is\n" "freed.\n" "\n" "> - Using __ref might hide section mismatches. (Your patch hasn't this\n" @@ -126,19 +62,17 @@ "> this is an issue.) That's why I don't like __ref and said my patch\n" "> were better as it doesn't make use of it.\n" ">\n" - "> - The bind functions are only called at init time, so there is no need=\n" - "\n" + "> - The bind functions are only called at init time, so there is no need\n" "> to save a pointer to it.\n" "\n" "OK, I see some merit in this approach. However, the same issue is with\n" "usb_configuration and ?usb_composite_driver -- those should be changed\n" "in the same way or it would defeat the purpose of the patch.\n" "\n" - "-- =\n" - "\n" + "-- \n" "Best regards, _ _\n" - "| Humble Liege of Serenely Enlightened Majesty of o' \\,=3D./ `o\n" - "| Computer Science, Micha=C5=82 \"mina86\" Nazarewicz (o o)\n" + "| Humble Liege of Serenely Enlightened Majesty of o' \\,=./ `o\n" + "| Computer Science, Micha? \"mina86\" Nazarewicz (o o)\n" +----[mina86*mina86.com]---[mina86*jabber.org]----ooO--(_)--Ooo-- -196b550e72eb1b81a1eea15f4e5a5fab58350dd1ef782b4c0d710ef17020fe98 +efb4bd7bc69da86fe46d02f9bb929de3deb1981e33c9e601f61f809882914217
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.