mbox series

[v4,0/6] resource: introduce union(), intersection() API

Message ID 20201102210025.53520-1-andriy.shevchenko@linux.intel.com (mailing list archive)
Headers show
Series resource: introduce union(), intersection() API | expand

Message

Andy Shevchenko Nov. 2, 2020, 9 p.m. UTC
Some users may want to use resource library to manage their own resources,
besides existing users that open code union() and intersection()
implementations.

Provide a generic API for wider use.

Changelog v4:
- added Rb tag (Rafael)
- Cc'ed to LKML and Greg (Rafael)

Changelog v3:
- rebased on top of v5.10-rc1
- dropped upstreamed dependencies
- added Rb tag to the last patch (Mika)

Cc: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org

Andy Shevchenko (6):
  resource: Simplify region_intersects() by reducing conditionals
  resource: Group resource_overlaps() with other inline helpers
  resource: Introduce resource_union() for overlapping resources
  resource: Introduce resource_intersection() for overlapping resources
  PCI/ACPI: Replace open coded variant of resource_union()
  ACPI: watchdog: Replace open coded variant of resource_union()

 drivers/acpi/acpi_watchdog.c |  6 +-----
 drivers/acpi/pci_root.c      |  4 +---
 include/linux/ioport.h       | 34 +++++++++++++++++++++++++++-------
 kernel/resource.c            | 10 +++++-----
 4 files changed, 34 insertions(+), 20 deletions(-)

Comments

Hanjun Guo Nov. 3, 2020, 12:43 a.m. UTC | #1
On 2020/11/3 5:00, Andy Shevchenko wrote:
> Some users may want to use resource library to manage their own resources,
> besides existing users that open code union() and intersection()
> implementations.
> 
> Provide a generic API for wider use.
> 
> Changelog v4:
> - added Rb tag (Rafael)
> - Cc'ed to LKML and Greg (Rafael)
> 
> Changelog v3:
> - rebased on top of v5.10-rc1
> - dropped upstreamed dependencies
> - added Rb tag to the last patch (Mika)
> 
> Cc: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
> Cc: Bjorn Helgaas <bhelgaas@google.com>
> Cc: linux-pci@vger.kernel.org
> 
> Andy Shevchenko (6):
>    resource: Simplify region_intersects() by reducing conditionals
>    resource: Group resource_overlaps() with other inline helpers
>    resource: Introduce resource_union() for overlapping resources
>    resource: Introduce resource_intersection() for overlapping resources
>    PCI/ACPI: Replace open coded variant of resource_union()
>    ACPI: watchdog: Replace open coded variant of resource_union()
> 
>   drivers/acpi/acpi_watchdog.c |  6 +-----
>   drivers/acpi/pci_root.c      |  4 +---
>   include/linux/ioport.h       | 34 +++++++++++++++++++++++++++-------
>   kernel/resource.c            | 10 +++++-----
>   4 files changed, 34 insertions(+), 20 deletions(-)

Reviewed-by: Hanjun Guo <guohanjun@huawei.com>
Greg KH Nov. 3, 2020, 6:48 a.m. UTC | #2
On Mon, Nov 02, 2020 at 11:00:19PM +0200, Andy Shevchenko wrote:
> Some users may want to use resource library to manage their own resources,
> besides existing users that open code union() and intersection()
> implementations.
> 
> Provide a generic API for wider use.
> 
> Changelog v4:
> - added Rb tag (Rafael)
> - Cc'ed to LKML and Greg (Rafael)

Didn't we have some tests for this code somewhere?  Have you added tests
for the new functions you have added?  If not, can you do that so that
we "know" these work properly?

thanks,

