#include <linux/genhd.h>
#include "check.h"
-#include "mtdpart.h"
-
#include "acorn.h"
#include "amiga.h"
#include "atari.h"
#include "efi.h"
#include "karma.h"
#include "sysv68.h"
+#include "rk.h"
+#include "cmdline.h"
int warn_no_part = 1; /*This is ugly: should make genhd removable media aware*/
adfspart_check_ADFS,
#endif
+#ifdef CONFIG_CMDLINE_PARTITION
+ cmdline_partition,
+#endif
#ifdef CONFIG_EFI_PARTITION
efi_partition, /* this must come before msdos */
#endif
#ifdef CONFIG_SYSV68_PARTITION
sysv68_partition,
#endif
-
-#if CONFIG_MMC_DW_ROCKCHIP
- mtdpart_partition,
+#ifdef CONFIG_RK_PARTITION
+ rkpart_partition,
#endif
NULL
sprintf(state->name, "p");
i = res = err = 0;
+
+ /* Rockchip partition table ONLY used by eMMC disk */
+ #ifdef CONFIG_RK_PARTITION
+ if ((179 == MAJOR(bdev->bd_dev) && (1 == hd->emmc_disk)))
+ i = sizeof(check_part) / sizeof(struct parsed_partitions *) - 2;
+ #endif
+
while (!res && check_part[i]) {
memset(state->parts, 0, state->limit * sizeof(state->parts[0]));
res = check_part[i++](state);