Message ID | 1642686255-25951-4-git-send-email-akhilrajeev@nvidia.com |
---|---|
State | Superseded |
Headers | show |
Series | Enable named interrupt smbus-alert for ACPI | expand |
On Thu, Jan 20, 2022 at 3:45 PM Akhil R <akhilrajeev@nvidia.com> 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@gmail.com> The 0 check needs a separate discussion and fixing, which is out of scope here. > Signed-off-by: Akhil R <akhilrajeev@nvidia.com> > --- > 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 >
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; }
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. Signed-off-by: Akhil R <akhilrajeev@nvidia.com> --- 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(-)