greg k-h
Andy Shevchenko Nov. 3, 2020, 8:31 a.m. UTC | #3
On Tue, Nov 3, 2020 at 2:46 AM Hanjun Guo <guohanjun@huawei.com> wrote:
>
> On 2020/11/3 5:00, Andy Shevchenko wrote:
> > Some users may want to use resource library to manage their own resources,
> > besides existing users that open code union() and intersection()
> > implementations.
> >
> > Provide a generic API for wider use.
> >
> > Changelog v4:
> > - added Rb tag (Rafael)
> > - Cc'ed to LKML and Greg (Rafael)
> >
> > Changelog v3:
> > - rebased on top of v5.10-rc1
> > - dropped upstreamed dependencies
> > - added Rb tag to the last patch (Mika)
> >
> > Cc: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
> > Cc: Bjorn Helgaas <bhelgaas@google.com>
> > Cc: linux-pci@vger.kernel.org
> >
> > Andy Shevchenko (6):
> >    resource: Simplify region_intersects() by reducing conditionals
> >    resource: Group resource_overlaps() with other inline helpers
> >    resource: Introduce resource_union() for overlapping resources
> >    resource: Introduce resource_intersection() for overlapping resources
> >    PCI/ACPI: Replace open coded variant of resource_union()
> >    ACPI: watchdog: Replace open coded variant of resource_union()
> >
> >   drivers/acpi/acpi_watchdog.c |  6 +-----
> >   drivers/acpi/pci_root.c      |  4 +---
> >   include/linux/ioport.h       | 34 +++++++++++++++++++++++++++-------
> >   kernel/resource.c            | 10 +++++-----
> >   4 files changed, 34 insertions(+), 20 deletions(-)
>
> Reviewed-by: Hanjun Guo <guohanjun@huawei.com>

Thanks. Is it for the entire series?
Andy Shevchenko Nov. 3, 2020, 8:32 a.m. UTC | #4
On Tue, Nov 3, 2020 at 8:53 AM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> On Mon, Nov 02, 2020 at 11:00:19PM +0200, Andy Shevchenko wrote:
> > Some users may want to use resource library to manage their own resources,
> > besides existing users that open code union() and intersection()
> > implementations.
> >
> > Provide a generic API for wider use.
> >
> > Changelog v4:
> > - added Rb tag (Rafael)
> > - Cc'ed to LKML and Greg (Rafael)
>
> Didn't we have some tests for this code somewhere?  Have you added tests
> for the new functions you have added?  If not, can you do that so that
> we "know" these work properly?

Sure, I'll add for v5. Thanks for the hint!
Hanjun Guo Nov. 3, 2020, 9:44 a.m. UTC | #5
On 2020/11/3 16:31, Andy Shevchenko wrote:
> On Tue, Nov 3, 2020 at 2:46 AM Hanjun Guo <guohanjun@huawei.com> wrote:
>>
>> On 2020/11/3 5:00, Andy Shevchenko wrote:
>>> Some users may want to use resource library to manage their own resources,
>>> besides existing users that open code union() and intersection()
>>> implementations.
>>>
>>> Provide a generic API for wider use.
>>>
>>> Changelog v4:
>>> - added Rb tag (Rafael)
>>> - Cc'ed to LKML and Greg (Rafael)
>>>
>>> Changelog v3:
>>> - rebased on top of v5.10-rc1
>>> - dropped upstreamed dependencies
>>> - added Rb tag to the last patch (Mika)
>>>
>>> Cc: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
>>> Cc: Bjorn Helgaas <bhelgaas@google.com>
>>> Cc: linux-pci@vger.kernel.org
>>>
>>> Andy Shevchenko (6):
>>>     resource: Simplify region_intersects() by reducing conditionals
>>>     resource: Group resource_overlaps() with other inline helpers
>>>     resource: Introduce resource_union() for overlapping resources
>>>     resource: Introduce resource_intersection() for overlapping resources
>>>     PCI/ACPI: Replace open coded variant of resource_union()
>>>     ACPI: watchdog: Replace open coded variant of resource_union()
>>>
>>>    drivers/acpi/acpi_watchdog.c |  6 +-----
>>>    drivers/acpi/pci_root.c      |  4 +---
>>>    include/linux/ioport.h       | 34 +++++++++++++++++++++++++++-------
>>>    kernel/resource.c            | 10 +++++-----
>>>    4 files changed, 34 insertions(+), 20 deletions(-)
>>
>> Reviewed-by: Hanjun Guo <guohanjun@huawei.com>
> 
> Thanks. Is it for the entire series?

Yes.

By the way, I tested this patch set on a ARM64 machine booting
with ACPI against 5.10-rc2, and no regressions with PCI, so feel
free to add my Tested-by tag for patch [1,2,3,5/6].

Thanks
Hanjun