Linux kernel source tree
Go to file
Saravana Kannan 7fa339532a FROMGIT: of/platform: Pause/resume sync state during init and of_platform_populate()
When all the top level devices are populated from DT during kernel
init, the supplier devices could be added and probed before the
consumer devices are added and linked to the suppliers. To avoid the
sync_state() callback from being called prematurely, pause the
sync_state() callbacks before populating the devices and resume them
at late_initcall_sync().

Similarly, when children devices are populated from a module using
of_platform_populate(), there could be supplier-consumer dependencies
between the children devices that are populated. To avoid the same
problem with sync_state() being called prematurely, pause and resume
sync_state() callbacks across of_platform_populate().

Signed-off-by: Saravana Kannan <saravanak@google.com>
Link: https://lore.kernel.org/r/20190904211126.47518-6-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

(cherry-picked from commit 5e6669387e
 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git driver-core-next)

Bug: 141703324
Change-Id: Ia43ebbc9071d4d6a59b347ccae99fcf0ab192269
2019-10-07 18:44:46 -07:00
arch Linux 5.4-rc2 2019-10-07 07:09:37 +02:00
block block: sed-opal: fix sparse warning: convert __be64 data 2019-10-03 14:21:32 -06:00
certs PKCS#7: Refactor verify_pkcs7_signature() 2019-08-05 18:40:18 -04:00
crypto Merge branch 'next-lockdown' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2019-09-28 08:14:15 -07:00
Documentation FROMGIT: of: property: Add functional dependency link from DT bindings 2019-10-07 18:44:10 -07:00
drivers FROMGIT: of/platform: Pause/resume sync state during init and of_platform_populate() 2019-10-07 18:44:46 -07:00
fs Linux 5.4-rc2 2019-10-07 07:09:37 +02:00
include FROMGIT: driver core: Add sync_state driver/bus callback 2019-10-07 18:44:23 -07:00
init Linux 5.4-rc1 2019-10-02 19:10:07 +02:00
ipc Merge 5.4-rc1-prelrease into android-mainline 2019-10-02 17:58:47 +02:00
kernel Linux 5.4-rc2 2019-10-07 07:09:37 +02:00
lib Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-10-05 08:50:15 -07:00
LICENSES LICENSES: Rename other to deprecated 2019-05-03 06:34:32 -06:00
mm Linux 5.4-rc1 2019-10-02 19:10:07 +02:00
net Linux 5.4-rc2 2019-10-07 07:09:37 +02:00
samples rpmsg updates for v5.4 2019-09-22 10:58:15 -07:00
scripts Linux 5.4-rc2 2019-10-07 07:09:37 +02:00
security Linux 5.4-rc2 2019-10-07 07:09:37 +02:00
sound sound fixes for 5.4-rc1 2019-09-24 16:46:16 -07:00
tools Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-10-05 08:50:15 -07:00
usr kbuild: update compile-test header list for v5.4-rc2 2019-10-05 15:29:49 +09:00
virt KVM/arm fixes for 5.4, take #1 2019-10-03 12:08:50 +02:00
.clang-format clang-format: Update with the latest for_each macro list 2019-08-31 10:00:51 +02:00
.cocciconfig
.get_maintainer.ignore Opt out of scripts/get_maintainer.pl 2019-05-16 10:53:40 -07:00
.gitattributes
.gitignore Modules updates for v5.4 2019-09-22 10:34:46 -07:00
.mailmap Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2019-09-18 12:34:53 -07:00
abi_gki_aarch64.xml Update ABI definition after libabigail upgrade 2019-09-22 10:51:50 +01:00
build.config.aarch64 ANDROID: refactor build.config files to remove duplication 2019-08-30 14:55:29 +01:00
build.config.allmodconfig ANDROID: Fix arm64 allmodconfig build 2019-10-02 14:10:09 +01:00
build.config.allmodconfig.aarch64 ANDROID: create build.configs for allmodconfig 2019-09-04 15:49:40 +00:00
build.config.allmodconfig.x86_64 ANDROID: create build.configs for allmodconfig 2019-09-04 15:49:40 +00:00
build.config.common ANDROID: refactor build.config files to remove duplication 2019-08-30 14:55:29 +01:00
build.config.gki ANDROID: refactor build.config files to remove duplication 2019-08-30 14:55:29 +01:00
build.config.gki.aarch64 ANDROID: refactor build.config files to remove duplication 2019-08-30 14:55:29 +01:00
build.config.gki.x86_64 ANDROID: refactor build.config files to remove duplication 2019-08-30 14:55:29 +01:00
build.config.x86_64 ANDROID: refactor build.config files to remove duplication 2019-08-30 14:55:29 +01:00
COPYING COPYING: use the new text with points to the license files 2018-03-23 12:41:45 -06:00
CREDITS CREDITS: Update email address 2019-09-13 17:21:38 +03:00
Kbuild kbuild: do not descend to ./Kbuild when cleaning 2019-08-21 21:03:58 +09:00
Kconfig docs: kbuild: convert docs to ReST and rename to *.rst 2019-06-14 14:21:21 -06:00
MAINTAINERS kgdb patches for 5.4-rc2 2019-10-03 11:17:57 -07:00
Makefile Linux 5.4-rc2 2019-10-07 07:09:37 +02:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.