From: Chris Boot <bootc@bootc.net>
To: Jim Cromie <jim.cromie@gmail.com>
Cc: Linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: [rfc-patch 01/01] leds-48xx: unnecessary extern decl is needed !?
Date: Wed, 12 Jul 2006 20:16:45 +0100 [thread overview]
Message-ID: <44B54A9D.5000802@bootc.net> (raw)
In-Reply-To: <44B546EF.8050809@gmail.com>
Jim Cromie wrote:
>
> in the following patch, this extern decl is necessary.
>
> +//extern struct nsc_gpio_ops scx200_gpio_ops;
>
> Because its commented out, I get this error:
>
> CC [M] drivers/leds/leds-net48xx.o
> drivers/leds/leds-net48xx.c: In function ‘net48xx_error_led_set’:
> drivers/leds/leds-net48xx.c:31: error: ‘scx200_gpio_ops’ undeclared
> (first use in this function)
> drivers/leds/leds-net48xx.c:31: error: (Each undeclared identifier is
> reported only once
> drivers/leds/leds-net48xx.c:31: error: for each function it appears in.)
> make[2]: *** [drivers/leds/leds-net48xx.o] Error 1
> make[1]: *** [drivers/leds] Error 2
> make: *** [drivers] Error 2
>
>
> Shouldnt EXPORT_SYMBOL(scx200_gpio_ops) prevent exactly that ?
> On a SWAG, I removed 'static' from the 2 vtables, this made no
> difference (as I expected)
> With the // removed, it builds fine and works.
> What have I missed ?
> What search terms would have found previous cases ?
Well, it wouldn't work without EXPORT_SYMBOL either (probably should be
EXPORT_SYMBOL_GPL these days too) but you need to declare it one place or
another or the compiler doesn't know it exists at all! This should ideally be in
scx200_gpio.h but I was too lazy to add it! :-P
Just add that line to the header and all will be well. Looks good otherwise.
>
> Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
>
> ---
>
> $ diffstat diff.leds-nsc-gpio
> leds-net48xx.c | 10 +++++-----
> 1 files changed, 5 insertions(+), 5 deletions(-)
>
>
> diff -ruNp -X dontdiff -X exclude-diffs x-2/drivers/leds/leds-net48xx.c
> x-led/drivers/leds/leds-net48xx.c
> --- x-2/drivers/leds/leds-net48xx.c 2006-07-09 10:38:00.000000000 -0600
> +++ x-led/drivers/leds/leds-net48xx.c 2006-07-11 13:22:54.000000000
> -0600
> @@ -15,8 +15,11 @@
> #include <linux/platform_device.h>
> #include <linux/leds.h>
> #include <linux/err.h>
> -#include <asm/io.h>
> +#include <linux/io.h>
> #include <linux/scx200_gpio.h>
> +#include <linux/nsc_gpio.h>
> +
> +//extern struct nsc_gpio_ops scx200_gpio_ops;
>
> #define NET48XX_ERROR_LED_GPIO 20
>
> @@ -25,10 +28,7 @@ static struct platform_device *pdev;
> static void net48xx_error_led_set(struct led_classdev *led_cdev,
> enum led_brightness value)
> {
> - if (value)
> - scx200_gpio_set_high(NET48XX_ERROR_LED_GPIO);
> - else
> - scx200_gpio_set_low(NET48XX_ERROR_LED_GPIO);
> + scx200_gpio_ops.gpio_set(NET48XX_ERROR_LED_GPIO, value);
> }
>
> static struct led_classdev net48xx_error_led = {
>
>
>
Chris
--
Chris Boot
bootc@bootc.net
http://www.bootc.net/
prev parent reply other threads:[~2006-07-12 19:16 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-12 19:01 [rfc-patch 01/01] leds-48xx: unnecessary extern decl is needed !? Jim Cromie
2006-07-12 19:16 ` Chris Boot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=44B54A9D.5000802@bootc.net \
--to=bootc@bootc.net \
--cc=jim.cromie@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.