Hi Simon,
2015-08-26 11:26 GMT+09:00 Simon Glass <s...@chromium.org>: >> >> >>>> + return -EINVAL; >>> >>> That is normally used for an invalid device tree arg. How about -ENOSYS? >> >> >> >> This is the comment block in U-Boot: >> >> #define ENOSYS 38 /* Function not implemented */ >> >> >> And this is the one in Linux: >> >> /* >> * This error code is special: arch syscall entry code will return >> * -ENOSYS if users try to call a syscall that doesn't exist. To keep >> * failures of syscalls that really do exist distinguishable from >> * failures due to attempts to use a nonexistent syscall, syscall >> * implementations should refrain from returning -ENOSYS. >> */ >> #define ENOSYS 38 /* Invalid system call number */ >> >> >> >> From the comment above, I hesitate to use -ENOSYS for normal error cases. >> >> >> I chose ENOTSUPP for unimplemented functions and it is widely used >> in Linux's pinctrl drivers. > > OK, but in U-Boot we use -ENOSYS when there is no driver model method > defined for a call. The case you describe does not exist in U-Boot but > is analogous to a missing method. > > It doesn't much matter what one we use, but we do need to be consistent. > > If we now want to move to ENOTSUPP then we should change all existing > users. But ENOTSUPP says > > /* Operation not supported on transport endpoint */ > > which seems less applicable to me. I was hit by this, too. I asked the question in LKML: https://lkml.org/lkml/2015/7/3/166 I am not sure if you are convinced with this... I agree that we should be consistent with this, so I can send v5 with s/ENOSUPP/ENOSYS/ . -- Best Regards Masahiro Yamada _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot