On May 24 2007 19:19, Lars K.W. Gohlke wrote:is it the way to access from kernelspace the userspace fs?I want to read from serial port (I mean the port, which is called
/dev/ttyS0 in user-space). Then I want copy_to_user() it through
/proc/serialPort
This is just to get familiar with driver programming (in kernelspace),
it could be better done in userspace - I know. But this is for learning.
It is a kind of synthetic problem, but after this, I hope too know how
to handle further ones.
Understood? It is a little bit strange, but hope it is explained well. ;)
If tell me that for /dev/ttyS0 I can adept it to /dev/ttyS1 etc..
struct file *filp = filp_open("/dev/ttyS0");
char buf[4096];
mm_segment_t oldfs = get_fs();
loff_t pos = 0;
set_ds(KERNEL_DS);
while (vfs_read(filp, buf, sizeof(buf), &pos) > 0)
printk("%s\n", buf);
filp_close(filp);
[I've warned about it... ;-) ]
Jan