[PATCH] MTD + 2.6.13/2.6.14 OOPS in class_device_create() fix
Artem B. Bityutskiy
dedekind at yandex.ru
Fri Dec 9 10:53:49 EST 2005
Artem B. Bityutskiy wrote:
> As 2.6.15 is not yet out and 2.6.14 is still used, I offer the attached
> hotfix for now.
Pardon, here is the hotfix.
==================================================================
diff --exclude=CVS -auNr mtd-cvs/drivers/mtd/mtdchar.c
mtd-fix/drivers/mtd/mtdchar.c
--- mtd-cvs/drivers/mtd/mtdchar.c 2005-12-09 18:36:24.000000000 +0300
+++ mtd-fix/drivers/mtd/mtdchar.c 2005-12-09 18:34:43.000000000 +0300
@@ -21,15 +21,28 @@
static struct class *mtd_class;
+/*
+ * In 2.6.13 and 2.6.14 kernels class_device_create() had different
prototype.
+ * No idea how to fix it in compatmac.h, so this is a hotfix. Must go
sometime.
+ */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15) && \
+ LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12)
+#define mtd_class_device_create(cls, parent, devt, device, fmt, num) \
+ class_device_create(cls, devt, device, fmt, num)
+#else
+#define mtd_class_device_create(cls, parent, devt, device, fmt, num) \
+ class_device_create(cls, parent, devt, device, fmt, num)
+#endif
+
static void mtd_notify_add(struct mtd_info* mtd)
{
if (!mtd)
return;
- class_device_create(mtd_class, NULL, MKDEV(MTD_CHAR_MAJOR,
mtd->index*2),
+ mtd_class_device_create(mtd_class, NULL, MKDEV(MTD_CHAR_MAJOR,
mtd->index*2),
NULL, "mtd%d", mtd->index);
- class_device_create(mtd_class, NULL,
+ mtd_class_device_create(mtd_class, NULL,
MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1),
NULL, "mtd%dro", mtd->index);
}
==================================================================
--
Best Regards,
Artem B. Bityutskiy,
St.-Petersburg, Russia.
More information about the linux-mtd
mailing list