vt: Fix warning: statement with no effect due to vt_kern.h
authorKevin Winchester <kjwinchester@gmail.com>
Sat, 10 Jul 2010 21:57:56 +0000 (18:57 -0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 10 Aug 2010 20:47:44 +0000 (13:47 -0700)
Using:

gcc (GCC) 4.5.0 20100610 (prerelease)

with CONFIG_CONSOLE_TRANSLATIONS=n, the following warnings are seen:

drivers/char/vt_ioctl.c: In function ‘vt_ioctl’:
drivers/char/vt_ioctl.c:1309:4: warning: statement with no effect
drivers/char/vt.c: In function ‘vc_allocate’:
drivers/char/vt.c:774:3: warning: statement with no effect
drivers/video/console/vgacon.c: In function ‘vgacon_init’:
drivers/video/console/vgacon.c:587:3: warning: statement with no effect
drivers/video/console/vgacon.c: In function ‘vgacon_deinit’:
drivers/video/console/vgacon.c:606:2: warning: statement with no effect
drivers/video/console/fbcon.c: In function ‘fbcon_init’:
drivers/video/console/fbcon.c:1087:3: warning: statement with no effect
drivers/video/console/fbcon.c:1089:3: warning: statement with no effect
drivers/video/console/fbcon.c: In function ‘fbcon_set_disp’:
drivers/video/console/fbcon.c:1369:3: warning: statement with no effect
drivers/video/console/fbcon.c:1371:3: warning: statement with no effect

This is because several functions in include/linux/vt_kern.h are
defined to (0).  Convert them to static inline functions to
silence the warnings and gain a bit of type safety.

Signed-off-by: Kevin Winchester <kjwinchester@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
include/linux/vt_kern.h

index 56cce34..6625cc1 100644 (file)
@@ -76,17 +76,52 @@ int con_copy_unimap(struct vc_data *dst_vc, struct vc_data *src_vc);
 #define vc_translate(vc, c) ((vc)->vc_translate[(c) |                  \
                                        ((vc)->vc_toggle_meta ? 0x80 : 0)])
 #else
-#define con_set_trans_old(arg) (0)
-#define con_get_trans_old(arg) (-EINVAL)
-#define con_set_trans_new(arg) (0)
-#define con_get_trans_new(arg) (-EINVAL)
-#define con_clear_unimap(vc, ui) (0)
-#define con_set_unimap(vc, ct, list) (0)
-#define con_set_default_unimap(vc) (0)
-#define con_copy_unimap(d, s) (0)
-#define con_get_unimap(vc, ct, uct, list) (-EINVAL)
-#define con_free_unimap(vc) do { ; } while (0)
-#define con_protect_unimap(vc, rdonly) do { ; } while (0)
+static inline int con_set_trans_old(unsigned char __user *table)
+{
+       return 0;
+}
+static inline int con_get_trans_old(unsigned char __user *table)
+{
+       return -EINVAL;
+}
+static inline int con_set_trans_new(unsigned short __user *table)
+{
+       return 0;
+}
+static inline int con_get_trans_new(unsigned short __user *table)
+{
+       return -EINVAL;
+}
+static inline int con_clear_unimap(struct vc_data *vc, struct unimapinit *ui)
+{
+       return 0;
+}
+static inline
+int con_set_unimap(struct vc_data *vc, ushort ct, struct unipair __user *list)
+{
+       return 0;
+}
+static inline
+int con_get_unimap(struct vc_data *vc, ushort ct, ushort __user *uct,
+                  struct unipair __user *list)
+{
+       return -EINVAL;
+}
+static inline int con_set_default_unimap(struct vc_data *vc)
+{
+       return 0;
+}
+static inline void con_free_unimap(struct vc_data *vc)
+{
+}
+static inline void con_protect_unimap(struct vc_data *vc, int rdonly)
+{
+}
+static inline
+int con_copy_unimap(struct vc_data *dst_vc, struct vc_data *src_vc)
+{
+       return 0;
+}
 
 #define vc_translate(vc, c) (c)
 #endif