linux/drivers/net/wwan/iosm/iosm_ipc_pcie.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2020-21 Intel Corporation.
 */

#include <linux/acpi.h>
#include <linux/bitfield.h>
#include <linux/module.h>
#include <net/rtnetlink.h>

#include "iosm_ipc_imem.h"
#include "iosm_ipc_pcie.h"
#include "iosm_ipc_protocol.h"

MODULE_DESCRIPTION();
MODULE_LICENSE();

/* WWAN GUID */
static guid_t wwan_acpi_guid =;

static void ipc_pcie_resources_release(struct iosm_pcie *ipc_pcie)
{}

static void ipc_pcie_cleanup(struct iosm_pcie *ipc_pcie)
{}

static void ipc_pcie_deinit(struct iosm_pcie *ipc_pcie)
{}

static void ipc_pcie_remove(struct pci_dev *pci)
{}

static int ipc_pcie_resources_request(struct iosm_pcie *ipc_pcie)
{}

bool ipc_pcie_check_aspm_enabled(struct iosm_pcie *ipc_pcie,
				 bool parent)
{}

bool ipc_pcie_check_data_link_active(struct iosm_pcie *ipc_pcie)
{}

static bool ipc_pcie_check_aspm_supported(struct iosm_pcie *ipc_pcie,
					  bool parent)
{}

void ipc_pcie_config_aspm(struct iosm_pcie *ipc_pcie)
{}

/* Initializes PCIe endpoint configuration */
static void ipc_pcie_config_init(struct iosm_pcie *ipc_pcie)
{}

/* This will read the BIOS WWAN RTD3 settings:
 * D0L1.2/D3L2/Disabled
 */
static enum ipc_pcie_sleep_state ipc_pcie_read_bios_cfg(struct device *dev)
{}

static int ipc_pcie_probe(struct pci_dev *pci,
			  const struct pci_device_id *pci_id)
{}

static const struct pci_device_id iosm_ipc_ids[] =;
MODULE_DEVICE_TABLE(pci, iosm_ipc_ids);

/* Enter sleep in s2idle case
 */
static int __maybe_unused ipc_pcie_suspend_s2idle(struct iosm_pcie *ipc_pcie)
{}

/* Resume from sleep in s2idle case
 */
static int __maybe_unused ipc_pcie_resume_s2idle(struct iosm_pcie *ipc_pcie)
{}

int __maybe_unused ipc_pcie_suspend(struct iosm_pcie *ipc_pcie)
{}

int __maybe_unused ipc_pcie_resume(struct iosm_pcie *ipc_pcie)
{}

static int __maybe_unused ipc_pcie_suspend_cb(struct device *dev)
{}

static int __maybe_unused ipc_pcie_resume_cb(struct device *dev)
{}

static SIMPLE_DEV_PM_OPS(iosm_ipc_pm, ipc_pcie_suspend_cb, ipc_pcie_resume_cb);

static struct pci_driver iosm_ipc_driver =;
module_pci_driver();

int ipc_pcie_addr_map(struct iosm_pcie *ipc_pcie, unsigned char *data,
		      size_t size, dma_addr_t *mapping, int direction)
{}

void ipc_pcie_addr_unmap(struct iosm_pcie *ipc_pcie, size_t size,
			 dma_addr_t mapping, int direction)
{}

struct sk_buff *ipc_pcie_alloc_local_skb(struct iosm_pcie *ipc_pcie,
					 gfp_t flags, size_t size)
{}

struct sk_buff *ipc_pcie_alloc_skb(struct iosm_pcie *ipc_pcie, size_t size,
				   gfp_t flags, dma_addr_t *mapping,
				   int direction, size_t headroom)
{}

void ipc_pcie_kfree_skb(struct iosm_pcie *ipc_pcie, struct sk_buff *skb)
{}