This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lkmp:lkmp_task_list [2019/09/21 01:28] ShuahKhanLF |
lkmp:lkmp_task_list [2020/01/07 20:05] (current) BjornHelgaas |
||
---|---|---|---|
Line 3: | Line 3: | ||
==== Documentation conversion and updates ==== | ==== Documentation conversion and updates ==== | ||
- | The following directories have several .txt file. Please pick 2 files and convert to ReST. There are a few exceptions that should be kept as plain text files. | + | The following directories have several .txt files. Please pick two files and convert to ReST. There are a few exceptions that should be kept as plain text files: |
* a configuration file whose extension is .txt; | * a configuration file whose extension is .txt; | ||
- | * a dump of chapter extracted from an old arch-specific manual with seems to be provided by its manufacturer. | + | * a dump of chapter extracted from an old arch-specific manual which seems to be provided by its manufacturer. |
**Preparing to build the documentation:** | **Preparing to build the documentation:** | ||
- | There's a script with checks if you have all needed dependencies to build the documentation. It is called automatically when you run ''make htmldocs''. Alternatively, you can call the script directly with: | + | There's a script that checks if you have all needed dependencies to build the documentation. It is called automatically when you run ''make htmldocs''. Alternatively, you can call the script directly with: |
<code> | <code> | ||
Line 16: | Line 16: | ||
</code> | </code> | ||
- | **Building docs and looking for warns:** | + | **Building docs and looking for warnings:** |
Once you have all the requirements, you can do the building with: | Once you have all the requirements, you can do the building with: | ||
Line 24: | Line 24: | ||
</code> | </code> | ||
- | And check the warnings with: | + | And check the warnings with the following script. |
<code> | <code> | ||
#!/bin/bash | #!/bin/bash | ||
+ | # | ||
+ | # SPDX-License-Identifier: GPL-2.0 | ||
# | # | ||
# Copyright(c) Shuah Khan <skhan@linuxfoundation.org> | # Copyright(c) Shuah Khan <skhan@linuxfoundation.org> | ||
Line 49: | Line 51: | ||
==== Documentation build warn tasks (generated on Linux 5.3.0) ==== | ==== Documentation build warn tasks (generated on Linux 5.3.0) ==== | ||
+ | **Before starting work on a task, please check the archive first to see if a patch is already in progress. Please avoid duplicated efforts. [[https://lists.linuxfoundation.org/pipermail/linux-kernel-mentees/|Liunx Kernel Mentees Archive]]. Send email to the list informing others that you are working on the task.** | ||
+ | |||
+ | |||
| **Task** | **Description** | **Owner** | **Status** | **Commit ID** | | | **Task** | **Description** | **Owner** | **Status** | **Commit ID** | | ||
| lib/genalloc.c | Fix warns | | | | | | lib/genalloc.c | Fix warns | | | | | ||
Line 108: | Line 113: | ||
| Documentation/gpu/drm-internals.rst | Fix warns | | | | | | Documentation/gpu/drm-internals.rst | Fix warns | | | | | ||
- | ==== hrtimer_forward_now() return value is u64 ==== | ||
- | |||
- | Callers of hrtimer_forward_now() should save the return value in u64. A few callers don't. Fix them. | ||
- | |||
- | ^ ^ ^ | ||
- | | **Name** | **Description** | **File** | **Status** | | ||
- | | cx88_ir_work() | missed is unsigned long | drivers/media/pci/cx88/cx88-input.c | Open | | ||
- | | rtc_pie_update_irq() | count is int | drivers/rtc/interface.c | Open | | ||
- | | sched_cfs_period_timer() | overrun is int | kernel/sched/fair.c | Open | | ||
- | | sched_rt_period_timer() | overrun is int | kernel/sched/rt.c | Open | | ||
- | |||
- | ==== Cleanup cppcheck errors ==== | ||
- | |||
- | **Shifting signed 32-bit value by 31 bits is undefined behaviour errors** | ||
- | |||
- | These errors aren't real problems for us as compiler takes care of these. However, cleaning these up doesn't hurt, especially in public API headers. Some maintainers might like drivers fixed, on the other hand fixing public API headers first is a good idea. There are two ways to fix this: | ||
- | |||
- | * Change #define FOO (1 << 31) to #define FOO BIT(31) or | ||
- | * Adding a "U" cast - changing (1 << 31) to (1U << 31) | ||
- | |||
- | cd git_repo_dir | ||
- | |||
- | cppcheck --force ./ > cppcheck.out 2>&1 | ||
- | |||
- | You can run cppcheck on one or more files by passing a list of files: | ||
- | cppcheck --file-list=files | ||
- | |||
- | Grep for "Shifting signed 32-bit value by 31 bits is undefined behaviour" errors | ||
- | |||
- | You can refer to the one I generated on [[https://drive.google.com/file/d/19Xu7UqBGJ7BpzxEp92ZQYb6F8UPrk3z3/view?usp=sharing|Linux 5.2-rc3 cppcheck 32-bit log]] | ||
- | |||
- | [[https://drive.google.com/file/d/1EbBsyLNh9nQuB_z4JbkyxDsXqItSpNo4/view?usp=sharing|Linux 5.2-rc3 cppcheck full log]] | ||
- | |||
- | **Defines in public headers - include/** | ||
- | ^ ^ ^ | ||
- | | **File** | **Define** | **Status** | | ||
- | |||
- | | uapi/linux/cramfs_fs.h | CRAMFS_BLK_FLAG_UNCOMPRESSED | Patch sent | | ||
- | | uapi/linux/ethtool.h | RXH_DISCARD | Patch sent | | ||
- | | uapi/linux/if_packet.h | TP_STATUS_TS_RAW_HARDWARE | Fixed | | ||
- | | uapi/linux/kfd_ioctl.h | KFD_IOC_ALLOC_MEM_FLAGS_WRITABLE | Patch sent | | ||
- | | uapi/linux/media.h | MEDIA_ID_FLAG_NEXT | Fixed [[https://lore.kernel.org/linux-media/20190613005620.7362-1-skhan@linuxfoundation.org/T/#u|Patch Sent - use as reference]] | | ||
- | | uapi/linux/nl80211.h | NL80211_FEATURE_ND_RANDOM_MAC_ADDR | Patch sent | | ||
- | | uapi/linux/vfio.h | VFIO_REGION_TYPE_PCI_VENDOR_TYPE | Open | | ||
- | | linux/videodev2.h | v4l2_fourcc_be | Fixed [[https://lore.kernel.org/linux-media/20190613005652.7423-1-skhan@linuxfoundation.org/T/#u|Patch sent - use as reference]] | | ||
- | | uapi/drm/exynos_drm.h| G2D_BUF_USERPTR | Open | | ||
- | | uapi/rdma/vmw_pvrdma-abi.h | PVRDMA_UAR_QP_RECV | Open | | ||
- | | uapi/rdma/vmw_pvrdma-abi.h | PVRDMA_UAR_CQ_POLL | Open | | ||
- | | linux/ata.h | ATA_PRD_EOT | Open | | ||
- | | linux/cs5535.h | CS5536_GPIOM7_PME_FLAG | Open | | ||
- | | linux/cs5535.h | CS5536_GPIOM7_PME_EN | Open | | ||
- | | linux/ide.h | IDE_DFLAG_NIEN_QUIRK | Open | | ||
- | | linux/ide.h | IDE_HFLAG_NO_UNMASK_IRQS | Open | | ||
- | | linux/pxa2xx_ssp.h | SSCR0_MOD | Open | | ||
- | | linux/pxa2xx_ssp.h | SSCR1_TTELP | Open | | ||
- | | linux/rtsx_pci.h | TRIG_DMA | Open | | ||
- | | linux/rtsx_pci.h | HAIMR_TRANS_START | Open | | ||
- | | linux/rtsx_pci.h | CMD_DONE_INT | Open | | ||
- | | linux/rtsx_pci.h | CMD_DONE_INT_EN | Open | | ||
- | | linux/serial_core.h | UPF_IOREMAP | Open | | ||
- | | media/dvb_frontend.h | DVBFE_ALGO_RECOVERY | Open | | ||
- | | media/dvb_frontend.h | DVBFE_ALGO_SEARCH_ERROR | Open | | ||
- | | net/dst.h | DST_FEATURE_ECN_CA (1 << 31) | Fixed | | ||
- | | net/gue.h | GUE_PFLAG_REMCSUM | Fixed | | ||
- | | rdma/ib_verbs.h | IB_QP_CREATE_RESERVED_END | Open | | ||
- | | rdma/ib_verbs.h | IB_SEND_RESERVED_END | Open | | ||
- | | video/atmel_lcdc.h | ATMEL_LCDC_MEMOR | Open | | ||
- | | video/atmel_lcdc.h | ATMEL_LCDC_MEMOR_LITTLE | Open | | ||
- | | video/pm3fb.h | PM3PixelSize_INDIVIDUAL | Open | | ||
- | | video/pm3fb.h | PM3Render2D_TextureEnable | Open | | ||
- | | video/radeon.h | RB2D_DC_BUSY | Open | | ||
- | | video/radeon.h | HORZ_AUTO_RATIO_INC | Open | | ||
- | |||
- | |||
- | **Uninitialized variable errors/warns** | ||
- | Grep for Uninitialized variable errors and send fixes in. Make sure the error is real and not a false. Check to see if it is used before initializing. | ||