linux/drivers/staging/fieldbus/anybuss/hms-profinet.c

// SPDX-License-Identifier: GPL-2.0
/*
 * HMS Profinet Client Driver
 *
 * Copyright (C) 2018 Arcx Inc
 */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>

/* move to <linux/fieldbus_dev.h> when taking this out of staging */
#include "../fieldbus_dev.h"

/* move to <linux/anybuss-client.h> when taking this out of staging */
#include "anybuss-client.h"

#define PROFI_DPRAM_SIZE

/*
 * ---------------------------------------------------------------
 * Anybus Profinet mailbox messages - definitions
 * ---------------------------------------------------------------
 * note that we're depending on the layout of these structures being
 * exactly as advertised.
 */

struct msg_mac_addr {};

struct profi_priv {};

static ssize_t
profi_read_area(struct fieldbus_dev *fbdev, char __user *buf, size_t size,
		loff_t *offset)
{}

static ssize_t
profi_write_area(struct fieldbus_dev *fbdev, const char __user *buf,
		 size_t size, loff_t *offset)
{}

static int profi_id_get(struct fieldbus_dev *fbdev, char *buf,
			size_t max_size)
{}

static bool profi_enable_get(struct fieldbus_dev *fbdev)
{}

static int __profi_enable(struct profi_priv *priv)
{}

static int __profi_disable(struct profi_priv *priv)
{}

static int profi_simple_enable(struct fieldbus_dev *fbdev, bool enable)
{}

static void profi_on_area_updated(struct anybuss_client *client)
{}

static void profi_on_online_changed(struct anybuss_client *client, bool online)
{}

static int profinet_probe(struct anybuss_client *client)
{}

static void profinet_remove(struct anybuss_client *client)
{}

static struct anybuss_client_driver profinet_driver =;

static int __init profinet_init(void)
{}
module_init();

static void __exit profinet_exit(void)
{}
module_exit(profinet_exit);

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