Move firmware licenses to a LICENSES/ directory

Move the top-level firmware license texts, and the few that are not at
the top level[1], to a LICENSES/ directory, as per the FSFE's REUSE
specification[2].

This tidies up the top level of the source tree, consolidates the texts,
and is a small step towards fully automated license scanning using SPDX
tags.

Update check_whence.py so that the WHENCE can still just refer to the
filename and LICENSES/ is prepended automatically.

[1] qca/NOTICE.txt, qcom/NOTICE.txt, wfx/LICENCE.wf200
[2] https://reuse.software

Signed-off-by: Ross Burton <ross.burton@arm.com>
133 files changed
tree: 2c940b3fe9875d3cffdbc4b4a3d12d15ecca3ed7
  1. 3com/
  2. acenic/
  3. adaptec/
  4. advansys/
  5. aeonsemi/
  6. airoha/
  7. amd/
  8. amd-ucode/
  9. amdgpu/
  10. amdnpu/
  11. amdtee/
  12. amlogic/
  13. amphion/
  14. ar3k/
  15. arm/
  16. ath10k/
  17. ath11k/
  18. ath12k/
  19. ath6k/
  20. ath9k_htc/
  21. atmel/
  22. atusb/
  23. av7110/
  24. bnx2/
  25. bnx2x/
  26. brcm/
  27. cadence/
  28. carl9170fw/
  29. cavium/
  30. cirrus/
  31. cis/
  32. cnm/
  33. contrib/
  34. cpia2/
  35. cxgb3/
  36. cxgb4/
  37. cypress/
  38. dabusb/
  39. dell/
  40. dpaa2/
  41. dsp56k/
  42. e100/
  43. edgeport/
  44. emi26/
  45. emi62/
  46. ene-ub6250/
  47. ess/
  48. go7007/
  49. HP/
  50. i915/
  51. imx/
  52. inside-secure/
  53. intel/
  54. isci/
  55. ixp4xx/
  56. kaweth/
  57. keyspan/
  58. keyspan_pda/
  59. korg/
  60. LENOVO/
  61. libertas/
  62. LICENSES/
  63. liquidio/
  64. Lontium/
  65. matrox/
  66. mediatek/
  67. mellanox/
  68. meson/
  69. microchip/
  70. moxa/
  71. mrvl/
  72. mwl8k/
  73. mwlwifi/
  74. myricom/
  75. netronome/
  76. nvidia/
  77. nxp/
  78. ositech/
  79. powervr/
  80. qca/
  81. qcom/
  82. qed/
  83. qlogic/
  84. r128/
  85. radeon/
  86. realtek/
  87. rockchip/
  88. rsi/
  89. rtl_bt/
  90. rtl_nic/
  91. rtlwifi/
  92. rtw88/
  93. rtw89/
  94. sb16/
  95. sdca/
  96. slicoss/
  97. sun/
  98. sxg/
  99. tehuti/
  100. ti/
  101. ti-connectivity/
  102. ti-keystone/
  103. tigon/
  104. ttusb-budget/
  105. ueagle-atm/
  106. usbdux/
  107. vicam/
  108. vxge/
  109. wfx/
  110. xe/
  111. yam/
  112. yamaha/
  113. .codespell.cfg
  114. .editorconfig
  115. .gitignore
  116. .gitlab-ci.yml
  117. .pre-commit-config.yaml
  118. agere_ap_fw.bin
  119. agere_sta_fw.bin
  120. ar5523.bin
  121. ar7010.fw
  122. ar7010_1_1.fw
  123. ar9170-1.fw
  124. ar9170-2.fw
  125. ar9271.fw
  126. as102_data1_st.hex
  127. as102_data2_st.hex
  128. ath3k-1.fw
  129. bmi260-init-data.fw
  130. build_packages.py
  131. carl9170-1.fw
  132. cbfw-3.2.5.1.bin
  133. check_whence.py
  134. cmmb_vega_12mhz.inp
  135. cmmb_venice_12mhz.inp
  136. copy-firmware.sh
  137. cs42l43.bin
  138. ct2fw-3.2.5.1.bin
  139. ctefx.bin
  140. ctfw-3.2.5.1.bin
  141. ctspeq.bin
  142. dedup-firmware.sh
  143. Dockerfile
  144. dvb-fe-xc4000-1.4.1.fw
  145. dvb-fe-xc5000-1.6.114.fw
  146. dvb-fe-xc5000c-4.1.30.7.fw
  147. dvb-usb-dib0700-1.20.fw
  148. dvb-usb-it9135-01.fw
  149. dvb-usb-it9135-02.fw
  150. dvb-usb-terratec-h5-drxk.fw
  151. dvb_nova_12mhz.inp
  152. dvb_nova_12mhz_b0.inp
  153. f2255usb.bin
  154. hfi1_dc8051.fw
  155. hfi1_fabric.fw
  156. hfi1_pcie.fw
  157. hfi1_sbus.fw
  158. htc_7010.fw
  159. htc_9271.fw
  160. isdbt_nova_12mhz.inp
  161. isdbt_nova_12mhz_b0.inp
  162. isdbt_rio.inp
  163. lbtf_usb.bin
  164. lgs8g75.fw
  165. LICENSE
  166. Makefile
  167. mts_cdma.fw
  168. mts_edge.fw
  169. mts_gsm.fw
  170. mts_mt9234mu.fw
  171. mts_mt9234zba.fw
  172. myri10ge_eth_big_z8e.dat
  173. myri10ge_eth_z8e.dat
  174. myri10ge_ethp_big_z8e.dat
  175. myri10ge_ethp_z8e.dat
  176. myri10ge_rss_eth_big_z8e.dat
  177. myri10ge_rss_eth_z8e.dat
  178. myri10ge_rss_ethp_big_z8e.dat
  179. myri10ge_rss_ethp_z8e.dat
  180. phanfw.bin
  181. ql2100_fw.bin
  182. ql2200_fw.bin
  183. ql2300_fw.bin
  184. ql2322_fw.bin
  185. ql2400_fw.bin
  186. ql2500_fw.bin
  187. r8a779x_usb3_v1.dlmem
  188. r8a779x_usb3_v2.dlmem
  189. r8a779x_usb3_v3.dlmem
  190. rcar_gen4_pcie.bin
  191. README.md
  192. rp2.fw
  193. rsi_91x.fw
  194. rt2561.bin
  195. rt2561s.bin
  196. rt2661.bin
  197. rt2860.bin
  198. rt2870.bin
  199. rt3071.bin
  200. rt3290.bin
  201. rt73.bin
  202. s5p-mfc-v12.fw
  203. s5p-mfc-v6-v2.fw
  204. s5p-mfc-v6.fw
  205. s5p-mfc-v7.fw
  206. s5p-mfc-v8.fw
  207. s5p-mfc.fw
  208. sdd_sagrad_1091_1098.bin
  209. sms1xxx-hcw-55xxx-dvbt-02.fw
  210. sms1xxx-hcw-55xxx-isdbt-02.fw
  211. sms1xxx-nova-a-dvbt-01.fw
  212. sms1xxx-nova-b-dvbt-01.fw
  213. sms1xxx-stellar-dvbt-01.fw
  214. tdmb_nova_12mhz.inp
  215. ti_3410.fw
  216. ti_5052.fw
  217. tlg2300_firmware.bin
  218. tsse_firmware.bin
  219. usbdux_firmware.bin
  220. usbduxfast_firmware.bin
  221. usbduxsigma_firmware.bin
  222. v4l-cx231xx-avcore-01.fw
  223. v4l-cx23418-apu.fw
  224. v4l-cx23418-cpu.fw
  225. v4l-cx23418-dig.fw
  226. v4l-cx23885-avcore-01.fw
  227. v4l-cx25840.fw
  228. vntwusb.fw
  229. WHENCE
  230. whiteheat.fw
  231. whiteheat_loader.fw
  232. wil6210.brd
  233. wil6210.fw
  234. wsm_22.bin
