https://etherpad.fr/p/LPC2014_BOF_Obsoleting_support_for_old_hardware [you can also help add notes here] - staging was used for getting rid/word to be done - there might be still users - retirement tree -- in keeps working if you don't update to recent kernel (old hardware) - kernel summit long time ago: decided to use the staging tree for this -- remove ARM7 no MMU support -> need to touch code, not just remove files - what about infrastructrue? how to do we force people to use new APIs -- Hannes: compiler warnings are not good enough, warning during boot is more helping - user land project experience: used kconfig with several options (like depricated since version 1, depricated since version 2...) -- drivers have a relative good isolated api, simpler to get rid of, it could be tagged with the depricated flag; though we need to do the final step and really deprcated the driver -- what about in kernel APIs? When do we know when and APIs is ready to be removed? -> coccinelle could easily remove all users of a intern API. Problem: XXX - zero build time tool: checks for new code to appear which uses old APIs - gcc has a depricated annotation. stopped using it, instead complaining fix it - looks like we have the tools, need to connect them together - Arnd: not convienced. The only way it works, do the hard work and remove all the users (by hand) - Instead having your email address in the code it is better to have a URL to a wiki with your email address. - checkpatch script: add feature to check for depricated API -- new vendor code is likely to use old APIs - Jes: have a switch to enable/disable the warnings, run it on regular basis to find new users of old APIs. Better than have spamming people every single time they build the kernel/boot. - Export kernel symbols: No way to distinguish between in kernel users and real external users. EXPORT_SYMBOL_PRIVATE()? Jes: people find creative ways to workaround this limitation. - secure boot, certificates: Hannes: want only allow 3nd party modules to use allowed function to use (enforcement) - timeframe by depricating and removing needs to be pretty long; Jes: is not really a problem since distro have it under control - filesystems: knowing it doesn't work anymore or hoping accessing old data? -- 2038 problem: we know that filesystems will break. - Discussions with greghk afterward came to the conclusion that staging can be used to delete drivers just fine, as that had been happening for a while now already through that process.