* [PATCH 1/1] PCI: Cleanup dev->resource + resno to use pci_resource_n()
@ 2025-02-07 16:23 Ilpo Järvinen
2025-02-08 18:42 ` Bjorn Helgaas
0 siblings, 1 reply; 2+ messages in thread
From: Ilpo Järvinen @ 2025-02-07 16:23 UTC (permalink / raw)
To: Bjorn Helgaas, linux-pci, linux-kernel; +Cc: Ilpo Järvinen
Replace pointer arithmentic in finding the correct resource entry with
the pci_resource_n() helper.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
drivers/pci/iov.c | 2 +-
drivers/pci/pci.c | 2 +-
drivers/pci/quirks.c | 4 ++--
drivers/pci/setup-res.c | 12 ++++++------
4 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index 9e4770cdd4d5..121540f57d4b 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -952,7 +952,7 @@ void pci_iov_remove(struct pci_dev *dev)
void pci_iov_update_resource(struct pci_dev *dev, int resno)
{
struct pci_sriov *iov = dev->is_physfn ? dev->sriov : NULL;
- struct resource *res = dev->resource + resno;
+ struct resource *res = pci_resource_n(dev, resno);
int vf_bar = resno - PCI_IOV_RESOURCES;
struct pci_bus_region region;
u16 cmd;
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 869d204a70a3..c4f710f782f6 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -1884,7 +1884,7 @@ static void pci_restore_rebar_state(struct pci_dev *pdev)
pci_read_config_dword(pdev, pos + PCI_REBAR_CTRL, &ctrl);
bar_idx = ctrl & PCI_REBAR_CTRL_BAR_IDX;
- res = pdev->resource + bar_idx;
+ res = pci_resource_n(pdev, bar_idx);
size = pci_rebar_bytes_to_size(resource_size(res));
ctrl &= ~PCI_REBAR_CTRL_BAR_SIZE;
ctrl |= FIELD_PREP(PCI_REBAR_CTRL_BAR_SIZE, size);
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index b84ff7bade82..5cc4610201b7 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -621,7 +621,7 @@ static void quirk_io(struct pci_dev *dev, int pos, unsigned int size,
{
u32 region;
struct pci_bus_region bus_region;
- struct resource *res = dev->resource + pos;
+ struct resource *res = pci_resource_n(dev, pos);
const char *res_name = pci_resource_name(dev, pos);
pci_read_config_dword(dev, PCI_BASE_ADDRESS_0 + (pos << 2), ®ion);
@@ -671,7 +671,7 @@ static void quirk_io_region(struct pci_dev *dev, int port,
{
u16 region;
struct pci_bus_region bus_region;
- struct resource *res = dev->resource + nr;
+ struct resource *res = pci_resource_n(dev, nr);
pci_read_config_word(dev, port, ®ion);
region &= ~(size - 1);
diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c
index ca14576bf2bf..ad6436007148 100644
--- a/drivers/pci/setup-res.c
+++ b/drivers/pci/setup-res.c
@@ -29,7 +29,7 @@ static void pci_std_update_resource(struct pci_dev *dev, int resno)
u16 cmd;
u32 new, check, mask;
int reg;
- struct resource *res = dev->resource + resno;
+ struct resource *res = pci_resource_n(dev, resno);
const char *res_name = pci_resource_name(dev, resno);
/* Per SR-IOV spec 3.4.1.11, VF BARs are RO zero */
@@ -262,7 +262,7 @@ resource_size_t __weak pcibios_align_resource(void *data,
static int __pci_assign_resource(struct pci_bus *bus, struct pci_dev *dev,
int resno, resource_size_t size, resource_size_t align)
{
- struct resource *res = dev->resource + resno;
+ struct resource *res = pci_resource_n(dev, resno);
resource_size_t min;
int ret;
@@ -325,7 +325,7 @@ static int _pci_assign_resource(struct pci_dev *dev, int resno,
int pci_assign_resource(struct pci_dev *dev, int resno)
{
- struct resource *res = dev->resource + resno;
+ struct resource *res = pci_resource_n(dev, resno);
const char *res_name = pci_resource_name(dev, resno);
resource_size_t align, size;
int ret;
@@ -372,7 +372,7 @@ EXPORT_SYMBOL(pci_assign_resource);
int pci_reassign_resource(struct pci_dev *dev, int resno,
resource_size_t addsize, resource_size_t min_align)
{
- struct resource *res = dev->resource + resno;
+ struct resource *res = pci_resource_n(dev, resno);
const char *res_name = pci_resource_name(dev, resno);
unsigned long flags;
resource_size_t new_size;
@@ -411,7 +411,7 @@ int pci_reassign_resource(struct pci_dev *dev, int resno,
void pci_release_resource(struct pci_dev *dev, int resno)
{
- struct resource *res = dev->resource + resno;
+ struct resource *res = pci_resource_n(dev, resno);
const char *res_name = pci_resource_name(dev, resno);
pci_info(dev, "%s %pR: releasing\n", res_name, res);
@@ -428,7 +428,7 @@ EXPORT_SYMBOL(pci_release_resource);
int pci_resize_resource(struct pci_dev *dev, int resno, int size)
{
- struct resource *res = dev->resource + resno;
+ struct resource *res = pci_resource_n(dev, resno);
struct pci_host_bridge *host;
int old, ret;
u32 sizes;
base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b
--
2.39.5
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH 1/1] PCI: Cleanup dev->resource + resno to use pci_resource_n()
2025-02-07 16:23 [PATCH 1/1] PCI: Cleanup dev->resource + resno to use pci_resource_n() Ilpo Järvinen
@ 2025-02-08 18:42 ` Bjorn Helgaas
0 siblings, 0 replies; 2+ messages in thread
From: Bjorn Helgaas @ 2025-02-08 18:42 UTC (permalink / raw)
To: Ilpo Järvinen; +Cc: Bjorn Helgaas, linux-pci, linux-kernel
On Fri, Feb 07, 2025 at 06:23:01PM +0200, Ilpo Järvinen wrote:
> Replace pointer arithmentic in finding the correct resource entry with
> the pci_resource_n() helper.
>
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Applied to pci/resource for v6.15, thanks, Ilpo!
> ---
> drivers/pci/iov.c | 2 +-
> drivers/pci/pci.c | 2 +-
> drivers/pci/quirks.c | 4 ++--
> drivers/pci/setup-res.c | 12 ++++++------
> 4 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
> index 9e4770cdd4d5..121540f57d4b 100644
> --- a/drivers/pci/iov.c
> +++ b/drivers/pci/iov.c
> @@ -952,7 +952,7 @@ void pci_iov_remove(struct pci_dev *dev)
> void pci_iov_update_resource(struct pci_dev *dev, int resno)
> {
> struct pci_sriov *iov = dev->is_physfn ? dev->sriov : NULL;
> - struct resource *res = dev->resource + resno;
> + struct resource *res = pci_resource_n(dev, resno);
> int vf_bar = resno - PCI_IOV_RESOURCES;
> struct pci_bus_region region;
> u16 cmd;
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index 869d204a70a3..c4f710f782f6 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -1884,7 +1884,7 @@ static void pci_restore_rebar_state(struct pci_dev *pdev)
>
> pci_read_config_dword(pdev, pos + PCI_REBAR_CTRL, &ctrl);
> bar_idx = ctrl & PCI_REBAR_CTRL_BAR_IDX;
> - res = pdev->resource + bar_idx;
> + res = pci_resource_n(pdev, bar_idx);
> size = pci_rebar_bytes_to_size(resource_size(res));
> ctrl &= ~PCI_REBAR_CTRL_BAR_SIZE;
> ctrl |= FIELD_PREP(PCI_REBAR_CTRL_BAR_SIZE, size);
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index b84ff7bade82..5cc4610201b7 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -621,7 +621,7 @@ static void quirk_io(struct pci_dev *dev, int pos, unsigned int size,
> {
> u32 region;
> struct pci_bus_region bus_region;
> - struct resource *res = dev->resource + pos;
> + struct resource *res = pci_resource_n(dev, pos);
> const char *res_name = pci_resource_name(dev, pos);
>
> pci_read_config_dword(dev, PCI_BASE_ADDRESS_0 + (pos << 2), ®ion);
> @@ -671,7 +671,7 @@ static void quirk_io_region(struct pci_dev *dev, int port,
> {
> u16 region;
> struct pci_bus_region bus_region;
> - struct resource *res = dev->resource + nr;
> + struct resource *res = pci_resource_n(dev, nr);
>
> pci_read_config_word(dev, port, ®ion);
> region &= ~(size - 1);
> diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c
> index ca14576bf2bf..ad6436007148 100644
> --- a/drivers/pci/setup-res.c
> +++ b/drivers/pci/setup-res.c
> @@ -29,7 +29,7 @@ static void pci_std_update_resource(struct pci_dev *dev, int resno)
> u16 cmd;
> u32 new, check, mask;
> int reg;
> - struct resource *res = dev->resource + resno;
> + struct resource *res = pci_resource_n(dev, resno);
> const char *res_name = pci_resource_name(dev, resno);
>
> /* Per SR-IOV spec 3.4.1.11, VF BARs are RO zero */
> @@ -262,7 +262,7 @@ resource_size_t __weak pcibios_align_resource(void *data,
> static int __pci_assign_resource(struct pci_bus *bus, struct pci_dev *dev,
> int resno, resource_size_t size, resource_size_t align)
> {
> - struct resource *res = dev->resource + resno;
> + struct resource *res = pci_resource_n(dev, resno);
> resource_size_t min;
> int ret;
>
> @@ -325,7 +325,7 @@ static int _pci_assign_resource(struct pci_dev *dev, int resno,
>
> int pci_assign_resource(struct pci_dev *dev, int resno)
> {
> - struct resource *res = dev->resource + resno;
> + struct resource *res = pci_resource_n(dev, resno);
> const char *res_name = pci_resource_name(dev, resno);
> resource_size_t align, size;
> int ret;
> @@ -372,7 +372,7 @@ EXPORT_SYMBOL(pci_assign_resource);
> int pci_reassign_resource(struct pci_dev *dev, int resno,
> resource_size_t addsize, resource_size_t min_align)
> {
> - struct resource *res = dev->resource + resno;
> + struct resource *res = pci_resource_n(dev, resno);
> const char *res_name = pci_resource_name(dev, resno);
> unsigned long flags;
> resource_size_t new_size;
> @@ -411,7 +411,7 @@ int pci_reassign_resource(struct pci_dev *dev, int resno,
>
> void pci_release_resource(struct pci_dev *dev, int resno)
> {
> - struct resource *res = dev->resource + resno;
> + struct resource *res = pci_resource_n(dev, resno);
> const char *res_name = pci_resource_name(dev, resno);
>
> pci_info(dev, "%s %pR: releasing\n", res_name, res);
> @@ -428,7 +428,7 @@ EXPORT_SYMBOL(pci_release_resource);
>
> int pci_resize_resource(struct pci_dev *dev, int resno, int size)
> {
> - struct resource *res = dev->resource + resno;
> + struct resource *res = pci_resource_n(dev, resno);
> struct pci_host_bridge *host;
> int old, ret;
> u32 sizes;
>
> base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b
> --
> 2.39.5
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-02-08 18:42 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-07 16:23 [PATCH 1/1] PCI: Cleanup dev->resource + resno to use pci_resource_n() Ilpo Järvinen
2025-02-08 18:42 ` Bjorn Helgaas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox