Re: [PATCH v1] hpet: Make cmd parameter of hpet_ioctl_common() unsigned
From: Grant Grundler
Date: Thu Mar 23 2017 - 17:47:51 EST
On Tue, Mar 14, 2017 at 12:56 AM, Clemens Ladisch <clemens@xxxxxxxxxx> wrote:
> Matthias Kaehlcke wrote:
>> The value passed by the two callers of the function is unsigned anyway.
>
> Indeed; and those are just simple wrappers.
>
>> Making the parameter unsigned fixes the following warning when building
>> with clang:
>>
>> drivers/char/hpet.c:588:7: error: overflow converting case value to switch condition type (2149083139 to 18446744071563667459) [-Werror,-Wswitch]
>> case HPET_INFO:
>> ^
>> include/uapi/linux/hpet.h:18:19: note: expanded from macro 'HPET_INFO'
>> ^
>> include/uapi/asm-generic/ioctl.h:77:28: note: expanded from macro '_IOR'
>> ^
>> include/uapi/asm-generic/ioctl.h:66:2: note: expanded from macro '_IOC'
>> (((dir) << _IOC_DIRSHIFT) | \
>>
>> Signed-off-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>
>
> Acked-by: Clemens Ladisch <clemens@xxxxxxxxxx>
Any other feedback on this patch?
Or has this already been added to someone's "for-linus" branch?
just looking for update on patch status.
cheers,
grant
>
>> ---
>> drivers/char/hpet.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
>> index 20b32bb8c2af..0d633b76c29e 100644
>> --- a/drivers/char/hpet.c
>> +++ b/drivers/char/hpet.c
>> @@ -574,7 +574,7 @@ static inline unsigned long hpet_time_div(struct hpets *hpets,
>> }
>>
>> static int
>> -hpet_ioctl_common(struct hpet_dev *devp, int cmd, unsigned long arg,
>> +hpet_ioctl_common(struct hpet_dev *devp, unsigned int cmd, unsigned long arg,
>> struct hpet_info *info)
>> {
>> struct hpet_timer __iomem *timer;