@@ -3501,3 +3501,53 @@
   .size = ARRAY_SIZE(ir_codes_winfast_usbii_deluxe),
};
EXPORT_SYMBOL_GPL(ir_codes_winfast_usbii_deluxe_table);
+
+/* Kworld 315U
+*/
+static struct ir_scancode ir_codes_kworld_315u[] = {
+Â Â Â { 0x6143, KEY_POWER },
+   { 0x6101, KEY_TUNER },   /* source */
+Â Â Â { 0x610b, KEY_ZOOM },
+   { 0x6103, KEY_POWER2 },   /* shutdown */
+
+Â Â Â { 0x6104, KEY_1 },
+Â Â Â { 0x6108, KEY_2 },
+Â Â Â { 0x6102, KEY_3 },
+Â Â Â { 0x6109, KEY_CHANNELUP },
+
+Â Â Â { 0x610f, KEY_4 },
+Â Â Â { 0x6105, KEY_5 },
+Â Â Â { 0x6106, KEY_6 },
+Â Â Â { 0x6107, KEY_CHANNELDOWN },
+
+Â Â Â { 0x610c, KEY_7 },
+Â Â Â { 0x610d, KEY_8 },
+Â Â Â { 0x610a, KEY_9 },
+Â Â Â { 0x610e, KEY_VOLUMEUP },
+
+Â Â Â { 0x6110, KEY_LAST },
+Â Â Â { 0x6111, KEY_0 },
+Â Â Â { 0x6112, KEY_ENTER },
+Â Â Â { 0x6113, KEY_VOLUMEDOWN },
+
+Â Â Â { 0x6114, KEY_RECORD },
+Â Â Â { 0x6115, KEY_STOP },
+Â Â Â { 0x6116, KEY_PLAY },
+Â Â Â { 0x6117, KEY_MUTE },
+
+Â Â Â { 0x6118, KEY_UP },
+Â Â Â { 0x6119, KEY_DOWN },
+Â Â Â { 0x611a, KEY_LEFT },
+Â Â Â { 0x611b, KEY_RIGHT },
+
+Â Â Â { 0x611c, KEY_RED },
+Â Â Â { 0x611d, KEY_GREEN },
+Â Â Â { 0x611e, KEY_YELLOW },
+Â Â Â { 0x611f, KEY_BLUE },
+};
+struct ir_scancode_table ir_codes_kworld_315u_table = {
+Â Â Â .scan = ir_codes_kworld_315u,
+Â Â Â .size = ARRAY_SIZE(ir_codes_kworld_315u),
+Â Â Â .ir_type = IR_TYPE_NEC,
+};
+EXPORT_SYMBOL_GPL(ir_codes_kworld_315u_table);