On Wed, Jan 20, 2021 at 8:18 PM Rafael J. Wysocki [off-list ref] wrote:
On Tue, Jan 12, 2021 at 4:47 PM Andy Shevchenko
[off-list ref] wrote:
quoted
On Tue, Jan 12, 2021 at 3:42 PM Calvin Johnson
[off-list ref] wrote:
...
quoted
quoted
+int fwnode_get_id(struct fwnode_handle *fwnode, u32 *id)
+{
+#ifdef CONFIG_ACPI
+ unsigned long long adr;
+ acpi_status status;
+#endif
+ int ret;
+
+ ret = fwnode_property_read_u32(fwnode, "reg", id);
+ if (!(ret && is_acpi_node(fwnode)))
+ return ret;
+
+#ifdef CONFIG_ACPI
+ status = acpi_evaluate_integer(ACPI_HANDLE_FWNODE(fwnode),
+ METHOD_NAME__ADR, NULL, &adr);
+ if (ACPI_FAILURE(status))
+ return -EINVAL;
+ *id = (u32)adr;
Shouldn't be
return 0;
#else
return -EINVAL;
#endif
?
Yes, it's a theoretical case when is_acpi_node() returns true when
CONFIG_ACPI=n.
How so? is_acpi_node() is defined as a static inline returning false then.
I understand that, that's why it's pure theoretical when, for example,
the semantics is changed. But I believe it's unlucky to happen.
--
With Best Regards,
Andy Shevchenko