From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753822AbdCTJdx (ORCPT ); Mon, 20 Mar 2017 05:33:53 -0400 Received: from mx2.suse.de ([195.135.220.15]:51962 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753401AbdCTJdv (ORCPT ); Mon, 20 Mar 2017 05:33:51 -0400 Date: Mon, 20 Mar 2017 10:33:43 +0100 Message-ID: From: Takashi Iwai To: Matthias Kaehlcke Cc: Jaroslav Kysela , Sven Hahne , Julia Lawall , alsa-devel@alsa-project.org, Grant Grundler , linux-kernel@vger.kernel.org, Greg Hackmann , Michael Davidson Subject: Re: [alsa-devel] [PATCH] ALSA: hda/ca0132: Limit values for chip addresses to 32-bit In-Reply-To: <20170316205223.16926-1-mka@chromium.org> References: <20170316205223.16926-1-mka@chromium.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/25.1 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 16 Mar 2017 21:52:23 +0100, Matthias Kaehlcke wrote: > > With the previous unsigned long value clang generates warnings like > this: > > sound/pci/hda/patch_ca0132.c:860:37: error: implicit conversion from > 'unsigned long' to 'u32' (aka 'unsigned int') changes value from > 18446744073709551615 to 4294967295 [-Werror,-Wconstant-conversion] > spec->curr_chip_addx = (res < 0) ? ~0UL : chip_addx; > ~ ^~~~ > > Signed-off-by: Matthias Kaehlcke Thanks for the patch. The changes look mostly OK, but... > --- > sound/pci/hda/patch_ca0132.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c > index 11b9b2f17a2e..7175e2b46fc4 100644 > --- a/sound/pci/hda/patch_ca0132.c > +++ b/sound/pci/hda/patch_ca0132.c > @@ -857,7 +857,7 @@ static int chipio_write_address(struct hda_codec *codec, > chip_addx >> 16); > } > > - spec->curr_chip_addx = (res < 0) ? ~0UL : chip_addx; > + spec->curr_chip_addx = (res < 0) ? (u32)~0U : chip_addx; ... I guess the cast to u32 is superfluous here? That is, just replace UL to U should work, I suppose. (Ditto for all other places.) Takashi