# "wrong" entry in Kconfig of staging driver

## MarshallBanana0815

hi folks,

something for the ones who know their way around with kernel-issues:

nice little problem i found... i was just in the process of configuring the 2.6.39-r1 (gentoo-sources) kernel when i found out that i no longer was able to select config_r8187se (RealTek RTL8187SE Wireless LAN NIC driver) as build-in... only as module was available...

after a bit of surfing through the config i finally went to the mighty googlez and found for example this link:

http://lkml.org/lkml/2011/3/28/251

which brought me to just remove that "depends on m" line from the drivers/staging/rtl8187se/Kconfig file.

the problem stated in the above link  *Quote:*   

> building them as built-in results in many errors like:
> 
> (.text+0x1b160): multiple definition of `ieee80211_sta_ps_sleep'

 

 won't turn up if you disable config_mac80211...

so with the following settings for example

```

-> Networking support

 -> Wireless 

   <*>   cfg80211 - wireless configuration API

   [ ]     nl80211 testmode command

   [ ]     enable developer warnings

   [ ]     cfg80211 regulatory debugging

   [*]     enable powersave by default

   [ ]     cfg80211 DebugFS entries

   [*]     cfg80211 wireless extensions compatibility

   [*]   Wireless extensions sysfs files

   {*}   Common routines for IEEE802.11 drivers

   [ ]   lib80211 debugging messages

   < >   Generic IEEE 802.11 Networking Stack (mac80211)

```

it will build.

now my question(s):

is this a bug?

file this in bugs.gentoo.org?

or somewhere for the kernel developers? (where?)

or do i from now on ALWAYS have to patch that file for myself somehow??

thanks for your help fellas

greetings

marshall banana

----------

## Aquous

If one of the drivers' dependencies is set as a module, then the driver cannot be built in. Could you post the output of:

```
cat .config|grep =m
```

?

----------

## Hu

 *Aquous wrote:*   

> 
> 
> ```
> cat .config|grep =m
> ```
> ...

 There is no need to use cat here.  All modern grep implementations can read files on their own, so grep =m .config is simpler and works as well.

----------

## MarshallBanana0815

 *Hu wrote:*   

>  *Aquous wrote:*   
> 
> ```
> cat .config|grep =m
> ```
> ...

 

hey folks, thank you for replying. sorry it has taken me so long to answer but all hell was breaking loose here  :Wink: 

anyways, i'll post the output below, but allow me a question: why do you need that??

in the link i posted is the explanation why someone edited the specified Kconfig file to include the line "depends on m" so it will always only build as module.

as i wrote i just removed that line again and was able to build the kernel without the errors mentioned behind teh link...

sooo, here teh output of "grep =m .config"

```

CONFIG_ACPI_POWER_METER=m

CONFIG_APM=m

CONFIG_X86_SPEEDSTEP_ICH=m

CONFIG_X86_SPEEDSTEP_SMI=m

CONFIG_X86_SPEEDSTEP_LIB=m

CONFIG_NETFILTER_XT_MARK=m

CONFIG_LIB80211_CRYPT_WEP=m

CONFIG_LIB80211_CRYPT_CCMP=m

CONFIG_LIB80211_CRYPT_TKIP=m

CONFIG_WIMAX=m

CONFIG_BLK_DEV_FD=m

CONFIG_SCSI_WAIT_SCAN=m

CONFIG_HOSTAP=m

CONFIG_INPUT_SPARSEKMAP=m

CONFIG_INPUT_UINPUT=m

CONFIG_HANGCHECK_TIMER=m

CONFIG_RAMOOPS=m

CONFIG_SENSORS_MAX6650=m

CONFIG_MFD_CORE=m

CONFIG_LPC_SCH=m

CONFIG_RC_CORE=m

CONFIG_LIRC=m

CONFIG_RC_MAP=m

CONFIG_MEDIA_TUNER_MT2060=m

CONFIG_MEDIA_TUNER_QT1010=m

CONFIG_MEDIA_TUNER_MXL5005S=m

CONFIG_MEDIA_TUNER_MXL5007T=m

CONFIG_MEDIA_TUNER_TDA18218=m

CONFIG_VIDEO_IR_I2C=m

CONFIG_DVB_USB=m

CONFIG_DVB_USB_AF9005=m

CONFIG_DVB_USB_AF9005_REMOTE=m

CONFIG_DVB_USB_AF9015=m

CONFIG_DVB_AF9013=m

CONFIG_DVB_PLL=m

CONFIG_VGASTATE=m

CONFIG_FB_VGA16=m

CONFIG_FB_UVESA=m

CONFIG_SOUND_PRIME=m

CONFIG_USB_OHCI_HCD=m

CONFIG_MMC=m

CONFIG_MMC_BLOCK=m

CONFIG_INTEL_MID_DMAC=m

CONFIG_INTEL_IOATDMA=m

CONFIG_PCH_DMA=m

CONFIG_DCA=m

CONFIG_UIO=m

CONFIG_MSI_LAPTOP=m

CONFIG_EEEPC_LAPTOP=m

CONFIG_INTEL_IPS=m

CONFIG_FUSE_FS=m

CONFIG_DEBUG_NX_TEST=m

CONFIG_CRYPTO_GF128MUL=m

CONFIG_CRYPTO_NULL=m

CONFIG_CRYPTO_ECB=m

CONFIG_CRYPTO_XTS=m

CONFIG_CRYPTO_CRC32C_INTEL=m

CONFIG_CRYPTO_SHA256=m

CONFIG_CRYPTO_SHA512=m

CONFIG_CRYPTO_TWOFISH_COMMON=m

CONFIG_CRYPTO_TWOFISH_586=m

CONFIG_CRC16=m

```

----------

