Commit fc19fca5 authored by David Mosberger's avatar David Mosberger Committed by Tony Luck

[IA64] minor sparse cleanups

Here are three more sparse-triggered fixes which didn't fit anywhere
else.  The first one gets rid of some quoting in palinfo.c which
sparse doesn't like.  This used to be necessary because GCC would
otherwise warn about an unknown trigraph.  That's not a problem
anymore since the kernel is now being compiled with -Wno-trigraphs.
The efirtc.c patch is mostly sparse-annotations but also cleans up
trailing whitespace.  Finally, the bitfields in rwlock_t are changed
to be explicitly "unsigned" to avoid a warning from sparse (it doesn't
like 1-bit signed bitfields in particular).
Signed-off-by: default avatarDavid Mosberger-Tang <davidm@hpl.hp.com>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent 9ae5d940
...@@ -446,7 +446,7 @@ register_info(char *page) ...@@ -446,7 +446,7 @@ register_info(char *page)
"RSE stacked physical registers : %ld\n" "RSE stacked physical registers : %ld\n"
"RSE load/store hints : %ld (%s)\n", "RSE load/store hints : %ld (%s)\n",
phys_stacked, hints.ph_data, phys_stacked, hints.ph_data,
hints.ph_data < RSE_HINTS_COUNT ? rse_hints[hints.ph_data]: "(\?\?)"); hints.ph_data < RSE_HINTS_COUNT ? rse_hints[hints.ph_data]: "(??)");
if (ia64_pal_debug_info(&iregs, &dregs)) if (ia64_pal_debug_info(&iregs, &dregs))
return 0; return 0;
......
...@@ -155,7 +155,7 @@ efi_rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd, ...@@ -155,7 +155,7 @@ efi_rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
efi_time_t eft; efi_time_t eft;
efi_time_cap_t cap; efi_time_cap_t cap;
struct rtc_time wtime; struct rtc_time wtime;
struct rtc_wkalrm *ewp; struct rtc_wkalrm __user *ewp;
unsigned char enabled, pending; unsigned char enabled, pending;
switch (cmd) { switch (cmd) {
...@@ -189,13 +189,15 @@ efi_rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd, ...@@ -189,13 +189,15 @@ efi_rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
convert_from_efi_time(&eft, &wtime); convert_from_efi_time(&eft, &wtime);
return copy_to_user((void *)arg, &wtime, sizeof (struct rtc_time)) ? - EFAULT : 0; return copy_to_user((void __user *)arg, &wtime,
sizeof (struct rtc_time)) ? - EFAULT : 0;
case RTC_SET_TIME: case RTC_SET_TIME:
if (!capable(CAP_SYS_TIME)) return -EACCES; if (!capable(CAP_SYS_TIME)) return -EACCES;
if (copy_from_user(&wtime, (struct rtc_time *)arg, sizeof(struct rtc_time)) ) if (copy_from_user(&wtime, (struct rtc_time __user *)arg,
sizeof(struct rtc_time)) )
return -EFAULT; return -EFAULT;
convert_to_efi_time(&wtime, &eft); convert_to_efi_time(&wtime, &eft);
...@@ -212,19 +214,19 @@ efi_rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd, ...@@ -212,19 +214,19 @@ efi_rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
if (!capable(CAP_SYS_TIME)) return -EACCES; if (!capable(CAP_SYS_TIME)) return -EACCES;
ewp = (struct rtc_wkalrm *)arg; ewp = (struct rtc_wkalrm __user *)arg;
if ( get_user(enabled, &ewp->enabled) if ( get_user(enabled, &ewp->enabled)
|| copy_from_user(&wtime, &ewp->time, sizeof(struct rtc_time)) ) || copy_from_user(&wtime, &ewp->time, sizeof(struct rtc_time)) )
return -EFAULT; return -EFAULT;
convert_to_efi_time(&wtime, &eft); convert_to_efi_time(&wtime, &eft);
spin_lock_irqsave(&efi_rtc_lock, flags); spin_lock_irqsave(&efi_rtc_lock, flags);
/* /*
* XXX Fixme: * XXX Fixme:
* As of EFI 0.92 with the firmware I have on my * As of EFI 0.92 with the firmware I have on my
* machine this call does not seem to work quite * machine this call does not seem to work quite
* right * right
*/ */
status = efi.set_wakeup_time((efi_bool_t)enabled, &eft); status = efi.set_wakeup_time((efi_bool_t)enabled, &eft);
...@@ -243,14 +245,15 @@ efi_rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd, ...@@ -243,14 +245,15 @@ efi_rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
if (status != EFI_SUCCESS) return -EINVAL; if (status != EFI_SUCCESS) return -EINVAL;
ewp = (struct rtc_wkalrm *)arg; ewp = (struct rtc_wkalrm __user *)arg;
if ( put_user(enabled, &ewp->enabled) if ( put_user(enabled, &ewp->enabled)
|| put_user(pending, &ewp->pending)) return -EFAULT; || put_user(pending, &ewp->pending)) return -EFAULT;
convert_from_efi_time(&eft, &wtime); convert_from_efi_time(&eft, &wtime);
return copy_to_user((void *)&ewp->time, &wtime, sizeof(struct rtc_time)) ? -EFAULT : 0; return copy_to_user(&ewp->time, &wtime,
sizeof(struct rtc_time)) ? -EFAULT : 0;
} }
return -EINVAL; return -EINVAL;
} }
......
...@@ -114,8 +114,8 @@ do { \ ...@@ -114,8 +114,8 @@ do { \
#define spin_unlock_wait(x) do { barrier(); } while ((x)->lock) #define spin_unlock_wait(x) do { barrier(); } while ((x)->lock)
typedef struct { typedef struct {
volatile int read_counter : 31; volatile unsigned int read_counter : 31;
volatile int write_lock : 1; volatile unsigned int write_lock : 1;
} rwlock_t; } rwlock_t;
#define RW_LOCK_UNLOCKED (rwlock_t) { 0, 0 } #define RW_LOCK_UNLOCKED (rwlock_t) { 0, 0 }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment