2022-02-09 10:16:17

by Rikard Falkeborn

[permalink] [raw]
Subject: [PATCH 0/3] MIPS: Constify static irq_domain_ops structs

Constify a number of static irq_domain_ops structs that were never
modified. This allows the compiler to put them in read-only memory.

Rikard Falkeborn (3):
MIPS: OCTEON: Constify static irq_domain_ops
MIPS: ath25: Constify static irq_domain_ops
MIPS: pci-ar2315: Constify static irq_domain_ops

arch/mips/ath25/ar2315.c | 2 +-
arch/mips/ath25/ar5312.c | 2 +-
arch/mips/cavium-octeon/octeon-irq.c | 10 +++++-----
arch/mips/pci/pci-ar2315.c | 2 +-
4 files changed, 8 insertions(+), 8 deletions(-)

--
2.35.1



2022-02-09 11:16:54

by Rikard Falkeborn

[permalink] [raw]
Subject: [PATCH 1/3] MIPS: OCTEON: Constify static irq_domain_ops

The only usage of these structs is to pass their address to either
irq_domain_add_tree() or irq_domain_create_linear(), both which takes
pointers to const struct irq_domain_ops. Make them const to allow the
compiler to put them in read-only memory.

Signed-off-by: Rikard Falkeborn <[email protected]>
---
arch/mips/cavium-octeon/octeon-irq.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/mips/cavium-octeon/octeon-irq.c b/arch/mips/cavium-octeon/octeon-irq.c
index 844f882096e6..07d7ff5a981d 100644
--- a/arch/mips/cavium-octeon/octeon-irq.c
+++ b/arch/mips/cavium-octeon/octeon-irq.c
@@ -1274,13 +1274,13 @@ static int octeon_irq_gpio_map(struct irq_domain *d,
return r;
}

-static struct irq_domain_ops octeon_irq_domain_ciu_ops = {
+static const struct irq_domain_ops octeon_irq_domain_ciu_ops = {
.map = octeon_irq_ciu_map,
.unmap = octeon_irq_free_cd,
.xlate = octeon_irq_ciu_xlat,
};

-static struct irq_domain_ops octeon_irq_domain_gpio_ops = {
+static const struct irq_domain_ops octeon_irq_domain_gpio_ops = {
.map = octeon_irq_gpio_map,
.unmap = octeon_irq_free_cd,
.xlate = octeon_irq_gpio_xlat,
@@ -1974,7 +1974,7 @@ static int octeon_irq_ciu2_map(struct irq_domain *d,
return 0;
}

-static struct irq_domain_ops octeon_irq_domain_ciu2_ops = {
+static const struct irq_domain_ops octeon_irq_domain_ciu2_ops = {
.map = octeon_irq_ciu2_map,
.unmap = octeon_irq_free_cd,
.xlate = octeon_irq_ciu2_xlat,
@@ -2226,7 +2226,7 @@ static int octeon_irq_cib_map(struct irq_domain *d,
return 0;
}

-static struct irq_domain_ops octeon_irq_domain_cib_ops = {
+static const struct irq_domain_ops octeon_irq_domain_cib_ops = {
.map = octeon_irq_cib_map,
.unmap = octeon_irq_free_cd,
.xlate = octeon_irq_cib_xlat,
@@ -2578,7 +2578,7 @@ static int octeon_irq_ciu3_map(struct irq_domain *d,
return octeon_irq_ciu3_mapx(d, virq, hw, &octeon_irq_chip_ciu3);
}

-static struct irq_domain_ops octeon_dflt_domain_ciu3_ops = {
+static const struct irq_domain_ops octeon_dflt_domain_ciu3_ops = {
.map = octeon_irq_ciu3_map,
.unmap = octeon_irq_free_cd,
.xlate = octeon_irq_ciu3_xlat,
--
2.35.1


2022-02-22 08:54:15

by Thomas Bogendoerfer

[permalink] [raw]
Subject: Re: [PATCH 0/3] MIPS: Constify static irq_domain_ops structs

On Mon, Feb 07, 2022 at 10:18:13PM +0100, Rikard Falkeborn wrote:
> Constify a number of static irq_domain_ops structs that were never
> modified. This allows the compiler to put them in read-only memory.
>
> Rikard Falkeborn (3):
> MIPS: OCTEON: Constify static irq_domain_ops
> MIPS: ath25: Constify static irq_domain_ops
> MIPS: pci-ar2315: Constify static irq_domain_ops
>
> arch/mips/ath25/ar2315.c | 2 +-
> arch/mips/ath25/ar5312.c | 2 +-
> arch/mips/cavium-octeon/octeon-irq.c | 10 +++++-----
> arch/mips/pci/pci-ar2315.c | 2 +-
> 4 files changed, 8 insertions(+), 8 deletions(-)

series applied to mips-next.

Thomas.

--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]