On Wed, Jan 20, 2021 at 8:18 PM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote: > On Tue, Jan 12, 2021 at 4:47 PM Andy Shevchenko > <andy.shevchenko@xxxxxxxxx> wrote: > > On Tue, Jan 12, 2021 at 3:42 PM Calvin Johnson > > <calvin.johnson@xxxxxxxxxxx> wrote: ... > > > +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