On Fri, Jan 14, 2022 at 08:54:05PM +0000, Maciej W. Rozycki wrote:
Fix a user API regression introduced with commit f76edd8f7ce0 ("tty: cyclades, remove this orphan"), which removed a part of the API and caused compilation errors for user programs using said part, such as GCC 9 in its libsanitizer component[1]:
.../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:160:10: fatal error: linux/cyclades.h: No such file or directory 160 | #include <linux/cyclades.h> | ^~~~~~~~~~~~~~~~~~ compilation terminated. make[4]: *** [Makefile:664: sanitizer_platform_limits_posix.lo] Error 1
So all we need is an empty header file? Why bring back all of the unused structures?
Any part of the public API is a contract between the kernel and the userland and therefore once there it must not be removed even if its implementation side has gone and any relevant calls will now fail unconditionally.
Does this code actually use any of these structures?
Revert the part of the commit referred then that affects the user API, bringing the most recent version of <linux/cyclades.h> back verbatim modulo the removal of trailing whitespace which used to be there, and updating <linux/major.h> accordingly.
Why major.h? What uses that? No userspace code should care about that.
Also, your text here is full of trailing whitespace, so I couldn't take this commit as-is anyway :(
thanks,
greg k-h