File heci-fix-2.6.27-compilation.diff of Package intel-iamt-heci
diff --git a/source/src/Makefile b/source/src/Makefile
index 8676bba..8ea78f2 100644
--- a/source/src/Makefile
+++ b/source/src/Makefile
@@ -129,33 +129,33 @@ endif
# some additional features are only built on Intel platforms
ARCH := $(shell uname -m | sed 's/i.86/i386/')
ifeq ($(ARCH),alpha)
- CFLAGS += -ffixed-8 -mno-fp-regs
+ EXTRA_CFLAGS += -ffixed-8 -mno-fp-regs
endif
ifeq ($(ARCH),x86_64)
- CFLAGS += -mcmodel=kernel -mno-red-zone
+ EXTRA_CFLAGS += -mcmodel=kernel -mno-red-zone
endif
ifeq ($(ARCH),ppc)
- CFLAGS += -msoft-float
+ EXTRA_CFLAGS += -msoft-float
endif
ifeq ($(ARCH),ppc64)
- CFLAGS += -m64 -msoft-float
+ EXTRA_CFLAGS += -m64 -msoft-float
LDFLAGS += -melf64ppc
endif
# standard flags for module builds
-CFLAGS += -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall
-CFLAGS += -I$(KSRC)/include -I.
-CFLAGS += $(shell [ -f $(KSRC)/include/linux/modversions.h ] && \
+EXTRA_CFLAGS += -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall
+EXTRA_CFLAGS += -I$(KSRC)/include -I.
+EXTRA_CFLAGS += $(shell [ -f $(KSRC)/include/linux/modversions.h ] && \
echo "-DMODVERSIONS -DEXPORT_SYMTAB \
-include $(KSRC)/include/linux/modversions.h")
-CFLAGS += $(CFLAGS_EXTRA)
+EXTRA_CFLAGS += $(EXTRA_CFLAGS_EXTRA)
RHC := $(KSRC)/include/linux/rhconfig.h
ifneq (,$(wildcard $(RHC)))
# 7.3 typo in rhconfig.h
- ifneq (,$(shell $(CC) $(CFLAGS) -E -dM $(RHC) | grep __module__bigmem))
- CFLAGS += -D__module_bigmem
+ ifneq (,$(shell $(CC) $(EXTRA_CFLAGS) -E -dM $(RHC) | grep __module__bigmem))
+ EXTRA_CFLAGS += -D__module_bigmem
endif
endif
@@ -174,7 +174,7 @@ INSTDIR := /lib/modules/$(KVER)/kernel/drivers/char
# determine SMP setting of build area
ifeq ($(KOBJ),$(KSRC))
- SMP := $(shell $(CC) $(CFLAGS) -E -dM $(CONFIG_FILE) | \
+ SMP := $(shell $(CC) $(EXTRA_CFLAGS) -E -dM $(CONFIG_FILE) | \
grep "CONFIG_SMP " | awk '{ print $$3 }')
ifneq ($(SMP),1)
SMP := 0
@@ -200,7 +200,7 @@ ifneq ($(SMP),$(shell uname -a | grep SMP > /dev/null 2>&1 && echo 1 || echo 0))
endif
ifeq ($(SMP),1)
- CFLAGS += -D__SMP__
+ EXTRA_CFLAGS += -D__SMP__
endif
@@ -215,7 +215,7 @@ ifeq ($(K_VERSION), 2.6)
TARGET = heci.ko
ifneq ($(PATCHLEVEL),)
-EXTRA_CFLAGS += $(CFLAGS_EXTRA)
+EXTRA_EXTRA_CFLAGS += $(EXTRA_CFLAGS_EXTRA)
obj-m += heci.o
heci-objs := $(CFILES:.c=.o)
else
diff --git a/source/src/heci_data_structures.h b/source/src/heci_data_structures.h
index ba84b1d..fcc1544 100644
--- a/source/src/heci_data_structures.h
+++ b/source/src/heci_data_structures.h
@@ -116,6 +116,9 @@
*/
#define INFO(format, arg...) printk(KERN_INFO "%s: " format, THIS_MODULE->name, ## arg)
#define ERR(format, arg...) printk(KERN_ERR "%s: " format, THIS_MODULE->name, ## arg)
+#ifdef WARN
+#undef WARN
+#endif
#define WARN(format, arg...) printk(KERN_WARNING "%s: " format, THIS_MODULE->name, ## arg)
diff --git a/source/src/heci_main.c b/source/src/heci_main.c
index cafe64e..6964645 100644
--- a/source/src/heci_main.c
+++ b/source/src/heci_main.c
@@ -214,8 +214,8 @@ static int heci_registration_cdev(struct cdev *dev, int minor,
}
struct class *heci_class;
-struct class_device *iamt_legacy_class_dev;
-struct class_device *heci_class_dev;
+struct device *iamt_legacy_class_dev;
+struct device *heci_class_dev;
/* Display the version of heci driver. */
static ssize_t version_show(struct class *dev, char *buf)
@@ -291,21 +291,20 @@ static int heci_sysfs_device_create(struct class *cs)
goto err_out;
}
- iamt_legacy_class_dev = class_device_create(cs, NULL,
- iamt_legacy_cdev.dev,
- NULL,
- LEGACY_DEV_NAME);
+ iamt_legacy_class_dev = device_create(cs, NULL,
+ iamt_legacy_cdev.dev, NULL,
+ "%s", LEGACY_DEV_NAME);
if (IS_ERR(iamt_legacy_class_dev)) {
err = PTR_ERR(iamt_legacy_class_dev);
goto err_out;
}
- heci_class_dev = class_device_create(cs, NULL,
- heci_cdev.dev,
- NULL,
- HECI_DEV_NAME);
+ heci_class_dev = device_create(cs, NULL,
+ heci_cdev.dev, NULL,
+ "%s", HECI_DEV_NAME);
+
if (IS_ERR(heci_class_dev)) {
- class_device_unregister(iamt_legacy_class_dev);
+ device_unregister(iamt_legacy_class_dev);
err = PTR_ERR(heci_class_dev);
}
@@ -322,9 +321,9 @@ err_out:
static void heci_sysfs_device_remove(void)
{
if (iamt_legacy_class_dev)
- class_device_unregister(iamt_legacy_class_dev);
+ device_unregister(iamt_legacy_class_dev);
if (heci_class_dev)
- class_device_unregister(heci_class_dev);
+ device_unregister(heci_class_dev);
}
/**