From: Troy Kisky <troy.kisky@boundarydevices.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] video: ipu_disp: squash clang warning
Date: Mon, 16 Jun 2014 14:50:00 -0700 [thread overview]
Message-ID: <539F6688.1040601@boundarydevices.com> (raw)
In-Reply-To: <1402951075.2333.22.camel@yellow>
On 6/16/2014 1:37 PM, Jeroen Hofstee wrote:
> On ma, 2014-06-16 at 12:52 -0700, Troy Kisky wrote:
>> On 6/16/2014 12:41 PM, Jeroen Hofstee wrote:
>>> Since &rgb2ycbcr_coeff and friends are declared const, but
>>> assigned to a void pointer, clang will warn that the const
>>> is implicity casted away. Add const to indicate the pointer
>>> points to const data to get rid of these warnings.
>>>
>>> Cc: Stefano Babic <sbabic@denx.de>
>>> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
>>> ---
>>> drivers/video/ipu_disp.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/video/ipu_disp.c b/drivers/video/ipu_disp.c
>>> index cefd2dc..31b5a10 100644
>>> --- a/drivers/video/ipu_disp.c
>>> +++ b/drivers/video/ipu_disp.c
>>> @@ -33,7 +33,7 @@ enum csc_type_t {
>>>
>>> struct dp_csc_param_t {
>>> int mode;
>>> - void *coeff;
>>> + void * const coeff;
>>> };
>>>
>>> #define SYNC_WAVE 0
>>>
>>
>> Doesn't this says the pointer is constant, not that it points to constant data?
>> So, commit log needs updated or
>> const void *coeff;
>
> The reason I wrongly changed it from void const * to void * const was to
> circumvent gcc complaining with:
>
> drivers/video/ipu_disp.c: In function ?ipu_dp_csc_setup?:
> drivers/video/ipu_disp.c:393:8: warning: assignment discards ?const?
> qualifier from pointer target type [enabled by default]
>
> This can be solved with:
>
> @@ -390,7 +390,7 @@ void ipu_dp_csc_setup(int dp, struct dp_csc_param_t
> dp_csc_param,
> __raw_writel(reg, DP_COM_CONF());
> }
> - coeff = dp_csc_param.coeff;
> + coeff = (const int (*)[5][3]) dp_csc_param.coeff;
>
> if (coeff) {
> __raw_writel(mask_a((*coeff)[0][0]) |
>
>
> But I am not too happy with that. Happen to know a better way?
>
> Regards,
> Jeroen
>
I don't know why it gets that warning. The following doesn't.
diff --git a/drivers/video/ipu_disp.c b/drivers/video/ipu_disp.c
index cefd2dc..209374f 100644
--- a/drivers/video/ipu_disp.c
+++ b/drivers/video/ipu_disp.c
@@ -31,9 +31,11 @@ enum csc_type_t {
CSC_NUM
};
+typedef int coeff_t[5][3];
+
struct dp_csc_param_t {
int mode;
- void *coeff;
+ const coeff_t *coeff;
};
#define SYNC_WAVE 0
@@ -381,7 +383,7 @@ void ipu_dp_csc_setup(int dp, struct dp_csc_param_t dp_csc_param,
unsigned char srm_mode_update)
{
u32 reg;
- const int (*coeff)[5][3];
+ const coeff_t *coeff;
if (dp_csc_param.mode >= 0) {
reg = __raw_readl(DP_COM_CONF());
next prev parent reply other threads:[~2014-06-16 21:50 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-16 19:41 [U-Boot] [PATCH] video: ipu_disp: squash clang warning Jeroen Hofstee
2014-06-16 19:52 ` Troy Kisky
2014-06-16 20:03 ` Jeroen Hofstee
2014-06-16 20:37 ` Jeroen Hofstee
2014-06-16 21:50 ` Troy Kisky [this message]
2014-06-17 17:16 ` Jeroen Hofstee
2014-06-17 17:20 ` [U-Boot] [[PATCH v2]] " Jeroen Hofstee
2014-08-11 15:54 ` Anatolij Gustschin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=539F6688.1040601@boundarydevices.com \
--to=troy.kisky@boundarydevices.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox