aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/modem_if/modem_variation.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/modem_if/modem_variation.h')
-rw-r--r--drivers/misc/modem_if/modem_variation.h106
1 files changed, 70 insertions, 36 deletions
diff --git a/drivers/misc/modem_if/modem_variation.h b/drivers/misc/modem_if/modem_variation.h
index b5ec61b..b314bb2 100644
--- a/drivers/misc/modem_if/modem_variation.h
+++ b/drivers/misc/modem_if/modem_variation.h
@@ -1,5 +1,4 @@
/*
- * Copyright (C) 2010 Google, Inc.
* Copyright (C) 2010 Samsung Electronics.
*
* This software is licensed under the terms of the GNU General Public
@@ -16,7 +15,7 @@
#ifndef __MODEM_VARIATION_H__
#define __MODEM_VARIATION_H__
-#include <linux/platform_data/modem.h>
+#include "modem.h"
#define DECLARE_MODEM_INIT(type) \
int type ## _init_modemctl_device(struct modem_ctl *mc, \
@@ -61,12 +60,30 @@ DECLARE_MODEM_INIT(cbp72);
DECLARE_MODEM_INIT_DUMMY(cbp72)
#endif
+#ifdef CONFIG_CDMA_MODEM_CBP82
+DECLARE_MODEM_INIT(cbp82);
+#else
+DECLARE_MODEM_INIT_DUMMY(cbp82)
+#endif
+
+#ifdef CONFIG_LTE_MODEM_CMC220
+DECLARE_MODEM_INIT(cmc220);
+#else
+DECLARE_MODEM_INIT_DUMMY(cmc220)
+#endif
+
#ifdef CONFIG_LTE_MODEM_CMC221
DECLARE_MODEM_INIT(cmc221);
#else
DECLARE_MODEM_INIT_DUMMY(cmc221)
#endif
+#ifdef CONFIG_UMTS_MODEM_SS222
+DECLARE_MODEM_INIT(ss222);
+#else
+DECLARE_MODEM_INIT_DUMMY(ss222)
+#endif
+
#ifdef CONFIG_CDMA_MODEM_MDM6600
DECLARE_MODEM_INIT(mdm6600);
#else
@@ -79,6 +96,12 @@ DECLARE_MODEM_INIT(esc6270);
DECLARE_MODEM_INIT_DUMMY(esc6270)
#endif
+#ifdef CONFIG_CDMA_MODEM_QSC6085
+DECLARE_MODEM_INIT(qsc6085);
+#else
+DECLARE_MODEM_INIT_DUMMY(qsc6085)
+#endif
+
#ifdef CONFIG_TDSCDMA_MODEM_SPRD8803
DECLARE_MODEM_INIT(sprd8803);
#else
@@ -94,6 +117,18 @@ DECLARE_LINK_INIT(mipi);
DECLARE_LINK_INIT_DUMMY(mipi)
#endif
+#ifdef CONFIG_LINK_DEVICE_USB
+DECLARE_LINK_INIT(usb);
+#else
+DECLARE_LINK_INIT_DUMMY(usb)
+#endif
+
+#ifdef CONFIG_LINK_DEVICE_HSIC
+DECLARE_LINK_INIT(hsic);
+#else
+DECLARE_LINK_INIT_DUMMY(hsic)
+#endif
+
#ifdef CONFIG_LINK_DEVICE_DPRAM
DECLARE_LINK_INIT(dpram);
#else
@@ -106,53 +141,52 @@ DECLARE_LINK_INIT(pld);
DECLARE_LINK_INIT_DUMMY(pld)
#endif
-#ifdef CONFIG_LINK_DEVICE_SPI
-DECLARE_LINK_INIT(spi);
-#else
-DECLARE_LINK_INIT_DUMMY(spi)
-#endif
-
-#ifdef CONFIG_LINK_DEVICE_USB
-DECLARE_LINK_INIT(usb);
+#ifdef CONFIG_LINK_DEVICE_C2C
+DECLARE_LINK_INIT(c2c);
#else
-DECLARE_LINK_INIT_DUMMY(usb)
+DECLARE_LINK_INIT_DUMMY(c2c)
#endif
-#ifdef CONFIG_LINK_DEVICE_HSIC
-DECLARE_LINK_INIT(hsic);
+#ifdef CONFIG_LINK_DEVICE_SHMEM
+DECLARE_LINK_INIT(shmem);
#else
-DECLARE_LINK_INIT_DUMMY(hsic)
+DECLARE_LINK_INIT_DUMMY(shmem)
#endif
-#ifdef CONFIG_LINK_DEVICE_C2C
-DECLARE_LINK_INIT(c2c);
+#ifdef CONFIG_LINK_DEVICE_SPI
+DECLARE_LINK_INIT(spi);
#else
-DECLARE_LINK_INIT_DUMMY(c2c)
+DECLARE_LINK_INIT_DUMMY(spi)
#endif
typedef int (*modem_init_call)(struct modem_ctl *, struct modem_data *);
-static modem_init_call modem_init_func[] = {
- MODEM_INIT_CALL(xmm6260),
- MODEM_INIT_CALL(xmm6262),
- MODEM_INIT_CALL(cbp71),
- MODEM_INIT_CALL(cbp72),
- MODEM_INIT_CALL(cmc221),
- MODEM_INIT_CALL(mdm6600),
- MODEM_INIT_CALL(esc6270),
- MODEM_INIT_CALL(sprd8803),
- MODEM_INIT_CALL(dummy),
+static modem_init_call modem_init_func[MAX_MODEM_TYPE] = {
+ [IMC_XMM6260] = MODEM_INIT_CALL(xmm6260),
+ [IMC_XMM6262] = MODEM_INIT_CALL(xmm6262),
+ [VIA_CBP71] = MODEM_INIT_CALL(cbp71),
+ [VIA_CBP72] = MODEM_INIT_CALL(cbp72),
+ [VIA_CBP82] = MODEM_INIT_CALL(cbp82),
+ [SEC_CMC220] = MODEM_INIT_CALL(cmc220),
+ [SEC_CMC221] = MODEM_INIT_CALL(cmc221),
+ [SEC_SS222] = MODEM_INIT_CALL(ss222),
+ [QC_MDM6600] = MODEM_INIT_CALL(mdm6600),
+ [QC_ESC6270] = MODEM_INIT_CALL(esc6270),
+ [QC_QSC6085] = MODEM_INIT_CALL(qsc6085),
+ [SPRD_SC8803] = MODEM_INIT_CALL(sprd8803),
+ [DUMMY] = MODEM_INIT_CALL(dummy),
};
typedef struct link_device *(*link_init_call)(struct platform_device *);
-static link_init_call link_init_func[] = {
- LINK_INIT_CALL(undefined),
- LINK_INIT_CALL(mipi),
- LINK_INIT_CALL(dpram),
- LINK_INIT_CALL(spi),
- LINK_INIT_CALL(usb),
- LINK_INIT_CALL(hsic),
- LINK_INIT_CALL(c2c),
- LINK_INIT_CALL(pld),
+static link_init_call link_init_func[LINKDEV_MAX] = {
+ [LINKDEV_UNDEFINED] = LINK_INIT_CALL(undefined),
+ [LINKDEV_MIPI] = LINK_INIT_CALL(mipi),
+ [LINKDEV_USB] = LINK_INIT_CALL(usb),
+ [LINKDEV_HSIC] = LINK_INIT_CALL(hsic),
+ [LINKDEV_DPRAM] = LINK_INIT_CALL(dpram),
+ [LINKDEV_PLD] = LINK_INIT_CALL(pld),
+ [LINKDEV_C2C] = LINK_INIT_CALL(c2c),
+ [LINKDEV_SHMEM] = LINK_INIT_CALL(shmem),
+ [LINKDEV_SPI] = LINK_INIT_CALL(spi),
};
static int call_modem_init_func(struct modem_ctl *mc, struct modem_data *pdata)