LIB    = $(obj)lib$(SOC).a
 
-COBJS  = ether.o timer.o spi.o usb.o
+COBJS-y        += ether.o
+COBJS-y        += timer.o
+COBJS-$(CONFIG_HAS_DATAFLASH) +=spi.o
+COBJS-y        += usb.o
 SOBJS  = lowlevel_init.o
 
-SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
+SRCS    := $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
+OBJS    := $(addprefix $(obj),$(SOBJS) $(COBJS-y))
 
 all:   $(obj).depend $(LIB)
 
 
 #include <asm/arch/at91_pio.h>
 #include <asm/arch/at91_spi.h>
 
-#ifdef CONFIG_HAS_DATAFLASH
 #include <dataflash.h>
 
 #define AT91_SPI_PCS0_DATAFLASH_CARD   0xE     /* Chip Select 0: NPCS0%1110 */
 void AT91F_SpiEnable(int cs)
 {
        unsigned long mode;
+
        switch (cs) {
        case 0: /* Configure SPI CS0 for Serial DataFlash AT45DBxx */
                mode = readl(AT91_BASE_SPI + AT91_SPI_MR);
 {
        unsigned int timeout;
 
-
        pDesc->state = BUSY;
 
        writel(AT91_SPI_TXTDIS + AT91_SPI_RXTDIS, AT91_BASE_SPI + AT91_SPI_PTCR);
 
-
        /* Initialize the Transmit and Receive Pointer */
        writel((unsigned int)pDesc->rx_cmd_pt, AT91_BASE_SPI + AT91_SPI_RPR);
        writel((unsigned int)pDesc->tx_cmd_pt, AT91_BASE_SPI + AT91_SPI_TPR);
 
        return DATAFLASH_OK;
 }
-#endif