blob: 9690a4978c1111769c67abdbb18150cce8a8c971 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
#############################################################
#
# Soekris gpio, led and temp sensor driver
#
#############################################################
# Copyright (C) 2005 by John D. Blair <jdb@moship.net>
# Copyright (C) 2001-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 2002 by Tim Riker <Tim@Rikers.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Library General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA
SOEKRIS_GPIO_VER:=1.3.2
SOEKRIS_GPIO_DIR:=$(BUILD_DIR)/gpio-$(SOEKRIS_GPIO_VER)
SOEKRIS_GPIO_SITE:=http://soekris.hejl.de
SOEKRIS_GPIO_SOURCE:=gpio-$(SOEKRIS_GPIO_VER).tar.gz
SOEKRIS_GPIO_CAT:=$(ZCAT)
SOEKRIS_GPIO_MODULE_DIR=lib/modules/$(LINUX_VERSION)/kernel/drivers/soekris/
$(DL_DIR)/$(SOEKRIS_GPIO_SOURCE):
$(call DOWNLOAD,$(SOEKRIS_GPIO_SITE),$(SOEKRIS_GPIO_SOURCE))
soekris_gpio-source: $(DL_DIR)/$(SOEKRIS_GPIO_SOURCE)
$(SOEKRIS_GPIO_DIR)/.unpacked: $(DL_DIR)/$(SOEKRIS_GPIO_SOURCE)
$(SOEKRIS_GPIO_CAT) $(DL_DIR)/$(SOEKRIS_GPIO_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(SOEKRIS_GPIO_DIR)/.unpacked
$(SOEKRIS_GPIO_DIR)/.compiled: $(SOEKRIS_GPIO_DIR)/.unpacked $(LINUX_KERNEL)
# overwrite distributed Makefile
cp target/device/Soekris/soekris_gpio/Makefile $(SOEKRIS_GPIO_DIR)
LINUX_SOURCE_DIR=$(LINUX_SOURCE_DIR) \
LINUX_KCONFIG=../../$(LINUX_KCONFIG) \
CC=$(TARGET_CC) \
LD=$(TARGET_CROSS)ld \
$(MAKE) -C $(SOEKRIS_GPIO_DIR)
touch $(SOEKRIS_GPIO_DIR)/.compiled
# 4801driver.o is used as shorthand for all the modules
$(TARGET_DIR)/$(SOEKRIS_GPIO_MODULE_DIR)/4801driver.o: $(SOEKRIS_GPIO_DIR)/.compiled
mkdir -p $(TARGET_DIR)/$(SOEKRIS_GPIO_MODULE_DIR)
cp $(SOEKRIS_GPIO_DIR)/4501driver.o $(TARGET_DIR)/$(SOEKRIS_GPIO_MODULE_DIR)
cp $(SOEKRIS_GPIO_DIR)/4801driver.o $(TARGET_DIR)/$(SOEKRIS_GPIO_MODULE_DIR)
cp $(SOEKRIS_GPIO_DIR)/common.o $(TARGET_DIR)/$(SOEKRIS_GPIO_MODULE_DIR)
cp $(SOEKRIS_GPIO_DIR)/gpio.o $(TARGET_DIR)/$(SOEKRIS_GPIO_MODULE_DIR)
# rebuild the modules.dep file so it includes the soekris drivers
/sbin/depmod -r -a -b $(TARGET_DIR) -F $(LINUX_DIR)/System.map $(LINUX_VERSION)
soekris_gpio: $(TARGET_DIR)/$(SOEKRIS_GPIO_MODULE_DIR)/4801driver.o
soekris_gpio-clean:
-$(MAKE) -C $(SOEKRIS_GPIO_DIR) clean
soekris_gpio-dirclean:
rm -rf $(SOEKRIS_GPIO_DIR)
|