IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
- add the pwrseq core framework
- add the first power sequencing driver: pwrseq-qcom-wcn
- add power control (pwrctl) changes to PCI core
- add the first PCI pwrctl power sequencing driver
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEFp3rbAvDxGAT0sefEacuoBRx13IFAmaQ72wACgkQEacuoBRx
13K4fg//Qd8vxOH06/VSJRCwEvilUfYgDe/WiqTcBXL+8cK/3B0fUhfD83wgMnJn
/yw2GgS5OjAvYe47nvM4T5M/XMpQ967XTED9cXxJWpBwcee+LZ6hsBGlPuSRunpo
DQ4EuDh8wQ4j8Gw5pXj7dgtCN7zx4Idj+amh9i2ep+/7ZqT9UFqe294Tq9pX0X+a
rhOrTooQo4uiwpSAh6k1db3o1VpVDhlx+m2CCQV6V5F3r7eiPv2tQE2B8GvlJlY/
KjGECsbxKMch6dtKQumRnn3R07v1b3SlQOQOSP99blNv8dfDBOKS0dFPI4se2n2b
FvKCtmfC9QD9MPvTFKGSIZTTLMInfGpniLyxMD3Ubu+l26AA7eLpv4BICExFo71c
5gM/Xm8ypsrW7WadhAsl0mNS1CpbFZ2jNTBtuBrP5AFTMOvPqmYbN0VjRgYbX0Yw
qXyu540iP8t8c0eTqRyrabhXFEehTso5cJGqtKvIARuoK1rF+wOPxTBU+RHjJWg/
xp7ckCGP+VymcD1xNGpHPweHxwu0z2RMI4zYg2i6WOjWz6FY/V2x1Pf3PGlXF7pq
yaTMqK5tiGizCF2/RNFGDFQ8re0qtZfh6/mNtT45GGbUBaYltPGQFdFhsaI6rwEi
LMO7M387u0fPJlS0/ib8I+S5ZfKo65xjC/jQSuUL8WfQf85Ck9k=
=rI5g
-----END PGP SIGNATURE-----
Merge tag 'pwrseq-updates-for-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux
Pull power sequencing updates from Bartosz Golaszewski:
"This has been in development since last year's Linux Plumbers
Conference and was inspired by the need to enable support upstream for
Bluetooth/WLAN chips on Qualcomm platforms.
The main problem we're fixing is powering up devices which are
represented as separate objects in the kernel (binding to different
drivers) but which share parts of the power-up sequence and thus need
some kind of a mediator who knows the possible interactions and can
assure they don't interfere with neither device's bring up. An example
of such an inter-driver interaction is the WCN family of BT/WLAN chips
from Qualcomm of which some models require the user to observe a
certain delay between driving the bt-enable and wlan-enable GPIOs.
This is not a new problem but up to this point all attempts at
addressing it ended up hitting one wall or another and being dropped.
The main obstacle was the fact that most these attempts tried to
introduce the concept of a "power sequence" into the device-tree
bindings which breaks the main DT rule: describe the hardware, not its
behavior. The solution I proposed focuses on making the power
sequencer drivers interpret the actual HW description flexibly. More
details on that are in the linked cover letter.
The second problem fixed here is powering up PCI devices before they
are detected on the bus. This is achieved by creating special platform
devices for device-tree nodes describing hard-wired PCI devices which
bind to the so-called PCI power control drivers which enable required
resources and trigger a bus rescan once the controlled device is up
then setup the correct devlink hierarchy for power-management.
By combining the two new frameworks we implemented the power
sequencing PCI power control driver which is capable of powering up
the WLAN modules of the QCom WCN family of chipsets.
All this has spent a significant amount of time in linux-next and
enabled WLAN/BT support on several Qualcomm platforms. To further
prove that this is useful and needed: right after this was picked up
into next, I was sent a series using the subsystem for a similar
use-case on Amlogic platforms.
This contains the core power sequencing framework, the first driver,
PCI changes using the pwrseq library (blessed by Bjorn Helgaas) and
some fixes that came later"
* tag 'pwrseq-updates-for-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
PCI/pwrctl: only call of_platform_populate() if CONFIG_OF is enabled
power: sequencing: simplify returning pointer without cleanup
PCI/pwrctl: Add a PCI power control driver for power sequenced devices
PCI/pwrctl: Add PCI power control core code
PCI/pwrctl: Create platform devices for child OF nodes of the port node
PCI/pwrctl: Reuse the OF node for power controlled devices
PCI: Hold the rescan mutex when scanning for the first time
power: pwrseq: add a driver for the PMU module on the QCom WCN chipsets
power: sequencing: implement the pwrseq core