buildrootschalter/linux/linux-ext-ocf-linux.mk
Gustavo Zacarias 670d60dc91 ocf-linux: tweak kernel patch for newer kernels
Newer kernels had a slight change in the random number API so the OCF
patchset requires a slight tweak to build and run properly.

Affected kernels are, per series:
>=3.0.41, >=3.2.29, >=3.4.9, >=3.5.2 and any newer version.

The fix is applied by detecting the API change rather than guessing the
kernel version.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-27 17:05:02 -08:00

26 lines
871 B
Makefile

##################################################
# Linux OCF extension
#
# Patch the linux kernel with OCF
##################################################
ifeq ($(BR2_LINUX_KERNEL_EXT_OCF_LINUX),y)
LINUX_DEPENDENCIES += ocf-linux
# Prepare kernel patch
# The linux-3.2.1.patch is just the main inclusion, most of the code
# resides in the ocf/ subdir.
# It works for older kernel versions.
# Run tested from 2.6.38+ and build tested from 2.6.35+
define OCF_LINUX_PREPARE_KERNEL
support/scripts/apply-patches.sh $(LINUX_DIR) \
$(OCF_LINUX_DIR)/patches/ linux-3.2.1-ocf.patch ; \
grep -q __mix_pool_bytes $(LINUX_DIR)/drivers/char/random.c && \
$(SED) 's:wordcount\*4:&, NULL:' $(LINUX_DIR)/drivers/char/random.c ; \
cp -rf $(OCF_LINUX_DIR)/ocf $(LINUX_DIR)/crypto/ocf ;
endef
LINUX_PRE_PATCH_HOOKS += OCF_LINUX_PREPARE_KERNEL
endif #BR2_LINUX_EXT_OCF_LINUX