Tim's Kernel Issue List

From eLinux.org
Jump to: navigation, search

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

easy, high-priority

medium, low-priority

  • 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:
[    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

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)

medium, high priority

hard, low-priority

hard, medium-priority

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)