open() returns 0.

2 messages, 2 authors, 2005-08-09 · open the first message on its own page

open() returns 0.

From: Jayaprakash Shanmugam <hidden>
Date: 2005-08-09 15:07:23

Hello All,

  I have a 8270 based board running Linux 2.6.  I am using the i2c
available on chip to read / write a i2c mux connected to it.  When I
open the i2c device, it returns 0 (which shouldnt be) instead of the
file descriptor.   The /proc/devices shows the i2c driver with major
89 is installed.

10:~# ls -l /dev/i2c-0
lrwxrwxrwx  1 root root 5 Jan  1 02:00 /dev/i2c-0 -> i2c/0

10:~# cat /dev/i2c-0
i2c-dev: i2c-0 reading 4096 bytes.
I2C xfer: read from 0xFFFF, flags 0x0001, 4096 bytes
I2C error: 0x3C04
cat: /dev/i2c-0: Input/output error

Any pointers on what could be wrong ?

Regards,
Jayaprakash.

Re: open() returns 0.

From: Josh Boyer <hidden>
Date: 2005-08-09 17:11:40

Hello All,

  I have a 8270 based board running Linux 2.6.  I am using the i2c
available on chip to read / write a i2c mux connected to it.  When I
open the i2c device, it returns 0 (which shouldnt be) instead of the
file descriptor.   The /proc/devices shows the i2c driver with major
89 is installed.
Does your program close all it's file descriptors before opening the i2c
device?  0 is a valid file descriptor.  It's just normally used by STDIN. 
If a program closes or doesn't inherit STDIN for some reason, 0 becomes
available.

josh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help