I wrote a simple character device driver & wanted to cross-compile it for craneboard (ARM architecture). My file name is `gDev.c`. I copied the file to `kernel/drivers/char` directory in craneboard source. I modified the `Kconfig` file in that same directory & added the following lines to it.

```
config TEST_GCHARD
    tristate "My Character driver"
    default m

```

I added the following line to the Makefile in the same directory.

```
obj-$(CONFIG_TEST_GCHARD)   += gDev.o

```

I added the following line in the `am3517_crane_defconfig` in `arch/arm/configs` directory.

```
CONFIG_TEST_GCHARD=m

```

My problem is, when I set it as `m` in `am3517_crane_defconfig`, the file is not getting included for compilation. But, if I change it as `y`, it is getting compiled. But, I need it to be a module which I must `insmod` after board boots up. Please guide me whether I'm missing any steps. Thanks.