Merge "platform: msm_shared: Clean up partition parser"
diff --git a/platform/msm_shared/include/mmc.h b/platform/msm_shared/include/mmc.h
index db65056..529d2c3 100644
--- a/platform/msm_shared/include/mmc.h
+++ b/platform/msm_shared/include/mmc.h
@@ -592,15 +592,12 @@
 #define MMC_CLK_48MHZ                 48000000
 #define MMC_CLK_50MHZ                 49152000
 #define MMC_CLK_96MHZ                 96000000
+#define MMC_CLK_200MHZ                200000000
 
 #define MMC_CLK_ENABLE      1
 #define MMC_CLK_DISABLE     0
 
 unsigned int mmc_boot_main(unsigned char slot, unsigned int base);
-unsigned int mmc_boot_read_from_card(struct mmc_host *host,
-				     struct mmc_card *card,
-				     unsigned long long data_addr,
-				     unsigned int data_len, unsigned int *out);
 unsigned int mmc_write(unsigned long long data_addr,
 		       unsigned int data_len, unsigned int *in);
 
@@ -608,19 +605,13 @@
 		      unsigned int data_len);
 unsigned mmc_get_psn(void);
 
-unsigned int mmc_boot_write_to_card(struct mmc_host *host,
-				    struct mmc_card *card,
-				    unsigned long long data_addr,
-				    unsigned int data_len, unsigned int *in);
-
 unsigned int mmc_erase_card(unsigned long long data_addr,
 			    unsigned long long data_len);
 
-struct mmc_host *get_mmc_host(void);
-struct mmc_card *get_mmc_card(void);
 void mmc_mclk_reg_wr_delay();
 void mmc_boot_mci_clk_enable();
 void mmc_boot_mci_clk_disable();
 uint8_t card_supports_ddr_mode();
 uint8_t card_supports_hs200_mode();
+uint64_t mmc_get_device_capacity();
 #endif
diff --git a/platform/msm_shared/mmc.c b/platform/msm_shared/mmc.c
index 8ed7ec6..3a8f36a 100644
--- a/platform/msm_shared/mmc.c
+++ b/platform/msm_shared/mmc.c
@@ -1510,7 +1510,7 @@
  * Write data_len data to address specified by data_addr. data_len is
  * multiple of blocks for block data transfer.
  */
-unsigned int
+static unsigned int
 mmc_boot_write_to_card(struct mmc_host *host,
 		       struct mmc_card *card,
 		       unsigned long long data_addr,
@@ -1734,7 +1734,7 @@
  * Reads a data of data_len from the address specified. data_len
  * should be multiple of block size for block data transfer.
  */
-unsigned int
+static unsigned int
 mmc_boot_read_from_card(struct mmc_host *host,
 			struct mmc_card *card,
 			unsigned long long data_addr,
@@ -2411,7 +2411,7 @@
 	mmc_display_csd();
 	mmc_display_ext_csd();
 
-	mmc_ret = partition_read_table(&mmc_host, &mmc_card);
+	mmc_ret = partition_read_table();
 	return mmc_ret;
 }
 
@@ -3066,16 +3066,6 @@
 	return MMC_BOOT_E_SUCCESS;
 }
 
-struct mmc_host *get_mmc_host(void)
-{
-	return &mmc_host;
-}
-
-struct mmc_card *get_mmc_card(void)
-{
-	return &mmc_card;
-}
-
 /*
  * Disable MCI clk
  */
@@ -3409,3 +3399,9 @@
 	else
 		return 0;
 }
+
+/* Return the density of the mmc device */
+uint64_t mmc_get_device_capacity()
+{
+	return mmc_card.capacity;
+}
diff --git a/platform/msm_shared/smem.h b/platform/msm_shared/smem.h
index 88528e1..e0cbc5b 100755
--- a/platform/msm_shared/smem.h
+++ b/platform/msm_shared/smem.h
@@ -285,7 +285,9 @@
 	MSM8110   = 161,
 	MSM8210   = 162,
 	MSM8810   = 163,
+	MSM8212   = 164,
 	MSM8612   = 165,
+	MSM8812   = 166,
 	MSM8125   = 167,
 	MDM9310   = 171,
 	APQ8064AA = 172, /* aka V2 SLOW_PRIME */
diff --git a/target/msm8610/init.c b/target/msm8610/init.c
index 61f29b3..4a5bda1 100644
--- a/target/msm8610/init.c
+++ b/target/msm8610/init.c
@@ -161,6 +161,8 @@
 	case MSM8210:
 	case MSM8810:
 	case MSM8612:
+	case MSM8212:
+	case MSM8812:
 		board->baseband = BASEBAND_MSM;
 		break;
 	default: