<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/include/linux/bcma/bcma_driver_pci.h, branch linux-6.6.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.6.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.6.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2017-11-02T10:10:55Z</updated>
<entry>
<title>License cleanup: add SPDX GPL-2.0 license identifier to files with no license</title>
<updated>2017-11-02T10:10:55Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2017-11-01T14:07:57Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b24413180f5600bcb3bb70fbed5cf186b60864bd'/>
<id>urn:sha1:b24413180f5600bcb3bb70fbed5cf186b60864bd</id>
<content type='text'>
Many source files in the tree are missing licensing information, which
makes it harder for compliance tools to determine the correct license.

By default all files without license information are under the default
license of the kernel, which is GPL version 2.

Update the files which contain no license information with the 'GPL-2.0'
SPDX license identifier.  The SPDX identifier is a legally binding
shorthand, which can be used instead of the full boiler plate text.

This patch is based on work done by Thomas Gleixner and Kate Stewart and
Philippe Ombredanne.

How this work was done:

Patches were generated and checked against linux-4.14-rc6 for a subset of
the use cases:
 - file had no licensing information it it.
 - file was a */uapi/* one with no licensing information in it,
 - file was a */uapi/* one with existing licensing information,

Further patches will be generated in subsequent months to fix up cases
where non-standard license headers were used, and references to license
had to be inferred by heuristics based on keywords.

The analysis to determine which SPDX License Identifier to be applied to
a file was done in a spreadsheet of side by side results from of the
output of two independent scanners (ScanCode &amp; Windriver) producing SPDX
tag:value files created by Philippe Ombredanne.  Philippe prepared the
base worksheet, and did an initial spot review of a few 1000 files.

The 4.13 kernel was the starting point of the analysis with 60,537 files
assessed.  Kate Stewart did a file by file comparison of the scanner
results in the spreadsheet to determine which SPDX license identifier(s)
to be applied to the file. She confirmed any determination that was not
immediately clear with lawyers working with the Linux Foundation.

Criteria used to select files for SPDX license identifier tagging was:
 - Files considered eligible had to be source code files.
 - Make and config files were included as candidates if they contained &gt;5
   lines of source
 - File already had some variant of a license header in it (even if &lt;5
   lines).

All documentation files were explicitly excluded.

The following heuristics were used to determine which SPDX license
identifiers to apply.

 - when both scanners couldn't find any license traces, file was
   considered to have no license information in it, and the top level
   COPYING file license applied.

   For non */uapi/* files that summary was:

   SPDX license identifier                            # files
   ---------------------------------------------------|-------
   GPL-2.0                                              11139

   and resulted in the first patch in this series.

   If that file was a */uapi/* path one, it was "GPL-2.0 WITH
   Linux-syscall-note" otherwise it was "GPL-2.0".  Results of that was:

   SPDX license identifier                            # files
   ---------------------------------------------------|-------
   GPL-2.0 WITH Linux-syscall-note                        930

   and resulted in the second patch in this series.

 - if a file had some form of licensing information in it, and was one
   of the */uapi/* ones, it was denoted with the Linux-syscall-note if
   any GPL family license was found in the file or had no licensing in
   it (per prior point).  Results summary:

   SPDX license identifier                            # files
   ---------------------------------------------------|------
   GPL-2.0 WITH Linux-syscall-note                       270
   GPL-2.0+ WITH Linux-syscall-note                      169
   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause)    21
   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)    17
   LGPL-2.1+ WITH Linux-syscall-note                      15
   GPL-1.0+ WITH Linux-syscall-note                       14
   ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause)    5
   LGPL-2.0+ WITH Linux-syscall-note                       4
   LGPL-2.1 WITH Linux-syscall-note                        3
   ((GPL-2.0 WITH Linux-syscall-note) OR MIT)              3
   ((GPL-2.0 WITH Linux-syscall-note) AND MIT)             1

   and that resulted in the third patch in this series.

 - when the two scanners agreed on the detected license(s), that became
   the concluded license(s).

 - when there was disagreement between the two scanners (one detected a
   license but the other didn't, or they both detected different
   licenses) a manual inspection of the file occurred.

 - In most cases a manual inspection of the information in the file
   resulted in a clear resolution of the license that should apply (and
   which scanner probably needed to revisit its heuristics).

 - When it was not immediately clear, the license identifier was
   confirmed with lawyers working with the Linux Foundation.

 - If there was any question as to the appropriate license identifier,
   the file was flagged for further research and to be revisited later
   in time.

In total, over 70 hours of logged manual review was done on the
spreadsheet to determine the SPDX license identifiers to apply to the
source files by Kate, Philippe, Thomas and, in some cases, confirmation
by lawyers working with the Linux Foundation.

Kate also obtained a third independent scan of the 4.13 code base from
FOSSology, and compared selected files where the other two scanners
disagreed against that SPDX file, to see if there was new insights.  The
Windriver scanner is based on an older version of FOSSology in part, so
they are related.

Thomas did random spot checks in about 500 files from the spreadsheets
for the uapi headers and agreed with SPDX license identifier in the
files he inspected. For the non-uapi files Thomas did random spot checks
in about 15000 files.

In initial set of patches against 4.14-rc6, 3 files were found to have
copy/paste license identifier errors, and have been fixed to reflect the
correct identifier.

Additionally Philippe spent 10 hours this week doing a detailed manual
inspection and review of the 12,461 patched files from the initial patch
version early this week with:
 - a full scancode scan run, collecting the matched texts, detected
   license ids and scores
 - reviewing anything where there was a license detected (about 500+
   files) to ensure that the applied SPDX license was correct
 - reviewing anything where there was no detection but the patch license
   was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied
   SPDX license was correct

This produced a worksheet with 20 files needing minor correction.  This
worksheet was then exported into 3 different .csv files for the
different types of files to be modified.

These .csv files were then reviewed by Greg.  Thomas wrote a script to
parse the csv files and add the proper SPDX tag to the file, in the
format that the file expected.  This script was further refined by Greg
based on the output to detect more types of files automatically and to
distinguish between header and source .c files (which need different
comment types.)  Finally Greg ran the script using the .csv files to
generate the patches.

Reviewed-by: Kate Stewart &lt;kstewart@linuxfoundation.org&gt;
Reviewed-by: Philippe Ombredanne &lt;pombredanne@nexb.com&gt;
Reviewed-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>scripts/spelling.txt: add regsiter -&gt; register spelling mistake</title>
<updated>2017-05-09T00:15:13Z</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@codeaurora.org</email>
</author>
<published>2017-05-08T22:57:50Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ad61dd303a0f2439bb104349e2d2ec91a3010ce0'/>
<id>urn:sha1:ad61dd303a0f2439bb104349e2d2ec91a3010ce0</id>
<content type='text'>
This typo is quite common.  Fix it and add it to the spelling file so
that checkpatch catches it earlier.

Link: http://lkml.kernel.org/r/20170317011131.6881-2-sboyd@codeaurora.org
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>bcma: make calls to PCI hostmode functions config-safe</title>
<updated>2015-06-08T11:33:26Z</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-06-07T11:15:30Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a8077d6573530a91d5674a28cdedbed39c391ff0'/>
<id>urn:sha1:a8077d6573530a91d5674a28cdedbed39c391ff0</id>
<content type='text'>
Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>bcma: allow disabling (not building) PCI driver</title>
<updated>2015-03-13T14:25:50Z</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-03-05T17:25:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=982a40f5c0bb03368989a6b1ae833b474854e931'/>
<id>urn:sha1:982a40f5c0bb03368989a6b1ae833b474854e931</id>
<content type='text'>
It isn't required for bcma bus on SoCs, so provide some empty functions
and allow disabling it.

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>bcma: move PCI IRQ control function to host specific code</title>
<updated>2015-03-13T14:25:50Z</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-03-05T17:25:10Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=702131e2a393b45174be326f1dbe20b658b4f157'/>
<id>urn:sha1:702131e2a393b45174be326f1dbe20b658b4f157</id>
<content type='text'>
This function isn't really related to any bus core. It touches PCI
device config registers only, so move it to the (PCI) host file.

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>bcma: move internal function declarations to private header</title>
<updated>2015-03-05T12:11:43Z</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-03-04T13:24:52Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0a4e699a41f767dff76ca7dc1019b9ca6de3eb42'/>
<id>urn:sha1:0a4e699a41f767dff76ca7dc1019b9ca6de3eb42</id>
<content type='text'>
These functions are not exported nor used anywhere, so there is no
reason to put them in public headers.
Also drop unused bcma_chipco_(suspend|resume).

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>bcma: change IRQ control function to accept bus as an argument</title>
<updated>2015-03-02T14:59:45Z</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-02-08T16:11:48Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5b6ff664c8959d715e785b9465b042407a5d87a0'/>
<id>urn:sha1:5b6ff664c8959d715e785b9465b042407a5d87a0</id>
<content type='text'>
It doesn't operate on PCI core, but PCI host device, so there is no
point of passing core related struct.

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>bcma: add helpers bringing PCIe hosted bus up / down</title>
<updated>2015-03-02T14:59:45Z</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-02-08T16:11:47Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4186721d02b71ae943e60bbf50d3488fd5fd6adb'/>
<id>urn:sha1:4186721d02b71ae943e60bbf50d3488fd5fd6adb</id>
<content type='text'>
Bringing PCIe hosted bus up requires operating on host-related core.
Since we plan to support PCIe Gen 2 devices we should provide a helper
picking the correct one (PCIE or PCIE2).

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>bcma: add early_init function for PCIe core and move some fix into it</title>
<updated>2015-01-29T08:53:08Z</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2015-01-25T10:11:14Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b504075f5903b969a54ef3a6ae994c0872edb259'/>
<id>urn:sha1:b504075f5903b969a54ef3a6ae994c0872edb259</id>
<content type='text'>
There are some PCIe core fixes that need to be applied before accessing
SPROM, otherwise reading it may fail.

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>bcma: make bcma_core_pci_{up,down}() callable from atomic context</title>
<updated>2013-09-26T18:02:33Z</updated>
<author>
<name>Arend van Spriel</name>
<email>arend@broadcom.com</email>
</author>
<published>2013-09-25T10:11:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2bedea8f26c92e2610f2f67889144990749461e0'/>
<id>urn:sha1:2bedea8f26c92e2610f2f67889144990749461e0</id>
<content type='text'>
This patch removes the bcma_core_pci_power_save() call from
the bcma_core_pci_{up,down}() functions as it tries to schedule
thus requiring to call them from non-atomic context. The function
bcma_core_pci_power_save() is now exported so the calling module
can explicitly use it in non-atomic context. This fixes the
'scheduling while atomic' issue reported by Tod Jackson and
Joe Perches.

[   13.210710] BUG: scheduling while atomic: dhcpcd/1800/0x00000202
[   13.210718] Modules linked in: brcmsmac nouveau coretemp kvm_intel kvm cordic brcmutil bcma dell_wmi atl1c ttm mxm_wmi wmi
[   13.210756] CPU: 2 PID: 1800 Comm: dhcpcd Not tainted 3.11.0-wl #1
[   13.210762] Hardware name: Alienware M11x R2/M11x R2, BIOS A04 11/23/2010
[   13.210767]  ffff880177c92c40 ffff880170fd1948 ffffffff8169af5b 0000000000000007
[   13.210777]  ffff880170fd1ab0 ffff880170fd1958 ffffffff81697ee2 ffff880170fd19d8
[   13.210785]  ffffffff816a19f5 00000000000f4240 000000000000d080 ffff880170fd1fd8
[   13.210794] Call Trace:
[   13.210813]  [&lt;ffffffff8169af5b&gt;] dump_stack+0x4f/0x84
[   13.210826]  [&lt;ffffffff81697ee2&gt;] __schedule_bug+0x43/0x51
[   13.210837]  [&lt;ffffffff816a19f5&gt;] __schedule+0x6e5/0x810
[   13.210845]  [&lt;ffffffff816a1c34&gt;] schedule+0x24/0x70
[   13.210855]  [&lt;ffffffff816a04fc&gt;] schedule_hrtimeout_range_clock+0x10c/0x150
[   13.210867]  [&lt;ffffffff810684e0&gt;] ? update_rmtp+0x60/0x60
[   13.210877]  [&lt;ffffffff8106915f&gt;] ? hrtimer_start_range_ns+0xf/0x20
[   13.210887]  [&lt;ffffffff816a054e&gt;] schedule_hrtimeout_range+0xe/0x10
[   13.210897]  [&lt;ffffffff8104f6fb&gt;] usleep_range+0x3b/0x40
[   13.210910]  [&lt;ffffffffa00371af&gt;] bcma_pcie_mdio_set_phy.isra.3+0x4f/0x80 [bcma]
[   13.210921]  [&lt;ffffffffa003729f&gt;] bcma_pcie_mdio_write.isra.4+0xbf/0xd0 [bcma]
[   13.210932]  [&lt;ffffffffa0037498&gt;] bcma_pcie_mdio_writeread.isra.6.constprop.13+0x18/0x30 [bcma]
[   13.210942]  [&lt;ffffffffa00374ee&gt;] bcma_core_pci_power_save+0x3e/0x80 [bcma]
[   13.210953]  [&lt;ffffffffa003765d&gt;] bcma_core_pci_up+0x2d/0x60 [bcma]
[   13.210975]  [&lt;ffffffffa03dc17c&gt;] brcms_c_up+0xfc/0x430 [brcmsmac]
[   13.210989]  [&lt;ffffffffa03d1a7d&gt;] brcms_up+0x1d/0x20 [brcmsmac]
[   13.211003]  [&lt;ffffffffa03d2498&gt;] brcms_ops_start+0x298/0x340 [brcmsmac]
[   13.211020]  [&lt;ffffffff81600a12&gt;] ? cfg80211_netdev_notifier_call+0xd2/0x5f0
[   13.211030]  [&lt;ffffffff815fa53d&gt;] ? packet_notifier+0xad/0x1d0
[   13.211064]  [&lt;ffffffff81656e75&gt;] ieee80211_do_open+0x325/0xf80
[   13.211076]  [&lt;ffffffff8106ac09&gt;] ? __raw_notifier_call_chain+0x9/0x10
[   13.211086]  [&lt;ffffffff81657b41&gt;] ieee80211_open+0x71/0x80
[   13.211101]  [&lt;ffffffff81526267&gt;] __dev_open+0x87/0xe0
[   13.211109]  [&lt;ffffffff8152650c&gt;] __dev_change_flags+0x9c/0x180
[   13.211117]  [&lt;ffffffff815266a3&gt;] dev_change_flags+0x23/0x70
[   13.211127]  [&lt;ffffffff8158cd68&gt;] devinet_ioctl+0x5b8/0x6a0
[   13.211136]  [&lt;ffffffff8158d5c5&gt;] inet_ioctl+0x75/0x90
[   13.211147]  [&lt;ffffffff8150b38b&gt;] sock_do_ioctl+0x2b/0x70
[   13.211155]  [&lt;ffffffff8150b681&gt;] sock_ioctl+0x71/0x2a0
[   13.211169]  [&lt;ffffffff8114ed47&gt;] do_vfs_ioctl+0x87/0x520
[   13.211180]  [&lt;ffffffff8113f159&gt;] ? ____fput+0x9/0x10
[   13.211198]  [&lt;ffffffff8106228c&gt;] ? task_work_run+0x9c/0xd0
[   13.211202]  [&lt;ffffffff8114f271&gt;] SyS_ioctl+0x91/0xb0
[   13.211208]  [&lt;ffffffff816aa252&gt;] system_call_fastpath+0x16/0x1b
[   13.211217] NOHZ: local_softirq_pending 202

The issue was introduced in v3.11 kernel by following commit:

commit aa51e598d04c6acf5477934cd6383f5a17ce9029
Author: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
Date:   Sat Aug 24 00:32:31 2013 +0200

    brcmsmac: use bcma PCIe up and down functions

    replace the calls to bcma_core_pci_extend_L1timer() by calls to the
    newly introduced bcma_core_pci_ip() and bcma_core_pci_down()

    Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
    Cc: Arend van Spriel &lt;arend@broadcom.com&gt;
    Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;

This fix has been discussed with Hauke Mehrtens [1] selection
option 3) and is intended for v3.12.

Ref:
[1] http://mid.gmane.org/5239B12D.3040206@hauke-m.de

Cc: &lt;stable@vger.kernel.org&gt; # 3.11.x
Cc: Tod Jackson &lt;tod.jackson@gmail.com&gt;
Cc: Joe Perches &lt;joe@perches.com&gt;
Cc: Rafal Milecki &lt;zajec5@gmail.com&gt;
Cc: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
Reviewed-by: Hante Meuleman &lt;meuleman@broadcom.com&gt;
Signed-off-by: Arend van Spriel &lt;arend@broadcom.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
</feed>
