Re: [PATCH V2] Staging: wilc1000: Fix build break due to undeclared *wilc and implicit declaration of init_irq

From: glen lee
Date: Mon Nov 09 2015 - 03:53:11 EST



On 2015ë 11ì 09ì 17:18, Dan Carpenter wrote:
On Mon, Nov 09, 2015 at 05:02:48PM +0900, glen lee wrote:
Hi Punit Vara,

I cannot find build errors on my build machines.

According the log which you have posted before says *wilc is undeclared in the function init_wilc_driver,
which means WILC_SPI is selected because one of SPI or SDIO should be chosen at the moment.
Hence, struct wilc *wilc should be compiled together.
It looks like wilc1000 is compiled without SPI or SDIO.

Of course, there are many cases that I don't know, so you could let me know the wilc1000 build configuration?

static int __init init_wilc_driver(void)
{
#ifdef WILC_SPI
This should be #ifndef WILC_SDIO

I will do this in the next patch series.


struct wilc *wilc;
#endif
But the large question remains of why do we have this variable here any
way?

As you pointed out, the variable is do-nothing for spi driver for now.
After reworking SPI driver, the wilc will be passed to SPI as spi drive data like we already did in SDIO.

We have done this to remove extern variable g_linux_wlan which is primary structure of wilc1000.
For now it is not used, but need it not to break the build.

static int linux_sdio_probe(struct sdio_func *func, const struct sdio_device_id *id)
{
struct wilc_sdio *wl_sdio;
struct wilc *wilc;

PRINT_D(INIT_DBG, "probe function\n");
wl_sdio = kzalloc(sizeof(struct wilc_sdio), GFP_KERNEL);
if (!wl_sdio)
return -ENOMEM;

PRINT_D(INIT_DBG, "Initializing netdev\n");
local_sdio_func = func;
if (wilc_netdev_init(&wilc)) {
PRINT_ER("Couldn't initialize netdev\n");
kfree(wl_sdio);
return -1;
}
wl_sdio->func = func;
wl_sdio->wilc = wilc;
sdio_set_drvdata(func, wl_sdio);

regards,
glen lee.


regards,
dan carpenter


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/