cdev.c File Reference

EtherCAT master character device. More...

Go to the source code of this file.

Data Structures

struct  ec_cdev_priv_t
 Private data structure for file handles. More...

Defines

#define DEBUG   0
 Set to 1 to enable device operations debugging.
#define PAGE_FAULT_VERSION   KERNEL_VERSION(2, 6, 23)
 This is the kernel version from which the .fault member of the vm_operations_struct is usable.
#define VM_DONTDUMP   VM_RESERVED
 VM_RESERVED disappeared in 3.7.

Functions

static int eccdev_open (struct inode *inode, struct file *filp)
 Called when the cdev is opened.
static int eccdev_release (struct inode *inode, struct file *filp)
 Called when the cdev is closed.
static long eccdev_ioctl (struct file *filp, unsigned int cmd, unsigned long arg)
 Called when an ioctl() command is issued.
static int eccdev_mmap (struct file *filp, struct vm_area_struct *vma)
 Memory-map callback for the EtherCAT character device.
static int eccdev_vma_fault (struct vm_area_struct *vma,struct vm_fault *vmf)
 Page fault callback for a virtual memory area.
int ec_cdev_init (ec_cdev_t *cdev, ec_master_t *master, dev_t dev_num)
 Constructor.
void ec_cdev_clear (ec_cdev_t *cdev)
 Destructor.

Variables

static struct file_operations eccdev_fops
 File operation callbacks for the EtherCAT character device.
struct vm_operations_struct eccdev_vm_ops
 Callbacks for a virtual memory area retrieved with ecdevc_mmap().


Detailed Description

EtherCAT master character device.

Definition in file cdev.c.


Function Documentation

int eccdev_mmap ( struct file *  filp,
struct vm_area_struct *  vma 
) [static]

Memory-map callback for the EtherCAT character device.

The actual mapping will be done in the eccdev_vma_nopage() callback of the virtual memory area.

Returns:
Always zero (success).

Definition at line 228 of file cdev.c.

static int eccdev_vma_fault ( struct vm_area_struct *  vma,
struct vm_fault *  vmf 
) [static]

Page fault callback for a virtual memory area.

Called at the first access on a virtual-memory area retrieved with ecdev_mmap().

Returns:
Zero on success, otherwise a negative error code.
Parameters:
vma  Virtual memory area.
vmf  Fault data.

Definition at line 255 of file cdev.c.

int ec_cdev_init ( ec_cdev_t cdev,
ec_master_t master,
dev_t  dev_num 
)

Constructor.

Returns:
0 in case of success, else < 0
Parameters:
cdev  EtherCAT master character device.
master  Parent master.
dev_num  Device number.

Definition at line 108 of file cdev.c.

void ec_cdev_clear ( ec_cdev_t cdev  ) 

Destructor.

Parameters:
cdev  EtherCAT XML device

Definition at line 134 of file cdev.c.


Variable Documentation

struct file_operations eccdev_fops [static]

Initial value:

 {
    .owner          = THIS_MODULE,
    .open           = eccdev_open,
    .release        = eccdev_release,
    .unlocked_ioctl = eccdev_ioctl,
    .mmap           = eccdev_mmap
}
File operation callbacks for the EtherCAT character device.

Definition at line 75 of file cdev.c.

struct vm_operations_struct eccdev_vm_ops

Initial value:

 {

    .fault = eccdev_vma_fault



}
Callbacks for a virtual memory area retrieved with ecdevc_mmap().

Definition at line 85 of file cdev.c.


Generated on Mon Jun 20 09:31:30 2016 for IgH EtherCAT Master by  doxygen 1.5.6