* [PATCH] drm: etnaviv: constify etnaviv_iommu_ops structures
@ 2017-01-15 18:50 Bhumika Goyal
2017-01-16 9:34 ` Lucas Stach
0 siblings, 1 reply; 2+ messages in thread
From: Bhumika Goyal @ 2017-01-15 18:50 UTC (permalink / raw)
To: julia.lawall, l.stach, etnaviv, christian.gmeiner, airlied,
etnaviv, dri-devel, linux-kernel
Cc: Bhumika Goyal
Declare etnaviv_iommu_ops structure as const as it is only used when
the reference of one of its field is stored in the ops field of a
iommu_domain structure. This ops field is of type const, so
etnaviv_iommu_ops structures having similar properties can be declared
const too.
Done using Coccinelle:
@r1 disable optional_qualifier@
identifier i;
position p;
@@
static struct etnaviv_iommu_ops i@p={...};
@ok1@
identifier r1.i;
position p;
struct etnaviv_iommu_domain x;
@@
x.domain.ops=&i@p.ops;
@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct etnaviv_iommu_ops i;
Before and after size details of .o file remains the same after
cross compiling for arm architecture.
Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
---
drivers/gpu/drm/etnaviv/etnaviv_iommu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_iommu.c b/drivers/gpu/drm/etnaviv/etnaviv_iommu.c
index 81f1583..7a7c97f 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_iommu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_iommu.c
@@ -184,7 +184,7 @@ static void etnaviv_iommuv1_dump(struct iommu_domain *domain, void *buf)
memcpy(buf, etnaviv_domain->pgtable.pgtable, PT_SIZE);
}
-static struct etnaviv_iommu_ops etnaviv_iommu_ops = {
+static const struct etnaviv_iommu_ops etnaviv_iommu_ops = {
.ops = {
.domain_free = etnaviv_domain_free,
.map = etnaviv_iommuv1_map,
--
1.9.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] drm: etnaviv: constify etnaviv_iommu_ops structures
2017-01-15 18:50 [PATCH] drm: etnaviv: constify etnaviv_iommu_ops structures Bhumika Goyal
@ 2017-01-16 9:34 ` Lucas Stach
0 siblings, 0 replies; 2+ messages in thread
From: Lucas Stach @ 2017-01-16 9:34 UTC (permalink / raw)
To: Bhumika Goyal
Cc: julia.lawall, etnaviv, christian.gmeiner, airlied, etnaviv,
dri-devel, linux-kernel
Am Montag, den 16.01.2017, 00:20 +0530 schrieb Bhumika Goyal:
> Declare etnaviv_iommu_ops structure as const as it is only used when
> the reference of one of its field is stored in the ops field of a
> iommu_domain structure. This ops field is of type const, so
> etnaviv_iommu_ops structures having similar properties can be declared
> const too.
> Done using Coccinelle:
>
> @r1 disable optional_qualifier@
> identifier i;
> position p;
> @@
> static struct etnaviv_iommu_ops i@p={...};
>
> @ok1@
> identifier r1.i;
> position p;
> struct etnaviv_iommu_domain x;
> @@
> x.domain.ops=&i@p.ops;
>
> @bad@
> position p!={r1.p,ok1.p};
> identifier r1.i;
> @@
> i@p
>
> @depends on !bad disable optional_qualifier@
> identifier r1.i;
> @@
> +const
> struct etnaviv_iommu_ops i;
>
> Before and after size details of .o file remains the same after
> cross compiling for arm architecture.
>
> Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
Thanks, I've applied this patch to my tree.
> ---
> drivers/gpu/drm/etnaviv/etnaviv_iommu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_iommu.c b/drivers/gpu/drm/etnaviv/etnaviv_iommu.c
> index 81f1583..7a7c97f 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_iommu.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_iommu.c
> @@ -184,7 +184,7 @@ static void etnaviv_iommuv1_dump(struct iommu_domain *domain, void *buf)
> memcpy(buf, etnaviv_domain->pgtable.pgtable, PT_SIZE);
> }
>
> -static struct etnaviv_iommu_ops etnaviv_iommu_ops = {
> +static const struct etnaviv_iommu_ops etnaviv_iommu_ops = {
> .ops = {
> .domain_free = etnaviv_domain_free,
> .map = etnaviv_iommuv1_map,
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-01-16 9:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-15 18:50 [PATCH] drm: etnaviv: constify etnaviv_iommu_ops structures Bhumika Goyal
2017-01-16 9:34 ` Lucas Stach
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).