ACPI/IORT: Handle device properties with software node API

Message ID 20210511125528.18525-1-heikki.krogerus@linux.intel.com
State New
Headers show
Series
  • ACPI/IORT: Handle device properties with software node API
Related show

Commit Message

Heikki Krogerus May 11, 2021, 12:55 p.m.
The older device property API is going to be removed.
Replacing the device_add_properties() call with software
node API equivalent device_create_managed_software_node().

Fixes: 434b73e61cc6 ("iommu/arm-smmu-v3: Use device properties for pasid-num-bits")
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
---
 drivers/acpi/arm64/iort.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Hanjun Guo May 14, 2021, 12:42 a.m. | #1
On 2021/5/11 21:51, Rafael J. Wysocki wrote:
> On Tue, May 11, 2021 at 2:55 PM Heikki Krogerus

> <heikki.krogerus@linux.intel.com>  wrote:

>> The older device property API is going to be removed.

>> Replacing the device_add_properties() call with software

>> node API equivalent device_create_managed_software_node().

>>

>> Fixes: 434b73e61cc6 ("iommu/arm-smmu-v3: Use device properties for pasid-num-bits")

>> Signed-off-by: Heikki Krogerus<heikki.krogerus@linux.intel.com>

>> ---

>>   drivers/acpi/arm64/iort.c | 2 +-

>>   1 file changed, 1 insertion(+), 1 deletion(-)

>>

>> diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c

>> index 3912a1f6058e5..e34937e11186a 100644

>> --- a/drivers/acpi/arm64/iort.c

>> +++ b/drivers/acpi/arm64/iort.c

>> @@ -976,7 +976,7 @@ static void iort_named_component_init(struct device *dev,

>>                                        FIELD_GET(ACPI_IORT_NC_PASID_BITS,

>>                                                  nc->node_flags));

>>

>> -       if (device_add_properties(dev, props))

>> +       if (device_create_managed_software_node(dev, props, NULL))

>>                  dev_warn(dev, "Could not add device properties\n");

>>   }

>>

>> --

> Thanks!

> 

> I can take this through the ACPI tree if there are no objections.


Since this is related to device property API refactor, I'm
fine with it.

Lorenzo, what's your position?

Thanks
Hanjun
Lorenzo Pieralisi May 14, 2021, 10:39 a.m. | #2
On Tue, May 11, 2021 at 03:55:28PM +0300, Heikki Krogerus wrote:
> The older device property API is going to be removed.

> Replacing the device_add_properties() call with software

> node API equivalent device_create_managed_software_node().

> 

> Fixes: 434b73e61cc6 ("iommu/arm-smmu-v3: Use device properties for pasid-num-bits")


Is this really fixing anything ? I am not sure I understand what you
would like to achieve with this tag.

> Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>

> ---

>  drivers/acpi/arm64/iort.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)


With the above comment clarified:

Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>


> diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c

> index 3912a1f6058e5..e34937e11186a 100644

> --- a/drivers/acpi/arm64/iort.c

> +++ b/drivers/acpi/arm64/iort.c

> @@ -976,7 +976,7 @@ static void iort_named_component_init(struct device *dev,

>  				      FIELD_GET(ACPI_IORT_NC_PASID_BITS,

>  						nc->node_flags));

>  

> -	if (device_add_properties(dev, props))

> +	if (device_create_managed_software_node(dev, props, NULL))

>  		dev_warn(dev, "Could not add device properties\n");

>  }

>  

> -- 

> 2.30.2

>
Heikki Krogerus May 14, 2021, 1:13 p.m. | #3
On Fri, May 14, 2021 at 11:39:12AM +0100, Lorenzo Pieralisi wrote:
> On Tue, May 11, 2021 at 03:55:28PM +0300, Heikki Krogerus wrote:

> > The older device property API is going to be removed.

> > Replacing the device_add_properties() call with software

> > node API equivalent device_create_managed_software_node().

> > 

> > Fixes: 434b73e61cc6 ("iommu/arm-smmu-v3: Use device properties for pasid-num-bits")

> 

> Is this really fixing anything ? I am not sure I understand what you

> would like to achieve with this tag.


Right now it's not possible to simply remove the old API because some
of the maintainers want to take care of the conversion themselves, but
at the same time I also do not want to see any new releases of the
kernel that introduce more users for it. That's why it's a fix.


> > Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>

> > ---

> >  drivers/acpi/arm64/iort.c | 2 +-

> >  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> With the above comment clarified:

> 

> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>

> 

> > diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c

> > index 3912a1f6058e5..e34937e11186a 100644

> > --- a/drivers/acpi/arm64/iort.c

> > +++ b/drivers/acpi/arm64/iort.c

> > @@ -976,7 +976,7 @@ static void iort_named_component_init(struct device *dev,

> >  				      FIELD_GET(ACPI_IORT_NC_PASID_BITS,

> >  						nc->node_flags));

> >  

> > -	if (device_add_properties(dev, props))

> > +	if (device_create_managed_software_node(dev, props, NULL))

> >  		dev_warn(dev, "Could not add device properties\n");

> >  }

> >  

> > -- 

> > 2.30.2

> > 


thanks,

-- 
heikki
Rafael J. Wysocki May 17, 2021, 2:36 p.m. | #4
On Fri, May 14, 2021 at 3:13 PM Heikki Krogerus
<heikki.krogerus@linux.intel.com> wrote:
>

> On Fri, May 14, 2021 at 11:39:12AM +0100, Lorenzo Pieralisi wrote:

> > On Tue, May 11, 2021 at 03:55:28PM +0300, Heikki Krogerus wrote:

> > > The older device property API is going to be removed.

> > > Replacing the device_add_properties() call with software

> > > node API equivalent device_create_managed_software_node().

> > >

> > > Fixes: 434b73e61cc6 ("iommu/arm-smmu-v3: Use device properties for pasid-num-bits")

> >

> > Is this really fixing anything ? I am not sure I understand what you

> > would like to achieve with this tag.

>

> Right now it's not possible to simply remove the old API because some

> of the maintainers want to take care of the conversion themselves, but

> at the same time I also do not want to see any new releases of the

> kernel that introduce more users for it. That's why it's a fix.


With the assumption that the above clarification is sufficient,
applied as 5.14 material, thanks!

Patch

diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c
index 3912a1f6058e5..e34937e11186a 100644
--- a/drivers/acpi/arm64/iort.c
+++ b/drivers/acpi/arm64/iort.c
@@ -976,7 +976,7 @@  static void iort_named_component_init(struct device *dev,
 				      FIELD_GET(ACPI_IORT_NC_PASID_BITS,
 						nc->node_flags));
 
-	if (device_add_properties(dev, props))
+	if (device_create_managed_software_node(dev, props, NULL))
 		dev_warn(dev, "Could not add device properties\n");
 }