README.md

Linux firmware

This repository contains all these firmware images which have been extracted from older drivers, as well various new firmware images which we were never permitted to include in a GPL'd work, but which we have been permitted to redistribute under separate cover.

The upstream repository is located at https://gitlab.com/kernel-firmware/linux-firmware.git.

Submitting firmware

To submit firmware to this repository, please do one of the following:

  • open a MR upstream
  • send a git binary diff to linux-firmware@kernel.org
  • send a git pull request to: linux-firmware@kernel.org

Signed-off-by requirement

All commits must include a Signed-off-by line to track the provenance of the firmware. This signature must be from someone with authority over the licensing of the firmware, typically someone from within the company that owns or controls the firmware. The Signed-off-by line serves as an attestation that the contributor has the right to submit the firmware under the specified license terms and that it can be redistributed according to those terms.

At times, a contributor may work at a location that makes it difficult to submit patches or MRs from their offical company accounts. In this case, the Signed-off-by line in the commit should still be via the company address, but the submitter can use a personal address with the company address on CC for the MR or patch contribution.

Quality

If your commit adds new firmware, it must update the WHENCE file to clearly state the license under which the firmware is available, and that it is redistributable. Being redistributable includes ensuring the firmware license provided includes an implicit or explicit patent grant to end users to ensure full functionality of device operation with the firmware. If the license is long and involved, it's permitted to include it in a separate file and refer to it from the WHENCE file (IE ‘See LICENSE.foo for details.’). And if it were possible, a changelog of the firmware itself.

To maintain consistent quality on the repository, please run the following before submitting a patch:

make check

If you don't have pre-commit installed, you can install it with:

pip install pre-commit

Your commit must contain a Signed-Off-By: from someone authoritative on the licensing of the firmware in question (i.e. from within the company that owns the code).

Warnings

  1. Don't send any CONFIDENTIALITY STATEMENT in your e-mail, patch or request. Otherwise your firmware will never be accepted.
  2. Maintainers are really busy, so don't expect a prompt reply.