diff options
Diffstat (limited to 'plugins/intel')
-rw-r--r-- | plugins/intel/mm-broadband-modem-mbim-intel.c | 144 | ||||
-rw-r--r-- | plugins/intel/mm-broadband-modem-mbim-intel.h | 47 | ||||
-rw-r--r-- | plugins/intel/mm-plugin-intel.c | 91 | ||||
-rw-r--r-- | plugins/intel/mm-plugin-intel.h | 40 |
4 files changed, 0 insertions, 322 deletions
diff --git a/plugins/intel/mm-broadband-modem-mbim-intel.c b/plugins/intel/mm-broadband-modem-mbim-intel.c deleted file mode 100644 index f6cf33db..00000000 --- a/plugins/intel/mm-broadband-modem-mbim-intel.c +++ /dev/null @@ -1,144 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details: - * - * Copyright (C) 2021-2022 Intel Corporation - */ - -#include <config.h> - -#include <stdlib.h> -#include <stdio.h> -#include <string.h> -#include <unistd.h> -#include <ctype.h> -#include <time.h> - -#include <ModemManager.h> -#define _LIBMM_INSIDE_MM -#include <libmm-glib.h> - -#include "mm-broadband-modem-mbim-intel.h" -#include "mm-iface-modem-location.h" -#include "mm-shared-xmm.h" - -static void iface_modem_location_init (MMIfaceModemLocation *iface); -static void shared_xmm_init (MMSharedXmm *iface); - -static MMIfaceModemLocation *iface_modem_location_parent; - -G_DEFINE_TYPE_EXTENDED (MMBroadbandModemMbimIntel, mm_broadband_modem_mbim_intel, MM_TYPE_BROADBAND_MODEM_MBIM, 0, - G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM_LOCATION, iface_modem_location_init) - G_IMPLEMENT_INTERFACE (MM_TYPE_SHARED_XMM, shared_xmm_init)) - -/*****************************************************************************/ - -static void -setup_ports (MMBroadbandModem *self) -{ - MMPortSerialAt *ports[3]; - guint i; - - /* Run the shared XMM port setup logic */ - mm_shared_xmm_setup_ports (self); - - ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self)); - ports[1] = mm_base_modem_peek_port_secondary (MM_BASE_MODEM (self)); - - /* GNSS control port may or may not be a primary/secondary port */ - ports[2] = mm_base_modem_peek_port_gps_control (MM_BASE_MODEM (self)); - if (ports[2] && ((ports[2] == ports[0]) || (ports[2] == ports[1]))) - ports[2] = NULL; - - for (i = 0; i < G_N_ELEMENTS (ports); i++) { - if (!ports[i]) - continue; - - g_object_set (ports[i], - MM_PORT_SERIAL_SEND_DELAY, (guint64) 0, - NULL); - } -} - -/*****************************************************************************/ - -MMBroadbandModemMbimIntel * -mm_broadband_modem_mbim_intel_new (const gchar *device, - const gchar **drivers, - const gchar *plugin, - guint16 vendor_id, - guint16 product_id) -{ - return g_object_new (MM_TYPE_BROADBAND_MODEM_MBIM_INTEL, - MM_BASE_MODEM_DEVICE, device, - MM_BASE_MODEM_DRIVERS, drivers, - MM_BASE_MODEM_PLUGIN, plugin, - MM_BASE_MODEM_VENDOR_ID, vendor_id, - MM_BASE_MODEM_PRODUCT_ID, product_id, - /* MBIM bearer supports NET only */ - MM_BASE_MODEM_DATA_NET_SUPPORTED, TRUE, - MM_BASE_MODEM_DATA_TTY_SUPPORTED, FALSE, - MM_IFACE_MODEM_SIM_HOT_SWAP_SUPPORTED, TRUE, - MM_IFACE_MODEM_PERIODIC_SIGNAL_CHECK_DISABLED, TRUE, -#if defined WITH_QMI && QMI_MBIM_QMUX_SUPPORTED - MM_BROADBAND_MODEM_MBIM_QMI_UNSUPPORTED, TRUE, -#endif - NULL); -} - -static void -mm_broadband_modem_mbim_intel_init (MMBroadbandModemMbimIntel *self) -{ -} - -static void -iface_modem_location_init (MMIfaceModemLocation *iface) -{ - iface_modem_location_parent = g_type_interface_peek_parent (iface); - - iface->load_capabilities = mm_shared_xmm_location_load_capabilities; - iface->load_capabilities_finish = mm_shared_xmm_location_load_capabilities_finish; - iface->enable_location_gathering = mm_shared_xmm_enable_location_gathering; - iface->enable_location_gathering_finish = mm_shared_xmm_enable_location_gathering_finish; - iface->disable_location_gathering = mm_shared_xmm_disable_location_gathering; - iface->disable_location_gathering_finish = mm_shared_xmm_disable_location_gathering_finish; - iface->load_supl_server = mm_shared_xmm_location_load_supl_server; - iface->load_supl_server_finish = mm_shared_xmm_location_load_supl_server_finish; - iface->set_supl_server = mm_shared_xmm_location_set_supl_server; - iface->set_supl_server_finish = mm_shared_xmm_location_set_supl_server_finish; -} - -static MMBroadbandModemClass * -peek_parent_broadband_modem_class (MMSharedXmm *self) -{ - return MM_BROADBAND_MODEM_CLASS (mm_broadband_modem_mbim_intel_parent_class); -} - -static MMIfaceModemLocation * -peek_parent_location_interface (MMSharedXmm *self) -{ - return iface_modem_location_parent; -} - -static void -shared_xmm_init (MMSharedXmm *iface) -{ - iface->peek_parent_broadband_modem_class = peek_parent_broadband_modem_class; - iface->peek_parent_location_interface = peek_parent_location_interface; -} - -static void -mm_broadband_modem_mbim_intel_class_init (MMBroadbandModemMbimIntelClass *klass) -{ - MMBroadbandModemClass *broadband_modem_class = MM_BROADBAND_MODEM_CLASS (klass); - - broadband_modem_class->setup_ports = setup_ports; -} diff --git a/plugins/intel/mm-broadband-modem-mbim-intel.h b/plugins/intel/mm-broadband-modem-mbim-intel.h deleted file mode 100644 index 549f179d..00000000 --- a/plugins/intel/mm-broadband-modem-mbim-intel.h +++ /dev/null @@ -1,47 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details: - * - * Copyright (C) 2021-2022 Intel Corporation - */ - -#ifndef MM_BROADBAND_MODEM_MBIM_INTEL_H -#define MM_BROADBAND_MODEM_MBIM_INTEL_H - -#include "mm-broadband-modem-mbim.h" - -#define MM_TYPE_BROADBAND_MODEM_MBIM_INTEL (mm_broadband_modem_mbim_intel_get_type ()) -#define MM_BROADBAND_MODEM_MBIM_INTEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_BROADBAND_MODEM_MBIM_INTEL, MMBroadbandModemMbimIntel)) -#define MM_BROADBAND_MODEM_MBIM_INTEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MM_TYPE_BROADBAND_MODEM_MBIM_INTEL, MMBroadbandModemMbimIntelClass)) -#define MM_IS_BROADBAND_MODEM_MBIM_INTEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_BROADBAND_MODEM_MBIM_INTEL)) -#define MM_IS_BROADBAND_MODEM_MBIM_INTEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MM_TYPE_BROADBAND_MODEM_MBIM_INTEL)) -#define MM_BROADBAND_MODEM_MBIM_INTEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MM_TYPE_BROADBAND_MODEM_MBIM_INTEL, MMBroadbandModemMbimIntelClass)) - -typedef struct _MMBroadbandModemMbimIntel MMBroadbandModemMbimIntel; -typedef struct _MMBroadbandModemMbimIntelClass MMBroadbandModemMbimIntelClass; - -struct _MMBroadbandModemMbimIntel { - MMBroadbandModemMbim parent; -}; - -struct _MMBroadbandModemMbimIntelClass{ - MMBroadbandModemMbimClass parent; -}; - -GType mm_broadband_modem_mbim_intel_get_type (void); - -MMBroadbandModemMbimIntel *mm_broadband_modem_mbim_intel_new (const gchar *device, - const gchar **driver, - const gchar *plugin, - guint16 vendor_id, - guint16 product_id); - -#endif /* MM_BROADBAND_MODEM_MBIM_INTEL_H */ diff --git a/plugins/intel/mm-plugin-intel.c b/plugins/intel/mm-plugin-intel.c deleted file mode 100644 index d83edfba..00000000 --- a/plugins/intel/mm-plugin-intel.c +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details: - * - * Copyright (C) 2021-2022 Intel Corporation - */ - -#include <stdio.h> -#include <gmodule.h> - -#define _LIBMM_INSIDE_MM -#include <libmm-glib.h> - -#include "mm-plugin-intel.h" -#include "mm-log-object.h" -#include "mm-broadband-modem.h" - -#if defined WITH_MBIM -#include "mm-broadband-modem-mbim-intel.h" -#endif - -G_DEFINE_TYPE (MMPluginIntel, mm_plugin_intel, MM_TYPE_PLUGIN) - -MM_PLUGIN_DEFINE_MAJOR_VERSION -MM_PLUGIN_DEFINE_MINOR_VERSION - -static MMBaseModem * -create_modem (MMPlugin *self, - const gchar *uid, - const gchar **drivers, - guint16 vendor, - guint16 product, - guint16 subsystem_vendor, - GList *probes, - GError **error) -{ -#if defined WITH_MBIM - if (mm_port_probe_list_has_mbim_port (probes)) { - mm_obj_dbg (self, "MBIM-powered Intel modem found..."); - return MM_BASE_MODEM (mm_broadband_modem_mbim_intel_new (uid, - drivers, - mm_plugin_get_name (self), - vendor, - product)); - } -#endif - - mm_obj_dbg (self, "Generic Intel modem found..."); - return MM_BASE_MODEM (mm_broadband_modem_new (uid, - drivers, - mm_plugin_get_name (self), - vendor, - product)); -} - -G_MODULE_EXPORT MMPlugin * -mm_plugin_create (void) -{ - static const gchar *subsystems[] = { "net", "wwan", NULL }; - static const guint16 vendor_ids[] = { 0x8086, 0 }; - - return MM_PLUGIN ( - g_object_new (MM_TYPE_PLUGIN_INTEL, - MM_PLUGIN_NAME, "Intel", - MM_PLUGIN_ALLOWED_SUBSYSTEMS, subsystems, - MM_PLUGIN_ALLOWED_VENDOR_IDS, vendor_ids, - MM_PLUGIN_ALLOWED_AT, TRUE, - MM_PLUGIN_ALLOWED_MBIM, TRUE, - NULL)); -} - -static void -mm_plugin_intel_init (MMPluginIntel *self) -{ - /*nothing to be done here, but required for creating intel plugin instance*/ -} - -static void -mm_plugin_intel_class_init (MMPluginIntelClass *klass) -{ - MMPluginClass *plugin_class = MM_PLUGIN_CLASS (klass); - plugin_class->create_modem = create_modem; -} diff --git a/plugins/intel/mm-plugin-intel.h b/plugins/intel/mm-plugin-intel.h deleted file mode 100644 index 3d2880b2..00000000 --- a/plugins/intel/mm-plugin-intel.h +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details: - * - * Copyright (C) 2021-2022 Intel Corporation - */ - -#ifndef MM_PLUGIN_INTEL_H -#define MM_PLUGIN_INTEL_H - -#include "mm-plugin.h" - -#define MM_TYPE_PLUGIN_INTEL (mm_plugin_intel_get_type ()) -#define MM_PLUGIN_INTEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_PLUGIN_INTEL, MMPluginIntel)) -#define MM_PLUGIN_INTEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MM_TYPE_PLUGIN_INTEL, MMPluginIntelClass)) -#define MM_IS_PLUGIN_INTEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_PLUGIN_INTEL)) -#define MM_IS_PLUGIN_INTEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MM_TYPE_PLUGIN_INTEL)) -#define MM_PLUGIN_INTEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MM_TYPE_PLUGIN_INTEL, MMPluginIntelClass)) - -typedef struct { - MMPlugin parent; -} MMPluginIntel; - -typedef struct { - MMPluginClass parent; -} MMPluginIntelClass; - -GType mm_plugin_intel_get_type (void); - -G_MODULE_EXPORT MMPlugin *mm_plugin_create (void); - -#endif /* MM_PLUGIN_INTEL_H */ |