On Tue, Apr 04, 2006, Trent Piepho wrote: > I've written initial support (what I can without a datasheet) for the > FE_GET_FRONTEND ioctl for the or51132 frontend, but I'm not sure what value to > return on errors. > > I read the current modulation from the chip, but this could fail (i2c error, > unknown value returned, etc). > > The API doesn't cover what to do if the frontend status can't be read, and > current frontend drivers are inconsistent. > > cx22700 and cx22702 return EAGAIN on error. cx24123 and mt312 return > EREMOTEIO. mt352 returns EINVAL. dib3000mb, dib3000mc, and l64781 return 0 > on an error. The rest of the frontends either: > > A) Have no error conditions. > B) Don't check for errors or unexpected data from the hardware, usually > leaving some parameters uninitialized or with garbage values if an > error were to occur. > C) Check for errors, but don't abort the ioctl or return a failure code. EAGAIN is certainly wrong. EREMOTEIO is (was?) used in many i2c/lm_sensors drivers, but IMHO EIO would make more sense. EINVAL is wrong, too, as it implies the caller passed in invalid arguments. Johannes _______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb