* [v2] EDAC, sb_edac: Remove VLA usage
@ 2018-03-13 11:20 ` Gustavo A. R. Silva
0 siblings, 0 replies; 6+ messages in thread
From: Gustavo A. R. Silva @ 2018-03-13 11:20 UTC (permalink / raw)
To: Borislav Petkov, Mauro Carvalho Chehab; +Cc: linux-edac, linux-kernel
In preparation to enabling -Wvla, remove VLA and replace it
with a fixed-length array instead.
Fixed as part of the directive to remove all VLAs from
the kernel: https://lkml.org/lkml/2018/3/7/621
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
---
Changes in v2:
- Use macro max_t to compute the max of all three array sizes.
This change is based on Borislav's feedback.
drivers/edac/sb_edac.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
index 8721002..196b012 100644
--- a/drivers/edac/sb_edac.c
+++ b/drivers/edac/sb_edac.c
@@ -110,6 +110,10 @@ static const u32 knl_interleave_list[] = {
0xdc, 0xe4, 0xec, 0xf4, 0xfc, /* 15-19 */
0x104, 0x10c, 0x114, 0x11c, /* 20-23 */
};
+#define MAX_INTERLEAVE (max_t(unsigned int, ARRAY_SIZE(sbridge_interleave_list),\
+ max_t(unsigned int, ARRAY_SIZE(ibridge_interleave_list),\
+ ARRAY_SIZE(knl_interleave_list))))
+
struct interleave_pkg {
unsigned char start;
@@ -1899,7 +1903,7 @@ static int get_memory_error_data(struct mem_ctl_info *mci,
int n_rir, n_sads, n_tads, sad_way, sck_xch;
int sad_interl, idx, base_ch;
int interleave_mode, shiftup = 0;
- unsigned sad_interleave[pvt->info.max_interleave];
+ unsigned int sad_interleave[MAX_INTERLEAVE];
u32 reg, dram_rule;
u8 ch_way, sck_way, pkg, sad_ha = 0;
u32 tad_offset;
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2] EDAC, sb_edac: Remove VLA usage
@ 2018-03-13 11:20 ` Gustavo A. R. Silva
0 siblings, 0 replies; 6+ messages in thread
From: Gustavo A. R. Silva @ 2018-03-13 11:20 UTC (permalink / raw)
To: Borislav Petkov, Mauro Carvalho Chehab; +Cc: linux-edac, linux-kernel
In preparation to enabling -Wvla, remove VLA and replace it
with a fixed-length array instead.
Fixed as part of the directive to remove all VLAs from
the kernel: https://lkml.org/lkml/2018/3/7/621
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
---
Changes in v2:
- Use macro max_t to compute the max of all three array sizes.
This change is based on Borislav's feedback.
drivers/edac/sb_edac.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
index 8721002..196b012 100644
--- a/drivers/edac/sb_edac.c
+++ b/drivers/edac/sb_edac.c
@@ -110,6 +110,10 @@ static const u32 knl_interleave_list[] = {
0xdc, 0xe4, 0xec, 0xf4, 0xfc, /* 15-19 */
0x104, 0x10c, 0x114, 0x11c, /* 20-23 */
};
+#define MAX_INTERLEAVE (max_t(unsigned int, ARRAY_SIZE(sbridge_interleave_list),\
+ max_t(unsigned int, ARRAY_SIZE(ibridge_interleave_list),\
+ ARRAY_SIZE(knl_interleave_list))))
+
struct interleave_pkg {
unsigned char start;
@@ -1899,7 +1903,7 @@ static int get_memory_error_data(struct mem_ctl_info *mci,
int n_rir, n_sads, n_tads, sad_way, sck_xch;
int sad_interl, idx, base_ch;
int interleave_mode, shiftup = 0;
- unsigned sad_interleave[pvt->info.max_interleave];
+ unsigned int sad_interleave[MAX_INTERLEAVE];
u32 reg, dram_rule;
u8 ch_way, sck_way, pkg, sad_ha = 0;
u32 tad_offset;
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [v2] EDAC, sb_edac: Remove VLA usage
2018-03-13 11:20 ` [PATCH v2] " Gustavo A. R. Silva
@ 2018-03-13 13:21 ` Mauro Carvalho Chehab
-1 siblings, 0 replies; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2018-03-13 13:21 UTC (permalink / raw)
To: Gustavo A. R. Silva; +Cc: Borislav Petkov, linux-edac, linux-kernel
Em Tue, 13 Mar 2018 06:20:34 -0500
"Gustavo A. R. Silva" <gustavo@embeddedor.com> escreveu:
> In preparation to enabling -Wvla, remove VLA and replace it
> with a fixed-length array instead.
>
> Fixed as part of the directive to remove all VLAs from
> the kernel: https://lkml.org/lkml/2018/3/7/621
>
> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> ---
> Changes in v2:
> - Use macro max_t to compute the max of all three array sizes.
> This change is based on Borislav's feedback.
>
> drivers/edac/sb_edac.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
> index 8721002..196b012 100644
> --- a/drivers/edac/sb_edac.c
> +++ b/drivers/edac/sb_edac.c
> @@ -110,6 +110,10 @@ static const u32 knl_interleave_list[] = {
> 0xdc, 0xe4, 0xec, 0xf4, 0xfc, /* 15-19 */
> 0x104, 0x10c, 0x114, 0x11c, /* 20-23 */
> };
> +#define MAX_INTERLEAVE (max_t(unsigned int, ARRAY_SIZE(sbridge_interleave_list),\
> + max_t(unsigned int, ARRAY_SIZE(ibridge_interleave_list),\
> + ARRAY_SIZE(knl_interleave_list))))
> +
In order to avoid too long lines, it would be better to do it as:
#define MAX_INTERLEAVE \
(max_t(unsigned int, ARRAY_SIZE(sbridge_interleave_list), \
max_t(unsigned int, ARRAY_SIZE(ibridge_interleave_list), \
ARRAY_SIZE(knl_interleave_list))))
With that:
Reviewed-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
>
> struct interleave_pkg {
> unsigned char start;
> @@ -1899,7 +1903,7 @@ static int get_memory_error_data(struct mem_ctl_info *mci,
> int n_rir, n_sads, n_tads, sad_way, sck_xch;
> int sad_interl, idx, base_ch;
> int interleave_mode, shiftup = 0;
> - unsigned sad_interleave[pvt->info.max_interleave];
> + unsigned int sad_interleave[MAX_INTERLEAVE];
> u32 reg, dram_rule;
> u8 ch_way, sck_way, pkg, sad_ha = 0;
> u32 tad_offset;
Thanks,
Mauro
---
To unsubscribe from this list: send the line "unsubscribe linux-edac" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] EDAC, sb_edac: Remove VLA usage
@ 2018-03-13 13:21 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2018-03-13 13:21 UTC (permalink / raw)
To: Gustavo A. R. Silva; +Cc: Borislav Petkov, linux-edac, linux-kernel
Em Tue, 13 Mar 2018 06:20:34 -0500
"Gustavo A. R. Silva" <gustavo@embeddedor.com> escreveu:
> In preparation to enabling -Wvla, remove VLA and replace it
> with a fixed-length array instead.
>
> Fixed as part of the directive to remove all VLAs from
> the kernel: https://lkml.org/lkml/2018/3/7/621
>
> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> ---
> Changes in v2:
> - Use macro max_t to compute the max of all three array sizes.
> This change is based on Borislav's feedback.
>
> drivers/edac/sb_edac.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
> index 8721002..196b012 100644
> --- a/drivers/edac/sb_edac.c
> +++ b/drivers/edac/sb_edac.c
> @@ -110,6 +110,10 @@ static const u32 knl_interleave_list[] = {
> 0xdc, 0xe4, 0xec, 0xf4, 0xfc, /* 15-19 */
> 0x104, 0x10c, 0x114, 0x11c, /* 20-23 */
> };
> +#define MAX_INTERLEAVE (max_t(unsigned int, ARRAY_SIZE(sbridge_interleave_list),\
> + max_t(unsigned int, ARRAY_SIZE(ibridge_interleave_list),\
> + ARRAY_SIZE(knl_interleave_list))))
> +
In order to avoid too long lines, it would be better to do it as:
#define MAX_INTERLEAVE \
(max_t(unsigned int, ARRAY_SIZE(sbridge_interleave_list), \
max_t(unsigned int, ARRAY_SIZE(ibridge_interleave_list), \
ARRAY_SIZE(knl_interleave_list))))
With that:
Reviewed-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
>
> struct interleave_pkg {
> unsigned char start;
> @@ -1899,7 +1903,7 @@ static int get_memory_error_data(struct mem_ctl_info *mci,
> int n_rir, n_sads, n_tads, sad_way, sck_xch;
> int sad_interl, idx, base_ch;
> int interleave_mode, shiftup = 0;
> - unsigned sad_interleave[pvt->info.max_interleave];
> + unsigned int sad_interleave[MAX_INTERLEAVE];
> u32 reg, dram_rule;
> u8 ch_way, sck_way, pkg, sad_ha = 0;
> u32 tad_offset;
Thanks,
Mauro
^ permalink raw reply [flat|nested] 6+ messages in thread
* [v2] EDAC, sb_edac: Remove VLA usage
2018-03-13 13:21 ` [PATCH v2] " Mauro Carvalho Chehab
@ 2018-03-13 13:30 ` Gustavo A. R. Silva
-1 siblings, 0 replies; 6+ messages in thread
From: Gustavo A. R. Silva @ 2018-03-13 13:30 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: Borislav Petkov, linux-edac, linux-kernel
On 03/13/2018 08:21 AM, Mauro Carvalho Chehab wrote:
> Em Tue, 13 Mar 2018 06:20:34 -0500
> "Gustavo A. R. Silva" <gustavo@embeddedor.com> escreveu:
>
>> In preparation to enabling -Wvla, remove VLA and replace it
>> with a fixed-length array instead.
>>
>> Fixed as part of the directive to remove all VLAs from
>> the kernel: https://lkml.org/lkml/2018/3/7/621
>>
>> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
>> ---
>> Changes in v2:
>> - Use macro max_t to compute the max of all three array sizes.
>> This change is based on Borislav's feedback.
>>
>> drivers/edac/sb_edac.c | 6 +++++-
>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
>> index 8721002..196b012 100644
>> --- a/drivers/edac/sb_edac.c
>> +++ b/drivers/edac/sb_edac.c
>> @@ -110,6 +110,10 @@ static const u32 knl_interleave_list[] = {
>> 0xdc, 0xe4, 0xec, 0xf4, 0xfc, /* 15-19 */
>> 0x104, 0x10c, 0x114, 0x11c, /* 20-23 */
>> };
>> +#define MAX_INTERLEAVE (max_t(unsigned int, ARRAY_SIZE(sbridge_interleave_list),\
>> + max_t(unsigned int, ARRAY_SIZE(ibridge_interleave_list),\
>> + ARRAY_SIZE(knl_interleave_list))))
>> +
>
> In order to avoid too long lines, it would be better to do it as:
>
> #define MAX_INTERLEAVE \
> (max_t(unsigned int, ARRAY_SIZE(sbridge_interleave_list), \
> max_t(unsigned int, ARRAY_SIZE(ibridge_interleave_list), \
> ARRAY_SIZE(knl_interleave_list))))
>
Yep. I agree.
>
> With that:
>
> Reviewed-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
>
I'll send v3 and add your Reviewed-by.
Thanks, Mauro.
---
Gustavo
--
To unsubscribe from this list: send the line "unsubscribe linux-edac" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] EDAC, sb_edac: Remove VLA usage
@ 2018-03-13 13:30 ` Gustavo A. R. Silva
0 siblings, 0 replies; 6+ messages in thread
From: Gustavo A. R. Silva @ 2018-03-13 13:30 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: Borislav Petkov, linux-edac, linux-kernel
On 03/13/2018 08:21 AM, Mauro Carvalho Chehab wrote:
> Em Tue, 13 Mar 2018 06:20:34 -0500
> "Gustavo A. R. Silva" <gustavo@embeddedor.com> escreveu:
>
>> In preparation to enabling -Wvla, remove VLA and replace it
>> with a fixed-length array instead.
>>
>> Fixed as part of the directive to remove all VLAs from
>> the kernel: https://lkml.org/lkml/2018/3/7/621
>>
>> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
>> ---
>> Changes in v2:
>> - Use macro max_t to compute the max of all three array sizes.
>> This change is based on Borislav's feedback.
>>
>> drivers/edac/sb_edac.c | 6 +++++-
>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
>> index 8721002..196b012 100644
>> --- a/drivers/edac/sb_edac.c
>> +++ b/drivers/edac/sb_edac.c
>> @@ -110,6 +110,10 @@ static const u32 knl_interleave_list[] = {
>> 0xdc, 0xe4, 0xec, 0xf4, 0xfc, /* 15-19 */
>> 0x104, 0x10c, 0x114, 0x11c, /* 20-23 */
>> };
>> +#define MAX_INTERLEAVE (max_t(unsigned int, ARRAY_SIZE(sbridge_interleave_list),\
>> + max_t(unsigned int, ARRAY_SIZE(ibridge_interleave_list),\
>> + ARRAY_SIZE(knl_interleave_list))))
>> +
>
> In order to avoid too long lines, it would be better to do it as:
>
> #define MAX_INTERLEAVE \
> (max_t(unsigned int, ARRAY_SIZE(sbridge_interleave_list), \
> max_t(unsigned int, ARRAY_SIZE(ibridge_interleave_list), \
> ARRAY_SIZE(knl_interleave_list))))
>
Yep. I agree.
>
> With that:
>
> Reviewed-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
>
I'll send v3 and add your Reviewed-by.
Thanks, Mauro.
--
Gustavo
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-03-13 13:30 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-13 13:21 [v2] EDAC, sb_edac: Remove VLA usage Mauro Carvalho Chehab
2018-03-13 13:21 ` [PATCH v2] " Mauro Carvalho Chehab
-- strict thread matches above, loose matches on Subject: below --
2018-03-13 13:30 [v2] " Gustavo A. R. Silva
2018-03-13 13:30 ` [PATCH v2] " Gustavo A. R. Silva
2018-03-13 11:20 [v2] " Gustavo A. R. Silva
2018-03-13 11:20 ` [PATCH v2] " Gustavo A. R. Silva
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.