Message ID | CABXAfNJHAWd_ygUbcZXDqwGvaCxM3nA5ibOF4sNwzhA3AP=07g@mail.gmail.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On 2015? 11? 09? 18:05, punit vara wrote: > On Mon, Nov 9, 2015 at 2:25 PM, glen lee <glen.lee@atmel.com> wrote: >> 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 >>> > How about this patch @Dan and @glen ,For me it does not create any > build error. For #ifndef WILC_SDIO that pointer *wilc is not > compiling so that creates the error. As Dan said, I also think there are too many ifdefs now. We will remove the defines after reworking SPI/SDIO modules. For now, I cannot test since build error does not happens in my side. :( Just in case, will this works for you? config WILC1000_DRIVER bool "WILC1000 support (WiFi only)" depends on CFG80211 && WEXT_CORE && INET + depends on MMC || SPI I will look into more about this later. regards, glen lee. > > --- a/drivers/staging/wilc1000/linux_wlan.c > +++ b/drivers/staging/wilc1000/linux_wlan.c > @@ -224,7 +224,7 @@ static int dev_state_ev_handler(struct > notifier_block *this, unsigned long event > > } > > -#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO) > +#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO) || (!defined WIC_SDIO) > static irqreturn_t isr_uh_routine(int irq, void *user_data) > { > perInterface_wlan_t *nic; > @@ -264,7 +264,7 @@ irqreturn_t isr_bh_routine(int irq, void *userdata) > return IRQ_HANDLED; > } > > -#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO) > +#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO) || (!defined WILC_SDIO) > static int init_irq(struct net_device *dev) > { > int ret = 0; > @@ -1083,6 +1083,10 @@ static void wlan_deinitialize_threads(struct > net_device *dev) > } > } > > +#if (!defined WILC_SDIO) || (defined WILC_SDIO_IRQ_GPIO) > +static int init_irq(struct net_device *dev); > +#endif > + > int wilc1000_wlan_init(struct net_device *dev, perInterface_wlan_t *p_nic) > { > wilc_wlan_inp_t nwi; > @@ -1791,7 +1795,7 @@ int wilc_netdev_init(struct wilc **wilc) > /*The 1st function called after module inserted*/ > static int __init init_wilc_driver(void) > { > -#ifdef WILC_SPI > +#if (defined WILC_SPI) || (!defined WILC_SDIO) > struct wilc *wilc; > #endif -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Nov 9, 2015 at 3:31 PM, glen lee <glen.lee@atmel.com> wrote: > > > On 2015? 11? 09? 18:05, punit vara wrote: >> >> On Mon, Nov 9, 2015 at 2:25 PM, glen lee <glen.lee@atmel.com> wrote: >>> >>> 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 >>>> >> How about this patch @Dan and @glen ,For me it does not create any >> build error. For #ifndef WILC_SDIO that pointer *wilc is not >> compiling so that creates the error. > > > As Dan said, I also think there are too many ifdefs now. We will remove the > defines after > reworking SPI/SDIO modules. > > For now, I cannot test since build error does not happens in my side. :( > > Just in case, will this works for you? > config WILC1000_DRIVER > bool "WILC1000 support (WiFi only)" > depends on CFG80211 && WEXT_CORE && INET > + depends on MMC || SPI > > I will look into more about this later. > > regards, > glen lee. > > >> >> --- a/drivers/staging/wilc1000/linux_wlan.c >> +++ b/drivers/staging/wilc1000/linux_wlan.c >> @@ -224,7 +224,7 @@ static int dev_state_ev_handler(struct >> notifier_block *this, unsigned long event >> >> } >> >> -#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO) >> +#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO) || (!defined >> WIC_SDIO) >> static irqreturn_t isr_uh_routine(int irq, void *user_data) >> { >> perInterface_wlan_t *nic; >> @@ -264,7 +264,7 @@ irqreturn_t isr_bh_routine(int irq, void *userdata) >> return IRQ_HANDLED; >> } >> >> -#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO) >> +#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO) || (!defined >> WILC_SDIO) >> static int init_irq(struct net_device *dev) >> { >> int ret = 0; >> @@ -1083,6 +1083,10 @@ static void wlan_deinitialize_threads(struct >> net_device *dev) >> } >> } >> >> +#if (!defined WILC_SDIO) || (defined WILC_SDIO_IRQ_GPIO) >> +static int init_irq(struct net_device *dev); >> +#endif >> + >> int wilc1000_wlan_init(struct net_device *dev, perInterface_wlan_t >> *p_nic) >> { >> wilc_wlan_inp_t nwi; >> @@ -1791,7 +1795,7 @@ int wilc_netdev_init(struct wilc **wilc) >> /*The 1st function called after module inserted*/ >> static int __init init_wilc_driver(void) >> { >> -#ifdef WILC_SPI >> +#if (defined WILC_SPI) || (!defined WILC_SDIO) >> struct wilc *wilc; >> #endif > > If I don't do any changes as I did . and add line in Kconfig as you told me make ./drivers/staging/wilc1000/ this working fine for me but make ./drivers/staging/wilc1000/linux_wlan.o is creates error. Yes there are two many ifdef I also agreed with Dan. You can fetch latest changes from staging . you can create that build error . Untill then I will follow whatever Dan say :-) -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Nov 09, 2015 at 03:43:38PM +0530, punit vara wrote: > On Mon, Nov 9, 2015 at 3:31 PM, glen lee <glen.lee@atmel.com> wrote: > > > > > > On 2015? 11? 09? 18:05, punit vara wrote: > >> > >> On Mon, Nov 9, 2015 at 2:25 PM, glen lee <glen.lee@atmel.com> wrote: > >>> > >>> On 2015? 11? 09? 17:18, Dan Carpenter wrote: > >>>> > >>>> On Mon, Nov 09, 2015 at 05:02:48PM +0900, glen lee wrote: > >>>>> > > make ./drivers/staging/wilc1000/ this working fine for me > > but > > make ./drivers/staging/wilc1000/linux_wlan.o is creates error. I am also not getting build failure. Can you please post your .config file. regards sudip -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Nov 9, 2015 at 3:53 PM, Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote: > On Mon, Nov 09, 2015 at 03:43:38PM +0530, punit vara wrote: >> On Mon, Nov 9, 2015 at 3:31 PM, glen lee <glen.lee@atmel.com> wrote: >> > >> > >> > On 2015? 11? 09? 18:05, punit vara wrote: >> >> >> >> On Mon, Nov 9, 2015 at 2:25 PM, glen lee <glen.lee@atmel.com> wrote: >> >>> >> >>> On 2015? 11? 09? 17:18, Dan Carpenter wrote: >> >>>> >> >>>> On Mon, Nov 09, 2015 at 05:02:48PM +0900, glen lee wrote: >> >>>>> >> >> make ./drivers/staging/wilc1000/ this working fine for me >> >> but >> >> make ./drivers/staging/wilc1000/linux_wlan.o is creates error. > > I am also not getting build failure. Can you please post your .config file. > > regards > sudip Can you tell me Sudip where .config file is saved ? Sorry for asking silly question :-( -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Nov 09, 2015 at 08:09:36PM +0530, punit vara wrote: > On Mon, Nov 9, 2015 at 3:53 PM, Sudip Mukherjee > <sudipm.mukherjee@gmail.com> wrote: > > On Mon, Nov 09, 2015 at 03:43:38PM +0530, punit vara wrote: > >> On Mon, Nov 9, 2015 at 3:31 PM, glen lee <glen.lee@atmel.com> wrote: > >> > > >> > > >> > On 2015? 11? 09? 18:05, punit vara wrote: > >> >> > >> >> On Mon, Nov 9, 2015 at 2:25 PM, glen lee <glen.lee@atmel.com> wrote: > >> >>> > >> >>> On 2015? 11? 09? 17:18, Dan Carpenter wrote: > >> >>>> > >> >>>> On Mon, Nov 09, 2015 at 05:02:48PM +0900, glen lee wrote: > >> >>>>> > >> > >> make ./drivers/staging/wilc1000/ this working fine for me > >> > >> but > >> > >> make ./drivers/staging/wilc1000/linux_wlan.o is creates error. > > > > I am also not getting build failure. Can you please post your .config file. > > > > regards > > sudip > Can you tell me Sudip where .config file is saved ? Sorry for asking > silly question :-( at the root of your linux tree. the kernel will be compiled based on the options in these file. regards sudip -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Nov 9, 2015 at 3:53 PM, Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote: > On Mon, Nov 09, 2015 at 03:43:38PM +0530, punit vara wrote: >> On Mon, Nov 9, 2015 at 3:31 PM, glen lee <glen.lee@atmel.com> wrote: >> > >> > >> > On 2015? 11? 09? 18:05, punit vara wrote: >> >> >> >> On Mon, Nov 9, 2015 at 2:25 PM, glen lee <glen.lee@atmel.com> wrote: >> >>> >> >>> On 2015? 11? 09? 17:18, Dan Carpenter wrote: >> >>>> >> >>>> On Mon, Nov 09, 2015 at 05:02:48PM +0900, glen lee wrote: >> >>>>> >> >> make ./drivers/staging/wilc1000/ this working fine for me >> >> but >> >> make ./drivers/staging/wilc1000/linux_wlan.o is creates error. > > I am also not getting build failure. Can you please post your .config file. > > regards > sudip I have attached .config file . and please tell me should I focus on this patch or not . Because build is still broken.For temporary this patch can be useful to fix the build .Later on as per requirement Glen can change the code .
On Wed, Dec 02, 2015 at 08:39:10AM +0530, punit vara wrote: > On Mon, Nov 9, 2015 at 3:53 PM, Sudip Mukherjee > <sudipm.mukherjee@gmail.com> wrote: > > On Mon, Nov 09, 2015 at 03:43:38PM +0530, punit vara wrote: > >> On Mon, Nov 9, 2015 at 3:31 PM, glen lee <glen.lee@atmel.com> wrote: > >> > > >> > > >> > On 2015? 11? 09? 18:05, punit vara wrote: > >> >> > >> >> On Mon, Nov 9, 2015 at 2:25 PM, glen lee <glen.lee@atmel.com> wrote: > >> >>> > >> >>> On 2015? 11? 09? 17:18, Dan Carpenter wrote: > >> >>>> > >> >>>> On Mon, Nov 09, 2015 at 05:02:48PM +0900, glen lee wrote: > >> >>>>> > >> > >> make ./drivers/staging/wilc1000/ this working fine for me > >> > >> but > >> > >> make ./drivers/staging/wilc1000/linux_wlan.o is creates error. > > > > I am also not getting build failure. Can you please post your .config file. > > > > regards > > sudip > I have attached .config file . and please tell me should I focus on > this patch or not . Because build is still broken.For temporary this > patch can be useful to fix the build .Later on as per requirement Glen > can change the code . With your config file also I am not getting any build failure. Can you please tell what are the exact compilation steps you are following? Here are my steps after I have copied your config file as .config. 1) make oldconfig && make prepare 2) make bzImage && make modules And I dont see any build failure. I think you are not building bzImage and the modules before testing wilc compilation. And that is why it is unable to find SPI or SDIO. regards sudip -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Dec 2, 2015 at 12:30 PM, Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote: > On Wed, Dec 02, 2015 at 08:39:10AM +0530, punit vara wrote: >> On Mon, Nov 9, 2015 at 3:53 PM, Sudip Mukherjee >> <sudipm.mukherjee@gmail.com> wrote: >> > On Mon, Nov 09, 2015 at 03:43:38PM +0530, punit vara wrote: >> >> On Mon, Nov 9, 2015 at 3:31 PM, glen lee <glen.lee@atmel.com> wrote: >> >> > >> >> > >> >> > On 2015? 11? 09? 18:05, punit vara wrote: >> >> >> >> >> >> On Mon, Nov 9, 2015 at 2:25 PM, glen lee <glen.lee@atmel.com> wrote: >> >> >>> >> >> >>> On 2015? 11? 09? 17:18, Dan Carpenter wrote: >> >> >>>> >> >> >>>> On Mon, Nov 09, 2015 at 05:02:48PM +0900, glen lee wrote: >> >> >>>>> >> >> >> >> make ./drivers/staging/wilc1000/ this working fine for me >> >> >> >> but >> >> >> >> make ./drivers/staging/wilc1000/linux_wlan.o is creates error. >> > >> > I am also not getting build failure. Can you please post your .config file. >> > >> > regards >> > sudip >> I have attached .config file . and please tell me should I focus on >> this patch or not . Because build is still broken.For temporary this >> patch can be useful to fix the build .Later on as per requirement Glen >> can change the code . > > With your config file also I am not getting any build failure. Can you > please tell what are the exact compilation steps you are following? > > Here are my steps after I have copied your config file as .config. > 1) make oldconfig && make prepare > 2) make bzImage && make modules > > And I dont see any build failure. > I think you are not building bzImage and the modules before testing wilc > compilation. And that is why it is unable to find SPI or SDIO. > > regards > sudip Steps I have followed: 1. I have updated staging tree and checkout to new branch. 2. make drivers/staging/wilc1000/linux_wlan.o When I have performed second step it automatically ask me about different modules options "yes/no" I have pressed ENTER in every option .At last configuration are written to .config. and module start building and I have found error at last. I will try to perform 2 step you have suggested . -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- a/drivers/staging/wilc1000/linux_wlan.c +++ b/drivers/staging/wilc1000/linux_wlan.c @@ -224,7 +224,7 @@ static int dev_state_ev_handler(struct notifier_block *this, unsigned long event } -#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO) +#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO) || (!defined WIC_SDIO) static irqreturn_t isr_uh_routine(int irq, void *user_data) {