* drivers/firmware/arm_scmi/scmi_pm_domain.c:40 scmi_pd_power() error: uninitialized symbol 'ret_state'.
@ 2021-12-08 11:19 kernel test robot
2021-12-08 12:34 ` Dan Carpenter
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2021-12-08 11:19 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 10500 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Arnd Bergmann <arnd@arndb.de>
CC: Bjorn Andersson <bjorn.andersson@linaro.org>
CC: Charles Keepax <ckeepax@opensource.cirrus.com>
CC: Mark Brown <broonie@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 2a987e65025e2b79c6d453b78cb5985ac6e5eb26
commit: 951cd3a0866d29cb9c01ebc1d9c17590e598226e firmware: include drivers/firmware/Kconfig unconditionally
date: 9 weeks ago
:::::: branch date: 12 hours ago
:::::: commit date: 9 weeks ago
config: arc-randconfig-m031-20211208 (https://download.01.org/0day-ci/archive/20211208/202112081921.SnWPhJS3-lkp(a)intel.com/config)
compiler: arc-elf-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/firmware/arm_scmi/scmi_pm_domain.c:40 scmi_pd_power() error: uninitialized symbol 'ret_state'.
drivers/firmware/arm_scmi/scmi_pm_domain.c:95 scmi_pm_domain_probe() error: uninitialized symbol 'ph'.
vim +/ret_state +40 drivers/firmware/arm_scmi/scmi_pm_domain.c
898216c97ed2eb Sudeep Holla 2017-06-14 25
898216c97ed2eb Sudeep Holla 2017-06-14 26 static int scmi_pd_power(struct generic_pm_domain *domain, bool power_on)
898216c97ed2eb Sudeep Holla 2017-06-14 27 {
898216c97ed2eb Sudeep Holla 2017-06-14 28 int ret;
898216c97ed2eb Sudeep Holla 2017-06-14 29 u32 state, ret_state;
898216c97ed2eb Sudeep Holla 2017-06-14 30 struct scmi_pm_domain *pd = to_scmi_pd(domain);
898216c97ed2eb Sudeep Holla 2017-06-14 31
898216c97ed2eb Sudeep Holla 2017-06-14 32 if (power_on)
898216c97ed2eb Sudeep Holla 2017-06-14 33 state = SCMI_POWER_STATE_GENERIC_ON;
898216c97ed2eb Sudeep Holla 2017-06-14 34 else
898216c97ed2eb Sudeep Holla 2017-06-14 35 state = SCMI_POWER_STATE_GENERIC_OFF;
898216c97ed2eb Sudeep Holla 2017-06-14 36
26f19496a9764c Cristian Marussi 2021-03-16 37 ret = power_ops->state_set(pd->ph, pd->domain, state);
898216c97ed2eb Sudeep Holla 2017-06-14 38 if (!ret)
26f19496a9764c Cristian Marussi 2021-03-16 39 ret = power_ops->state_get(pd->ph, pd->domain, &ret_state);
898216c97ed2eb Sudeep Holla 2017-06-14 @40 if (!ret && state != ret_state)
898216c97ed2eb Sudeep Holla 2017-06-14 41 return -EIO;
898216c97ed2eb Sudeep Holla 2017-06-14 42
898216c97ed2eb Sudeep Holla 2017-06-14 43 return ret;
898216c97ed2eb Sudeep Holla 2017-06-14 44 }
898216c97ed2eb Sudeep Holla 2017-06-14 45
898216c97ed2eb Sudeep Holla 2017-06-14 46 static int scmi_pd_power_on(struct generic_pm_domain *domain)
898216c97ed2eb Sudeep Holla 2017-06-14 47 {
898216c97ed2eb Sudeep Holla 2017-06-14 48 return scmi_pd_power(domain, true);
898216c97ed2eb Sudeep Holla 2017-06-14 49 }
898216c97ed2eb Sudeep Holla 2017-06-14 50
898216c97ed2eb Sudeep Holla 2017-06-14 51 static int scmi_pd_power_off(struct generic_pm_domain *domain)
898216c97ed2eb Sudeep Holla 2017-06-14 52 {
898216c97ed2eb Sudeep Holla 2017-06-14 53 return scmi_pd_power(domain, false);
898216c97ed2eb Sudeep Holla 2017-06-14 54 }
898216c97ed2eb Sudeep Holla 2017-06-14 55
a3b884cef8730c Nicolas Pitre 2021-05-07 56 static int scmi_pd_attach_dev(struct generic_pm_domain *pd, struct device *dev)
a3b884cef8730c Nicolas Pitre 2021-05-07 57 {
a3b884cef8730c Nicolas Pitre 2021-05-07 58 int ret;
a3b884cef8730c Nicolas Pitre 2021-05-07 59
a3b884cef8730c Nicolas Pitre 2021-05-07 60 ret = pm_clk_create(dev);
a3b884cef8730c Nicolas Pitre 2021-05-07 61 if (ret)
a3b884cef8730c Nicolas Pitre 2021-05-07 62 return ret;
a3b884cef8730c Nicolas Pitre 2021-05-07 63
a3b884cef8730c Nicolas Pitre 2021-05-07 64 ret = of_pm_clk_add_clks(dev);
a3b884cef8730c Nicolas Pitre 2021-05-07 65 if (ret >= 0)
a3b884cef8730c Nicolas Pitre 2021-05-07 66 return 0;
a3b884cef8730c Nicolas Pitre 2021-05-07 67
a3b884cef8730c Nicolas Pitre 2021-05-07 68 pm_clk_destroy(dev);
a3b884cef8730c Nicolas Pitre 2021-05-07 69 return ret;
a3b884cef8730c Nicolas Pitre 2021-05-07 70 }
a3b884cef8730c Nicolas Pitre 2021-05-07 71
a3b884cef8730c Nicolas Pitre 2021-05-07 72 static void scmi_pd_detach_dev(struct generic_pm_domain *pd, struct device *dev)
a3b884cef8730c Nicolas Pitre 2021-05-07 73 {
a3b884cef8730c Nicolas Pitre 2021-05-07 74 pm_clk_destroy(dev);
a3b884cef8730c Nicolas Pitre 2021-05-07 75 }
a3b884cef8730c Nicolas Pitre 2021-05-07 76
898216c97ed2eb Sudeep Holla 2017-06-14 77 static int scmi_pm_domain_probe(struct scmi_device *sdev)
898216c97ed2eb Sudeep Holla 2017-06-14 78 {
898216c97ed2eb Sudeep Holla 2017-06-14 79 int num_domains, i;
898216c97ed2eb Sudeep Holla 2017-06-14 80 struct device *dev = &sdev->dev;
898216c97ed2eb Sudeep Holla 2017-06-14 81 struct device_node *np = dev->of_node;
898216c97ed2eb Sudeep Holla 2017-06-14 82 struct scmi_pm_domain *scmi_pd;
898216c97ed2eb Sudeep Holla 2017-06-14 83 struct genpd_onecell_data *scmi_pd_data;
898216c97ed2eb Sudeep Holla 2017-06-14 84 struct generic_pm_domain **domains;
898216c97ed2eb Sudeep Holla 2017-06-14 85 const struct scmi_handle *handle = sdev->handle;
26f19496a9764c Cristian Marussi 2021-03-16 86 struct scmi_protocol_handle *ph;
898216c97ed2eb Sudeep Holla 2017-06-14 87
26f19496a9764c Cristian Marussi 2021-03-16 88 if (!handle)
898216c97ed2eb Sudeep Holla 2017-06-14 89 return -ENODEV;
898216c97ed2eb Sudeep Holla 2017-06-14 90
26f19496a9764c Cristian Marussi 2021-03-16 91 power_ops = handle->devm_protocol_get(sdev, SCMI_PROTOCOL_POWER, &ph);
26f19496a9764c Cristian Marussi 2021-03-16 92 if (IS_ERR(power_ops))
26f19496a9764c Cristian Marussi 2021-03-16 93 return PTR_ERR(power_ops);
26f19496a9764c Cristian Marussi 2021-03-16 94
26f19496a9764c Cristian Marussi 2021-03-16 @95 num_domains = power_ops->num_domains_get(ph);
898216c97ed2eb Sudeep Holla 2017-06-14 96 if (num_domains < 0) {
898216c97ed2eb Sudeep Holla 2017-06-14 97 dev_err(dev, "number of domains not found\n");
898216c97ed2eb Sudeep Holla 2017-06-14 98 return num_domains;
898216c97ed2eb Sudeep Holla 2017-06-14 99 }
898216c97ed2eb Sudeep Holla 2017-06-14 100
898216c97ed2eb Sudeep Holla 2017-06-14 101 scmi_pd = devm_kcalloc(dev, num_domains, sizeof(*scmi_pd), GFP_KERNEL);
898216c97ed2eb Sudeep Holla 2017-06-14 102 if (!scmi_pd)
898216c97ed2eb Sudeep Holla 2017-06-14 103 return -ENOMEM;
898216c97ed2eb Sudeep Holla 2017-06-14 104
898216c97ed2eb Sudeep Holla 2017-06-14 105 scmi_pd_data = devm_kzalloc(dev, sizeof(*scmi_pd_data), GFP_KERNEL);
898216c97ed2eb Sudeep Holla 2017-06-14 106 if (!scmi_pd_data)
898216c97ed2eb Sudeep Holla 2017-06-14 107 return -ENOMEM;
898216c97ed2eb Sudeep Holla 2017-06-14 108
898216c97ed2eb Sudeep Holla 2017-06-14 109 domains = devm_kcalloc(dev, num_domains, sizeof(*domains), GFP_KERNEL);
898216c97ed2eb Sudeep Holla 2017-06-14 110 if (!domains)
898216c97ed2eb Sudeep Holla 2017-06-14 111 return -ENOMEM;
898216c97ed2eb Sudeep Holla 2017-06-14 112
898216c97ed2eb Sudeep Holla 2017-06-14 113 for (i = 0; i < num_domains; i++, scmi_pd++) {
898216c97ed2eb Sudeep Holla 2017-06-14 114 u32 state;
898216c97ed2eb Sudeep Holla 2017-06-14 115
26f19496a9764c Cristian Marussi 2021-03-16 116 if (power_ops->state_get(ph, i, &state)) {
e0f1a30cf18482 Cristian Marussi 2020-06-19 117 dev_warn(dev, "failed to get state for domain %d\n", i);
e0f1a30cf18482 Cristian Marussi 2020-06-19 118 continue;
e0f1a30cf18482 Cristian Marussi 2020-06-19 119 }
898216c97ed2eb Sudeep Holla 2017-06-14 120
898216c97ed2eb Sudeep Holla 2017-06-14 121 scmi_pd->domain = i;
26f19496a9764c Cristian Marussi 2021-03-16 122 scmi_pd->ph = ph;
26f19496a9764c Cristian Marussi 2021-03-16 123 scmi_pd->name = power_ops->name_get(ph, i);
898216c97ed2eb Sudeep Holla 2017-06-14 124 scmi_pd->genpd.name = scmi_pd->name;
898216c97ed2eb Sudeep Holla 2017-06-14 125 scmi_pd->genpd.power_off = scmi_pd_power_off;
898216c97ed2eb Sudeep Holla 2017-06-14 126 scmi_pd->genpd.power_on = scmi_pd_power_on;
a3b884cef8730c Nicolas Pitre 2021-05-07 127 scmi_pd->genpd.attach_dev = scmi_pd_attach_dev;
a3b884cef8730c Nicolas Pitre 2021-05-07 128 scmi_pd->genpd.detach_dev = scmi_pd_detach_dev;
a3b884cef8730c Nicolas Pitre 2021-05-07 129 scmi_pd->genpd.flags = GENPD_FLAG_PM_CLK |
a3b884cef8730c Nicolas Pitre 2021-05-07 130 GENPD_FLAG_ACTIVE_WAKEUP;
898216c97ed2eb Sudeep Holla 2017-06-14 131
898216c97ed2eb Sudeep Holla 2017-06-14 132 pm_genpd_init(&scmi_pd->genpd, NULL,
898216c97ed2eb Sudeep Holla 2017-06-14 133 state == SCMI_POWER_STATE_GENERIC_OFF);
e0f1a30cf18482 Cristian Marussi 2020-06-19 134
e0f1a30cf18482 Cristian Marussi 2020-06-19 135 domains[i] = &scmi_pd->genpd;
898216c97ed2eb Sudeep Holla 2017-06-14 136 }
898216c97ed2eb Sudeep Holla 2017-06-14 137
898216c97ed2eb Sudeep Holla 2017-06-14 138 scmi_pd_data->domains = domains;
898216c97ed2eb Sudeep Holla 2017-06-14 139 scmi_pd_data->num_domains = num_domains;
898216c97ed2eb Sudeep Holla 2017-06-14 140
898216c97ed2eb Sudeep Holla 2017-06-14 141 of_genpd_add_provider_onecell(np, scmi_pd_data);
898216c97ed2eb Sudeep Holla 2017-06-14 142
898216c97ed2eb Sudeep Holla 2017-06-14 143 return 0;
898216c97ed2eb Sudeep Holla 2017-06-14 144 }
898216c97ed2eb Sudeep Holla 2017-06-14 145
:::::: The code at line 40 was first introduced by commit
:::::: 898216c97ed2ebfffda659ce12388da43534de6c firmware: arm_scmi: add device power domain support using genpd
:::::: TO: Sudeep Holla <sudeep.holla@arm.com>
:::::: CC: Sudeep Holla <sudeep.holla@arm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: drivers/firmware/arm_scmi/scmi_pm_domain.c:40 scmi_pd_power() error: uninitialized symbol 'ret_state'.
2021-12-08 11:19 drivers/firmware/arm_scmi/scmi_pm_domain.c:40 scmi_pd_power() error: uninitialized symbol 'ret_state' kernel test robot
@ 2021-12-08 12:34 ` Dan Carpenter
0 siblings, 0 replies; 2+ messages in thread
From: Dan Carpenter @ 2021-12-08 12:34 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 1395 bytes --]
On Wed, Dec 08, 2021 at 07:19:03PM +0800, kernel test robot wrote:
> CC: kbuild-all(a)lists.01.org
> CC: linux-kernel(a)vger.kernel.org
> TO: Arnd Bergmann <arnd@arndb.de>
> CC: Bjorn Andersson <bjorn.andersson@linaro.org>
> CC: Charles Keepax <ckeepax@opensource.cirrus.com>
> CC: Mark Brown <broonie@kernel.org>
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 2a987e65025e2b79c6d453b78cb5985ac6e5eb26
> commit: 951cd3a0866d29cb9c01ebc1d9c17590e598226e firmware: include drivers/firmware/Kconfig unconditionally
> date: 9 weeks ago
> :::::: branch date: 12 hours ago
> :::::: commit date: 9 weeks ago
> config: arc-randconfig-m031-20211208 (https://download.01.org/0day-ci/archive/20211208/202112081921.SnWPhJS3-lkp(a)intel.com/config)
> compiler: arc-elf-gcc (GCC) 11.2.0
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
>
> smatch warnings:
> drivers/firmware/arm_scmi/scmi_pm_domain.c:40 scmi_pd_power() error: uninitialized symbol 'ret_state'.
> drivers/firmware/arm_scmi/scmi_pm_domain.c:95 scmi_pm_domain_probe() error: uninitialized symbol 'ph'.
Sorry for all these uninitialized variable false positives. I had
forgotten to commit something. Fixed now.
regards,
dasn carpenter
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-12-08 12:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-08 11:19 drivers/firmware/arm_scmi/scmi_pm_domain.c:40 scmi_pd_power() error: uninitialized symbol 'ret_state' kernel test robot
2021-12-08 12:34 ` Dan Carpenter
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.