[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8bd0f97a0811041609l3bd474afh7e526be368d4c5cf@mail.gmail.com>
Date: Tue, 4 Nov 2008 19:09:05 -0500
From: "Mike Frysinger" <vapier.adi@...il.com>
To: "David Brownell" <david-b@...bell.net>
Cc: "Grant Likely" <grant.likely@...retlab.ca>,
"Paulius Zaleckas" <paulius.zaleckas@...tonika.lt>,
netdev@...r.kernel.org, linux-arm-kernel@...ts.arm.linux.org.uk,
linux-embedded@...r.kernel.org,
"Laurent Pinchart" <laurentp@...-semaphore.com>
Subject: Re: [PATCH] phylib: make mdio-gpio work without OF (v2)
On Tue, Nov 4, 2008 at 19:04, David Brownell wrote:
> On Tuesday 04 November 2008, Grant Likely wrote:
>> At this point, instead of #ifdeffing the function signature, I would
>> much rather see this generalized as something like
>> 'mdio_gpio_setup()'. Then move the OF and non-OF specific bits into
>> two new functions; mdio_ofgpio_probe() and mdio_gpio_probe(). The two
>> new functions should be placed with the appropriate bus binding in the
>> #ifdef/#else block at the bottom of the file.
>
> Or if possible something that creates a single #ifdef that
> ensures dead code elimination will remove the "other" branch,
> but ensures all platforms will build both versions:
>
> #ifdef OF
> #define using_of true
> #else
> #define using_of false
> #endif
>
> ...
>
> static int __init mdio_gpio_init(void)
> {
> if (using_of)
> return register mdio_ofgpio driver;
> else
> return register mdio_gpio driver;
> }
> subsys_initcall(mdio_gpio_init);
>
> ...
>
> That's generally the preferred way to handle #ifdeffery.
> But I could imagine OF isn't (yet?) set up to handle it.
i agree completely with the inclination to do it all in C as you've
suggested and let the compiler do dead code elimination, but that only
works if the functions in question are defined everywhere (in other
words, there's a linux/ api for it). i dont think that's the case for
OF (which is what you were implying?) ...
-mike
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists