On Thu, Jan 20, 2022 at 3:45 PM Akhil R <akhilrajeev@xxxxxxxxxx> wrote: > > Change of_*() functions to device_*() for firmware agnostic usage. > This allows to have the smbus_alert interrupt without any changes > in the controller drivers using the ACPI table. This patch LGTM. Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> The 0 check needs a separate discussion and fixing, which is out of scope here. > Signed-off-by: Akhil R <akhilrajeev@xxxxxxxxxx> > --- > drivers/i2c/i2c-core-base.c | 2 +- > drivers/i2c/i2c-core-smbus.c | 10 +++++----- > drivers/i2c/i2c-smbus.c | 2 +- > include/linux/i2c-smbus.h | 6 +++--- > 4 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c > index 2c59dd7..32a4526 100644 > --- a/drivers/i2c/i2c-core-base.c > +++ b/drivers/i2c/i2c-core-base.c > @@ -1479,7 +1479,7 @@ static int i2c_register_adapter(struct i2c_adapter *adap) > goto out_list; > } > > - res = of_i2c_setup_smbus_alert(adap); > + res = i2c_setup_smbus_alert(adap); > if (res) > goto out_reg; > > diff --git a/drivers/i2c/i2c-core-smbus.c b/drivers/i2c/i2c-core-smbus.c > index e5b2d14..4c24c84 100644 > --- a/drivers/i2c/i2c-core-smbus.c > +++ b/drivers/i2c/i2c-core-smbus.c > @@ -701,13 +701,13 @@ struct i2c_client *i2c_new_smbus_alert_device(struct i2c_adapter *adapter, > } > EXPORT_SYMBOL_GPL(i2c_new_smbus_alert_device); > > -#if IS_ENABLED(CONFIG_I2C_SMBUS) && IS_ENABLED(CONFIG_OF) > -int of_i2c_setup_smbus_alert(struct i2c_adapter *adapter) > +#if IS_ENABLED(CONFIG_I2C_SMBUS) > +int i2c_setup_smbus_alert(struct i2c_adapter *adapter) > { > int irq; > > - irq = of_property_match_string(adapter->dev.of_node, "interrupt-names", > - "smbus_alert"); > + irq = device_property_match_string(adapter->dev.parent, "interrupt-names", > + "smbus_alert"); > if (irq == -EINVAL || irq == -ENODATA) > return 0; > else if (irq < 0) > @@ -715,5 +715,5 @@ int of_i2c_setup_smbus_alert(struct i2c_adapter *adapter) > > return PTR_ERR_OR_ZERO(i2c_new_smbus_alert_device(adapter, NULL)); > } > -EXPORT_SYMBOL_GPL(of_i2c_setup_smbus_alert); > +EXPORT_SYMBOL_GPL(i2c_setup_smbus_alert); > #endif > diff --git a/drivers/i2c/i2c-smbus.c b/drivers/i2c/i2c-smbus.c > index d3d06e3..fdd6d97 100644 > --- a/drivers/i2c/i2c-smbus.c > +++ b/drivers/i2c/i2c-smbus.c > @@ -128,7 +128,7 @@ static int smbalert_probe(struct i2c_client *ara, > if (setup) { > irq = setup->irq; > } else { > - irq = of_irq_get_byname(adapter->dev.of_node, "smbus_alert"); > + irq = device_irq_get_byname(adapter->dev.parent, "smbus_alert"); > if (irq <= 0) > return irq; > } > diff --git a/include/linux/i2c-smbus.h b/include/linux/i2c-smbus.h > index 1ef4218..95cf902 100644 > --- a/include/linux/i2c-smbus.h > +++ b/include/linux/i2c-smbus.h > @@ -30,10 +30,10 @@ struct i2c_client *i2c_new_smbus_alert_device(struct i2c_adapter *adapter, > struct i2c_smbus_alert_setup *setup); > int i2c_handle_smbus_alert(struct i2c_client *ara); > > -#if IS_ENABLED(CONFIG_I2C_SMBUS) && IS_ENABLED(CONFIG_OF) > -int of_i2c_setup_smbus_alert(struct i2c_adapter *adap); > +#if IS_ENABLED(CONFIG_I2C_SMBUS) > +int i2c_setup_smbus_alert(struct i2c_adapter *adap); > #else > -static inline int of_i2c_setup_smbus_alert(struct i2c_adapter *adap) > +static inline int i2c_setup_smbus_alert(struct i2c_adapter *adap) > { > return 0; > } > -- > 2.7.4 > -- With Best Regards, Andy Shevchenko