From 87f6ad60ca8a1ac458b8f0df119722f52c2a3fdf Mon Sep 17 00:00:00 2001 From: "Suren A. Chilingaryan" Date: Sat, 11 Feb 2012 03:17:29 +0100 Subject: Verify gcc version --- driver/Makefile | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/driver/Makefile b/driver/Makefile index 9eedc1e..ac4a14c 100644 --- a/driver/Makefile +++ b/driver/Makefile @@ -9,7 +9,27 @@ PWD := $(shell pwd) EXTRA_CFLAGS += -I$(M)/.. default: - $(MAKE) $(CFLAGS) -C $(KERNELDIR) M=$(PWD) modules + @KERNEL_GCC_VERSION=`cat /proc/version | head -n1 | cut -d " " -f 7` ;\ + GCC_VERSION=`$(CC) --version | head -n 1 | awk 'BEGIN { FPAT = "([^[:space:]]*)|(\\\\([^)]+\\\\))" } { print $$3 }'` ;\ + if [ $$KERNEL_GCC_VERSION != $$GCC_VERSION ]; then \ + echo "Kernel is compiled with gcc $$KERNEL_GCC_VERSION, but you are now using $$GCC_VERSION" ;\ + GCC_MAJOR=`echo $$KERNEL_GCC_VERSION | cut -d "." -f 1-2` ;\ + newCC=gcc-$$GCC_MAJOR ;\ + CC=`which $$newCC 2>/dev/null` ;\ + if [ $$? -ne 0 ]; then \ + echo "No compiler of $$GCC_MAJOR series is installed" ;\ + exit 1 ;\ + fi ;\ + GCC_VERSION=`$$CC --version | head -n 1 | awk 'BEGIN { FPAT = "([^[:space:]]*)|(\\\\([^)]+\\\\))" } { print $$3 }'` ;\ + if [ $$KERNEL_GCC_VERSION != $$GCC_VERSION ]; then \ + echo "The $$GCC_VERSION of $$GCC_MAJOR series is installed" ;\ + exit 1 ;\ + fi ;\ + echo "Setting CC to $$newCC" ;\ + else \ + CC=$(CC) ;\ + fi ;\ + $(MAKE) $(CFLAGS) -C $(KERNELDIR) M=$(PWD) CC=$$CC modules install: @mkdir -p $(INSTALLDIR) -- cgit v1.2.3 From 0c0934bc67cf32458f80c0ebf2c416c3e6d4e9e7 Mon Sep 17 00:00:00 2001 From: "Suren A. Chilingaryan" Date: Sat, 11 Feb 2012 03:17:44 +0100 Subject: Compilation with Linux-3.2 --- driver/base.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/driver/base.c b/driver/base.c index 8215660..58eb825 100644 --- a/driver/base.c +++ b/driver/base.c @@ -325,7 +325,7 @@ static int __devinit pcidriver_probe(struct pci_dev *pdev, const struct pci_devi if ((id->vendor == PCIE_XILINX_VENDOR_ID)&&(id->device == PCIE_IPECAMERA_DEVICE_ID)) { pci_set_master(pdev); - err = pci_set_dma_mask(pdev, DMA_32BIT_MASK); + err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); if (err < 0) { printk(KERN_ERR "pci_set_dma_mask failed\n"); goto probe_dma_fail; -- cgit v1.2.3