linux/drivers/nfc/nxp-nci/i2c.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * I2C link layer for the NXP NCI driver
 *
 * Copyright (C) 2014  NXP Semiconductors  All rights reserved.
 * Copyright (C) 2012-2015  Intel Corporation. All rights reserved.
 *
 * Authors: Clément Perrochaud <[email protected]>
 * Authors: Oleg Zhurakivskyy <[email protected]>
 *
 * Derived from PN544 device driver:
 * Copyright (C) 2012  Intel Corporation. All rights reserved.
 */

#include <linux/acpi.h>
#include <linux/delay.h>
#include <linux/i2c.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/nfc.h>
#include <linux/gpio/consumer.h>
#include <asm/unaligned.h>

#include <net/nfc/nfc.h>

#include "nxp-nci.h"

#define NXP_NCI_I2C_DRIVER_NAME

#define NXP_NCI_I2C_MAX_PAYLOAD

struct nxp_nci_i2c_phy {};

static int nxp_nci_i2c_set_mode(void *phy_id,
				    enum nxp_nci_mode mode)
{}

static int nxp_nci_i2c_write(void *phy_id, struct sk_buff *skb)
{}

static const struct nxp_nci_phy_ops i2c_phy_ops =;

static int nxp_nci_i2c_fw_read(struct nxp_nci_i2c_phy *phy,
			       struct sk_buff **skb)
{}

static int nxp_nci_i2c_nci_read(struct nxp_nci_i2c_phy *phy,
				struct sk_buff **skb)
{}

static irqreturn_t nxp_nci_i2c_irq_thread_fn(int irq, void *phy_id)
{}

static const struct acpi_gpio_params firmware_gpios =;
static const struct acpi_gpio_params enable_gpios =;

static const struct acpi_gpio_mapping acpi_nxp_nci_gpios[] =;

static int nxp_nci_i2c_probe(struct i2c_client *client)
{}

static void nxp_nci_i2c_remove(struct i2c_client *client)
{}

static const struct i2c_device_id nxp_nci_i2c_id_table[] =;
MODULE_DEVICE_TABLE(i2c, nxp_nci_i2c_id_table);

static const struct of_device_id of_nxp_nci_i2c_match[] =;
MODULE_DEVICE_TABLE(of, of_nxp_nci_i2c_match);

#ifdef CONFIG_ACPI
static const struct acpi_device_id acpi_id[] =;
MODULE_DEVICE_TABLE(acpi, acpi_id);
#endif

static struct i2c_driver nxp_nci_i2c_driver =;

module_i2c_driver();

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