#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
#include "../fieldbus_dev.h"
#include "anybuss-client.h"
#define PROFI_DPRAM_SIZE …
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(…) …;