Aligning res->start by align inside pcibios_align_resource() is
unnecessary because caller of pcibios_align_resource() is
__find_resource_space() that aligns res->start with align before
calling pcibios_align_resource().
Aligning by align in case of IORESOURCE_IO && start & 0x300 cannot ever
result in changing start either because 0x300 bits would have not
survived the earlier alignment if align was large enough to have an
impact.
Thus, remove the duplicated aligning from pcibios_align_resource().
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
arch/m68k/kernel/pcibios.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/m68k/kernel/pcibios.c b/arch/m68k/kernel/pcibios.c
index 1415f6e4e5ce..7e286ee1976b 100644
--- a/arch/m68k/kernel/pcibios.c
+++ b/arch/m68k/kernel/pcibios.c
@@ -36,8 +36,6 @@ resource_size_t pcibios_align_resource(void *data, const struct resource *res,
if ((res->flags & IORESOURCE_IO) && (start & 0x300))
start = (start + 0x3ff) & ~0x3ff;
- start = (start + align - 1) & ~(align - 1);
-
return start;
}
--
2.39.5
On 25/3/26 02:56, Ilpo Järvinen wrote: > Aligning res->start by align inside pcibios_align_resource() is > unnecessary because caller of pcibios_align_resource() is > __find_resource_space() that aligns res->start with align before > calling pcibios_align_resource(). > > Aligning by align in case of IORESOURCE_IO && start & 0x300 cannot ever > result in changing start either because 0x300 bits would have not > survived the earlier alignment if align was large enough to have an > impact. > > Thus, remove the duplicated aligning from pcibios_align_resource(). > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> LGTM. Acked-by: Greg Ungerer <gerg@linux-m68k.org> > --- > arch/m68k/kernel/pcibios.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/arch/m68k/kernel/pcibios.c b/arch/m68k/kernel/pcibios.c > index 1415f6e4e5ce..7e286ee1976b 100644 > --- a/arch/m68k/kernel/pcibios.c > +++ b/arch/m68k/kernel/pcibios.c > @@ -36,8 +36,6 @@ resource_size_t pcibios_align_resource(void *data, const struct resource *res, > if ((res->flags & IORESOURCE_IO) && (start & 0x300)) > start = (start + 0x3ff) & ~0x3ff; > > - start = (start + align - 1) & ~(align - 1); > - > return start; > } >
Hi Ilpo, On Tue, 2026-03-24 at 18:56 +0200, Ilpo Järvinen wrote: > Aligning res->start by align inside pcibios_align_resource() is > unnecessary because caller of pcibios_align_resource() is > __find_resource_space() that aligns res->start with align before > calling pcibios_align_resource(). > > Aligning by align in case of IORESOURCE_IO && start & 0x300 cannot ever > result in changing start either because 0x300 bits would have not > survived the earlier alignment if align was large enough to have an > impact. > > Thus, remove the duplicated aligning from pcibios_align_resource(). > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> > --- > arch/m68k/kernel/pcibios.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/arch/m68k/kernel/pcibios.c b/arch/m68k/kernel/pcibios.c > index 1415f6e4e5ce..7e286ee1976b 100644 > --- a/arch/m68k/kernel/pcibios.c > +++ b/arch/m68k/kernel/pcibios.c > @@ -36,8 +36,6 @@ resource_size_t pcibios_align_resource(void *data, const struct resource *res, > if ((res->flags & IORESOURCE_IO) && (start & 0x300)) > start = (start + 0x3ff) & ~0x3ff; > > - start = (start + align - 1) & ~(align - 1); > - > return start; > } > Sorry if it's a stupid question, but what does "am68k" in the subject refer to? Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer `. `' Physicist `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
On Tue, 24 Mar 2026, John Paul Adrian Glaubitz wrote: > Hi Ilpo, > > On Tue, 2026-03-24 at 18:56 +0200, Ilpo Järvinen wrote: > > Aligning res->start by align inside pcibios_align_resource() is > > unnecessary because caller of pcibios_align_resource() is > > __find_resource_space() that aligns res->start with align before > > calling pcibios_align_resource(). > > > > Aligning by align in case of IORESOURCE_IO && start & 0x300 cannot ever > > result in changing start either because 0x300 bits would have not > > survived the earlier alignment if align was large enough to have an > > impact. > > > > Thus, remove the duplicated aligning from pcibios_align_resource(). > > > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> > > --- > > arch/m68k/kernel/pcibios.c | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/arch/m68k/kernel/pcibios.c b/arch/m68k/kernel/pcibios.c > > index 1415f6e4e5ce..7e286ee1976b 100644 > > --- a/arch/m68k/kernel/pcibios.c > > +++ b/arch/m68k/kernel/pcibios.c > > @@ -36,8 +36,6 @@ resource_size_t pcibios_align_resource(void *data, const struct resource *res, > > if ((res->flags & IORESOURCE_IO) && (start & 0x300)) > > start = (start + 0x3ff) & ~0x3ff; > > > > - start = (start + align - 1) & ~(align - 1); > > - > > return start; > > } > > > > Sorry if it's a stupid question, but what does "am68k" in the subject refer to? The extra "a" is a typo. I'm sorry about that. -- i.
On Tue, 2026-03-24 at 19:55 +0200, Ilpo Järvinen wrote: > On Tue, 24 Mar 2026, John Paul Adrian Glaubitz wrote: > > > Hi Ilpo, > > > > On Tue, 2026-03-24 at 18:56 +0200, Ilpo Järvinen wrote: > > > Aligning res->start by align inside pcibios_align_resource() is > > > unnecessary because caller of pcibios_align_resource() is > > > __find_resource_space() that aligns res->start with align before > > > calling pcibios_align_resource(). > > > > > > Aligning by align in case of IORESOURCE_IO && start & 0x300 cannot ever > > > result in changing start either because 0x300 bits would have not > > > survived the earlier alignment if align was large enough to have an > > > impact. > > > > > > Thus, remove the duplicated aligning from pcibios_align_resource(). > > > > > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> > > > --- > > > arch/m68k/kernel/pcibios.c | 2 -- > > > 1 file changed, 2 deletions(-) > > > > > > diff --git a/arch/m68k/kernel/pcibios.c b/arch/m68k/kernel/pcibios.c > > > index 1415f6e4e5ce..7e286ee1976b 100644 > > > --- a/arch/m68k/kernel/pcibios.c > > > +++ b/arch/m68k/kernel/pcibios.c > > > @@ -36,8 +36,6 @@ resource_size_t pcibios_align_resource(void *data, const struct resource *res, > > > if ((res->flags & IORESOURCE_IO) && (start & 0x300)) > > > start = (start + 0x3ff) & ~0x3ff; > > > > > > - start = (start + align - 1) & ~(align - 1); > > > - > > > return start; > > > } > > > > > > > Sorry if it's a stupid question, but what does "am68k" in the subject refer to? > > The extra "a" is a typo. I'm sorry about that. No worries, I just thought I missed something obvious and felt stupid to ask ;-). Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer `. `' Physicist `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
CC gerg On Tue, 24 Mar 2026 at 17:59, Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> wrote: > > Aligning res->start by align inside pcibios_align_resource() is > unnecessary because caller of pcibios_align_resource() is > __find_resource_space() that aligns res->start with align before > calling pcibios_align_resource(). > > Aligning by align in case of IORESOURCE_IO && start & 0x300 cannot ever > result in changing start either because 0x300 bits would have not > survived the earlier alignment if align was large enough to have an > impact. > > Thus, remove the duplicated aligning from pcibios_align_resource(). > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> > --- > arch/m68k/kernel/pcibios.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/arch/m68k/kernel/pcibios.c b/arch/m68k/kernel/pcibios.c > index 1415f6e4e5ce..7e286ee1976b 100644 > --- a/arch/m68k/kernel/pcibios.c > +++ b/arch/m68k/kernel/pcibios.c > @@ -36,8 +36,6 @@ resource_size_t pcibios_align_resource(void *data, const struct resource *res, > if ((res->flags & IORESOURCE_IO) && (start & 0x300)) > start = (start + 0x3ff) & ~0x3ff; > > - start = (start + align - 1) & ~(align - 1); > - > return start; > } > > -- > 2.39.5
© 2016 - 2026 Red Hat, Inc.