Functions | |
int | can_open (struct inode *inode, struct file *file) |
int open(const char *pathname, int flags); opens the CAN device for following operations More... | |
Variables | |
atomic_t | can_isopen [MAX_CHANNELS] |
int can_open | ( | struct inode * | inode, |
struct file * | file | ||
) |
int open(const char *pathname, int flags); opens the CAN device for following operations
pathname | device pathname, usual /dev/can? |
flags | is one of O_RDONLY , O_WRONLY or O_RDWR which request opening the file read-only, write-only or read/write, respectively. |
The open call is used to "open" the device. Doing a first initialization according the to values in the /proc/sys/Can file system. Additional an ISR function is assigned to the IRQ.
The CLK OUT pin is configured for creating the same frequency like the chips input frequency fclk (XTAL).
If Vendor Option VendOpt is set to 's' the driver performs an hardware reset before initializing the chip.
If compiled with CAN_MAX_OPEN > 1, open() can be called more than once by different processes.
ENXIO
the file is a device special file and no corresponding device exists. EINVAL
illegal minor device number EINVAL
wrong IO-model format in /proc/sys/Can/IOmodel EBUSY
IRQ for hardware is not available EBUSY
I/O region for hardware is not available