Tim's Kernel Issue List

I stumble across stuff that needs fixing or improving in the kernel all the time. This often occurs when I'm doing something else, and I don't have time to fix the problem when I find it. This page holds a list of issues that I should get back to some time.

unsorted

 * can't do dynamic function trace on krait (qcom) ARM cpus
 * if you turn on dynamic function trace, and try to start it in the kernel, the kernel hangs
 * this might be easy to fix: try a binary search adding notrace to all functions and find the one(s) that fail, if they are missing 'notrace'
 * can test this by allowing dynamic trace of only one C file's functions, and see if it works.


 * convert ci_hdrc_msm.c to use hw_read and hw_write (like rest of chipidea driver)


 * implement CONFIG_PROC_FS_CORE
 * only support the most core features of /proc if this is set and CONFIG_PROC_FS is not set
 * CONFIG_PROC_FS name becomes slightly false

= categorization = Put issues into the appropriate section below, after analysis. This presumes that at some time I'll actually look at these lists and do something about these issues.

easy, low-priority

 * fix wording of "It is OTG capable controller" message, in chipidea driver.
 * it's driving me nuts - it sounds Russian. add an 'an'.

easy, medium-priority

 * add documentation for workqueues to kerneldoc system

medium, low-priority
[   2.440417] msm_otg f9a55000.usb-phy: GPIO lookup for consumer switch [   2.445191] msm_otg f9a55000.usb-phy: using device tree for GPIO lookup [   2.451502] of_get_named_gpiod_flags: can't parse 'switch-gpios' property of node '/soc/usb- phy@f9a55000[0]' [   2.457960] of_get_named_gpiod_flags: can't parse 'switch-gpio' property of node '/soc/usb-phy@f9a55000[0]' [   2.468027] msm_otg f9a55000.usb-phy: using lookup tables for GPIO lookup [   2.477484] msm_otg f9a55000.usb-phy: lookup for GPIO switch failed
 * devm_gpiod_get_optional is very noisy (and scary) on failure
 * I get the following message from msm_otg_probe when I don't have a "switch-gpios" defined in my dts for the phy:

medium, medium priority

 * create a system for determining that kernel APIs are not in the kernel docs
 * there are 20,000 kernel APIs, but only 9000 man pages - why are so many missing
 * determine missing ones automatically, and fix


 * have kernel documentation come from markdown in kernel C files
 * convert useful comments into documentation


 * create automated system for detecting docs out-of-sync with sub-system or framework
 * e.g. add some kind of attribute or tag that says: if this structure or function arg changes,
 * then the doc needs reviewing (to the doc site)
 * print automatic warnings if the doc needs to be reviewed (like a doc 'dirty' flag)

hard, high priority
= Non-issues = This is for stuff I thought were issues, but are really not.
 * drivers/usb/chipidea/ci.h:hw_test_and_clear doesn't seem to actually clear the bits
 * it looks to me like it's missing a mask operation on the returned value
 * OK - I'm stupid, this is for registers where writing to the bit clears the bit (like USBSTS)