linux/drivers/mfd/intel_quark_i2c_gpio.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Intel Quark MFD PCI driver for I2C & GPIO
 *
 * Copyright(c) 2014 Intel Corporation.
 *
 * Intel Quark PCI device for I2C and GPIO controller sharing the same
 * PCI function. This PCI driver will split the 2 devices into their
 * respective drivers.
 */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/mfd/core.h>
#include <linux/clkdev.h>
#include <linux/clk-provider.h>
#include <linux/dmi.h>
#include <linux/i2c.h>
#include <linux/property.h>

/* PCI BAR for register base address */
#define MFD_I2C_BAR
#define MFD_GPIO_BAR

/* ACPI _ADR value to match the child node */
#define MFD_ACPI_MATCH_GPIO
#define MFD_ACPI_MATCH_I2C

#define INTEL_QUARK_IORES_MEM
#define INTEL_QUARK_IORES_IRQ

#define INTEL_QUARK_I2C_CONTROLLER_CLK

/* The Quark I2C controller source clock */
#define INTEL_QUARK_I2C_CLK_HZ

struct intel_quark_mfd {};

static const struct property_entry intel_quark_i2c_controller_standard_properties[] =;

static const struct software_node intel_quark_i2c_controller_standard_node =;

static const struct property_entry intel_quark_i2c_controller_fast_properties[] =;

static const struct software_node intel_quark_i2c_controller_fast_node =;

static const struct dmi_system_id dmi_platform_info[] =;

/* This is used as a place holder and will be modified at run-time */
static struct resource intel_quark_i2c_res[] =;

static struct mfd_cell_acpi_match intel_quark_acpi_match_i2c =;

/* This is used as a place holder and will be modified at run-time */
static struct resource intel_quark_gpio_res[] =;

static struct mfd_cell_acpi_match intel_quark_acpi_match_gpio =;

static const struct software_node intel_quark_gpio_controller_node =;

static const struct property_entry intel_quark_gpio_portA_properties[] =;

static const struct software_node intel_quark_gpio_portA_node =;

static const struct software_node *intel_quark_gpio_node_group[] =;

static struct mfd_cell intel_quark_mfd_cells[] =;

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

static int intel_quark_register_i2c_clk(struct device *dev)
{}

static void intel_quark_unregister_i2c_clk(struct device *dev)
{}

static int intel_quark_i2c_setup(struct pci_dev *pdev)
{}

static int intel_quark_gpio_setup(struct pci_dev *pdev)
{}

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

static void intel_quark_mfd_remove(struct pci_dev *pdev)
{}

static struct pci_driver intel_quark_mfd_driver =;

module_pci_driver();

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