Re: linux-next: Tree for Jun 13 (drivers/soc/qcom/Kconfig)

From: Randy Dunlap
Date: Thu Jun 13 2019 - 16:17:59 EST


On 6/13/19 11:27 AM, Rafael J. Wysocki wrote:
> On Thursday, June 13, 2019 6:12:43 PM CEST Randy Dunlap wrote:
>> This is a multi-part message in MIME format.
>> --------------D4992319A3EA7FFA5EF515C6
>> Content-Type: text/plain; charset=windows-1252
>> Content-Transfer-Encoding: 8bit
>>
>> On 6/13/19 2:30 AM, Stephen Rothwell wrote:
>>> Hi all,
>>>
>>> Changes since 20190612:
>>>
>>
>>
>> on x86_64:
>>
>> ../drivers/base/power/domain.c: In function ïgenpd_queue_power_off_workï:
>> ../drivers/base/power/domain.c:485:13: error: ïpm_wqï undeclared (first use in this function)
>> queue_work(pm_wq, &genpd->power_off_work);
>> ^
>> ../drivers/base/power/domain.c:485:13: note: each undeclared identifier is reported only once for each function it appears in
>> ../drivers/base/power/domain.c: In function ïgenpd_dev_pm_qos_notifierï:
>> ../drivers/base/power/domain.c:675:25: error: ïstruct dev_pm_infoï has no member named ïignore_childrenï
>> if (!dev || dev->power.ignore_children)
>> ^
>> ../drivers/base/power/domain.c: In function ïrtpm_status_strï:
>> ../drivers/base/power/domain.c:2754:16: error: ïstruct dev_pm_infoï has no member named ïruntime_errorï
>> if (dev->power.runtime_error)
>> ^
>> ../drivers/base/power/domain.c:2756:21: error: ïstruct dev_pm_infoï has no member named ïdisable_depthï
>> else if (dev->power.disable_depth)
>> ^
>> ../drivers/base/power/domain.c:2758:21: error: ïstruct dev_pm_infoï has no member named ïruntime_statusï
>> else if (dev->power.runtime_status < ARRAY_SIZE(status_lookup))
>> ^
>> ../drivers/base/power/domain.c:2759:31: error: ïstruct dev_pm_infoï has no member named ïruntime_statusï
>> p = status_lookup[dev->power.runtime_status];
>> ^
>>
>>
>> Full randconfig file is attached.
>
> PM_GENERIC_DOMAINS, which is set, depend on PM, which is not set.

Thanks for that. (I changed the subject to indicate the errant entity.)

> Looks like an impossible configuration to me.

It's what happens when a driver selects PM_GENERIC_DOMAINS when PM is not set/enabled.

>From drivers/soc/qcom/Kconfig:

config QCOM_AOSS_QMP
tristate "Qualcomm AOSS Driver"
depends on ARCH_QCOM || COMPILE_TEST
depends on MAILBOX
depends on COMMON_CLK
select PM_GENERIC_DOMAINS

In my test case, COMPILE_TEST=y. ARCH_QCOM is not set.

And kconfig does warn:

WARNING: unmet direct dependencies detected for PM_GENERIC_DOMAINS
Depends on [n]: PM [=n]
Selected by [m]:
- QCOM_AOSS_QMP [=m] && (ARCH_QCOM || COMPILE_TEST [=y]) && MAILBOX [=y] && COMMON_CLK [=y]


Who is responsible for that Kconfig segment?
Ah, Bjorn. Cc-ed.

--
~Randy