linux/drivers/i2c/busses/i2c-designware-pcidrv.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Synopsys DesignWare I2C adapter driver (master only).
 *
 * Based on the TI DAVINCI I2C adapter driver.
 *
 * Copyright (C) 2006 Texas Instruments.
 * Copyright (C) 2007 MontaVista Software Inc.
 * Copyright (C) 2009 Provigent Ltd.
 * Copyright (C) 2011, 2015, 2016 Intel Corporation.
 */
#include <linux/acpi.h>
#include <linux/delay.h>
#include <linux/err.h>
#include <linux/errno.h>
#include <linux/i2c.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/pm_runtime.h>
#include <linux/power_supply.h>
#include <linux/sched.h>
#include <linux/slab.h>

#include "i2c-designware-core.h"
#include "i2c-ccgx-ucsi.h"

#define DRIVER_NAME

enum dw_pci_ctl_id_t {};

/*
 * This is a legacy structure to describe the hardware counters
 * to configure signal timings on the bus. For Device Tree platforms
 * one should use the respective properties and for ACPI there is
 * a set of ACPI methods that provide these counters. No new
 * platform should use this structure.
 */
struct dw_scl_sda_cfg {};

struct dw_pci_controller {};

/* Merrifield HCNT/LCNT/SDA hold time */
static struct dw_scl_sda_cfg mrfld_config =;

/* BayTrail HCNT/LCNT/SDA hold time */
static struct dw_scl_sda_cfg byt_config =;

/* Haswell HCNT/LCNT/SDA hold time */
static struct dw_scl_sda_cfg hsw_config =;

/* NAVI-AMD HCNT/LCNT/SDA hold time */
static struct dw_scl_sda_cfg navi_amd_config =;

static u32 mfld_get_clk_rate_khz(struct dw_i2c_dev *dev)
{}

static int mfld_setup(struct pci_dev *pdev, struct dw_pci_controller *c)
{}

static int mrfld_setup(struct pci_dev *pdev, struct dw_pci_controller *c)
{}

static u32 ehl_get_clk_rate_khz(struct dw_i2c_dev *dev)
{}

static u32 navi_amd_get_clk_rate_khz(struct dw_i2c_dev *dev)
{}

static int navi_amd_setup(struct pci_dev *pdev, struct dw_pci_controller *c)
{}

static struct dw_pci_controller dw_pci_controllers[] =;

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

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

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

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

static const struct dev_pm_ops i2c_dw_pm_ops =;

static const struct property_entry dgpu_properties[] =;

static const struct software_node dgpu_node =;

static int i2c_dw_pci_probe(struct pci_dev *pdev,
			    const struct pci_device_id *id)
{}

static void i2c_dw_pci_remove(struct pci_dev *pdev)
{}

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

static struct pci_driver dw_i2c_driver =;
module_pci_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();