Re: patch for Asus My Cinema PS3-100 (1043:48cd)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ok, I used your patch against the last media-build tree.
Here are the results.


* first, I added these lines to the patch to get the modules compiled :

###################################################################
Signed-off-by: Remi Schwartz <remi.schwartz@xxxxxxxxx>

Index: patchwork/include/media/rc-map.h
===================================================================
--- patchwork.orig/include/media/rc-map.h
+++ patchwork/include/media/rc-map.h
@@ -62,6 +62,7 @@
 #define RC_MAP_ANYSEE                    "rc-anysee"
 #define RC_MAP_APAC_VIEWCOMP             "rc-apac-viewcomp"
 #define RC_MAP_ASUS_PC39                 "rc-asus-pc39"
+#define RC_MAP_ASUS_PS3_100              "rc-asus-ps3-100"
 #define RC_MAP_ATI_TV_WONDER_HD_600      "rc-ati-tv-wonder-hd-600"
 #define RC_MAP_ATI_X10                   "rc-ati-x10"
 #define RC_MAP_AVERMEDIA_A16D            "rc-avermedia-a16d"
Index: patchwork/drivers/media/rc/keymaps/Makefile
===================================================================
--- patchwork.orig/drivers/media/rc/keymaps/Makefile
+++ patchwork/drivers/media/rc/keymaps/Makefile
@@ -3,6 +3,7 @@
 			rc-anysee.o \
 			rc-apac-viewcomp.o \
 			rc-asus-pc39.o \
+			rc-asus-ps3-100.o \
 			rc-ati-tv-wonder-hd-600.o \
 			rc-ati-x10.o \
 			rc-avermedia-a16d.o \
###################################################################


* then, I wanted to compile the RC part using "CONFIG_RC_CORE=y",
this is what I have obtained :

WARNING: "rc_unregister_device" [/usr/src/media_build/v4l/saa7134.ko] undefined!
WARNING: "rc_allocate_device" [/usr/src/media_build/v4l/saa7134.ko] undefined!
WARNING: "rc_free_device" [/usr/src/media_build/v4l/saa7134.ko] undefined!
WARNING: "ir_raw_event_store_edge" [/usr/src/media_build/v4l/saa7134.ko] undefined!
WARNING: "rc_register_device" [/usr/src/media_build/v4l/saa7134.ko] undefined!
WARNING: "rc_keydown_notimeout" [/usr/src/media_build/v4l/saa7134.ko] undefined!
WARNING: "rc_keyup" [/usr/src/media_build/v4l/saa7134.ko] undefined!
WARNING: "ir_raw_event_handle" [/usr/src/media_build/v4l/saa7134.ko] undefined!

and the compiled modules don't load because of unknown symbols


* changing to "CONFIG_RC_CORE=m" lets the modules compile and load, but when
loading, I get "BUG: unable to handle kernel NULL pointer dereference at (null)".

More precisely :

[   15.730917] saa7130/34: v4l2 driver version 0, 2, 17 loaded
[   15.732471] saa7134 0000:01:09.0: PCI INT A -> Link[APC2] -> GSI 17 (level, low) -> IRQ 17
[   15.732477] saa7133[0]: found at 0000:01:09.0, rev: 209, irq: 17, latency: 32, mmio: 0xfddfe000
[   15.732484] saa7133[0]: subsystem: 1043:48cd, board: Asus My Cinema PS3-100 [card=190,autodetected]
[   15.732510] saa7133[0]: board init: gpio is 40000
[   15.816459] Registered IR keymap rc-asus-ps3-100
[   15.816554] input: saa7134 IR (Asus My Cinema PS3- as /devices/pci0000:00/0000:00:10.0/0000:01:09.0/rc/rc0/input5
[   15.816611] rc0: saa7134 IR (Asus My Cinema PS3- as /devices/pci0000:00/0000:00:10.0/0000:01:09.0/rc/rc0
[   15.830376] IRQ 17/saa7133[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[   15.830428] BUG: unable to handle kernel NULL pointer dereference at (null)
[   15.830431] IP: [<ffffffff812fcd21>] _spin_lock_irqsave+0x1a/0x34
[   15.830438] PGD 0 
[   15.830440] Oops: 0002 [#1] SMP 
[   15.830442] last sysfs file: /sys/devices/virtual/dmi/id/sys_vendor
[   15.830445] CPU 0 
[   15.830446] Modules linked in: snd_hda_intel(+) snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss rc_asus_ps3_100 snd_pcm snd_seq_midi 
snd_rawmidi saa7134(+) snd_seq_midi_event snd_seq rc_core snd_timer snd_seq_device parport_pc parport videobuf_dma_sg videobuf_core 
v4l2_common videodev tveeprom asus_atk0110 snd amd64_edac_mod(-) i2c_nforce2 button evdev pcspkr psmouse serio_raw soundcore 
snd_page_alloc edac_core edac_mce_amd k8temp i2c_core processor ext4 mbcache jbd2 crc16 sg sd_mod crc_t10dif sr_mod cdrom ohci_hcd 
ata_generic sata_nv ehci_hcd fan pata_amd firewire_ohci floppy firewire_core crc_itu_t thermal libata scsi_mod usbcore nls_base thermal_sys 
forcedeth [last unloaded: scsi_wait_scan]
[   15.830479] Pid: 810, comm: rc0 Not tainted 2.6.32-5-amd64 #1 System Product Name
[   15.830481] RIP: 0010:[<ffffffff812fcd21>]  [<ffffffff812fcd21>] _spin_lock_irqsave+0x1a/0x34
[   15.830486] RSP: 0018:ffff8800ae147e90  EFLAGS: 00010086
[   15.830488] RAX: 0000000000000086 RBX: ffff8800ad60cde0 RCX: ffff8800ae15a350
[   15.830490] RDX: 0000000000010000 RSI: 0000000000000086 RDI: 0000000000000000
[   15.830492] RBP: ffff8800abc86a00 R08: ffff8800ae146000 R09: ffff880001815780
[   15.830494] R10: 0000000000000011 R11: ffff8800aec0f000 R12: ffff8800ae7a3c58
[   15.830496] R13: ffff8800abc86a18 R14: ffff8800ae15a350 R15: 0000000000000000
[   15.830498] FS:  00007f3c4693d7a0(0000) GS:ffff880001800000(0000) knlGS:0000000000000000
[   15.830500] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
[   15.830502] CR2: 0000000000000000 CR3: 00000000ad2b7000 CR4: 00000000000006f0
[   15.830504] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   15.830506] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[   15.830509] Process rc0 (pid: 810, threadinfo ffff8800ae146000, task ffff8800ae15a350)
[   15.830510] Stack:
[   15.830511]  0000000300000b2f ffffffffa031a533 ffff8800abc86a00 ffff8800ae7a3c60
[   15.830514] <0> 0000000000000286 ffff8800ae147ef8 ffff8800abc86a00 ffff8800ae7a3c58
[   15.830517] <0> ffffffffa031a4f8 0000000000000001 0000000000000000 ffffffff81064d75
[   15.830520] Call Trace:
[   15.830526]  [<ffffffffa031a533>] ? ir_raw_event_thread+0x3b/0x103 [rc_core]
[   15.830530]  [<ffffffffa031a4f8>] ? ir_raw_event_thread+0x0/0x103 [rc_core]
[   15.830534]  [<ffffffff81064d75>] ? kthread+0x79/0x81
[   15.830538]  [<ffffffff81011baa>] ? child_rip+0xa/0x20
[   15.830541]  [<ffffffff81064cfc>] ? kthread+0x0/0x81
[   15.830543]  [<ffffffff81011ba0>] ? child_rip+0x0/0x20
[   15.830544] Code: 31 d2 89 d0 c3 f0 83 2f 01 79 05 e8 7a 98 e9 ff c3 48 83 ec 08 9c 58 66 66 90 66 90 48 89 c6 fa 66 66 90 66 66 90 ba 00 00 01 
00 <f0> 0f c1 17 0f b7 ca c1 ea 10 39 d1 74 07 f3 90 0f b7 0f eb f5 
[   15.830561] RIP  [<ffffffff812fcd21>] _spin_lock_irqsave+0x1a/0x34
[   15.830564]  RSP <ffff8800ae147e90>
[   15.830566] CR2: 0000000000000000
[   15.830568] ---[ end trace b4dbd3b68f659105 ]---
[   17.488028] saa7133[0]: i2c eeprom 00: 43 10 cd 48 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
[   17.539962] input: ImPS/2 Generic Wheel Mouse as /devices/platform/i8042/serio1/input/input6
[   17.568983] saa7133[0]: i2c eeprom 10: ff ff ff 0f ff 20 ff ff ff ff ff ff ff ff ff ff
[   17.596222] saa7133[0]: i2c eeprom 20: 01 40 01 02 03 01 01 03 08 ff 00 2c ff ff ff ff
[   17.623127] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   17.649744] saa7133[0]: i2c eeprom 40: ff 28 00 c2 96 16 03 02 c0 1c ff ff ff ff ff ff
[   17.649750] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   17.649756] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   17.649761] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   17.649767] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   17.649772] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   17.649777] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   17.649783] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   17.649788] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   17.649794] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   17.649799] saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   17.649804] saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   17.940097] tuner 2-004b: Tuner -1 found with type(s) Radio TV.
[   18.036085] tda829x 2-004b: setting tuner address to 61
[   18.116017] tda829x 2-004b: type set to tda8290+75a
[   22.076088] saa7133[0]: registered device video0 [v4l2]
[   22.098506] saa7133[0]: registered device vbi0
[   22.120431] saa7133[0]: registered device radio0
[   22.160012] dvb_init() allocating 1 frontend
[   22.256099] DVB: registering new adapter (saa7133[0])
[   22.276274] DVB: registering adapter 0 frontend 0 (Philips TDA10046H DVB-T)...
[   22.648018] tda1004x: setting up plls for 48MHz sampling clock
[   22.952014] tda1004x: found firmware revision 29 -- ok
[   23.444186] saa7134 ALSA driver for DMA sound loaded
[   23.465213] IRQ 17/saa7133[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[   23.486751] saa7133[0]/alsa: saa7133[0] at 0xfddfe000 irq 17 registered as card -1

There seems to be a problem in the RC code.
I haven't found where the problem is. It is perhaps related to this : 

http://article.gmane.org/gmane.linux.kernel.input/15312

I have tested the DVB-T part and it works fine but remote doesn't work.
If I hit a remote key, the kernel freeze.

If you find a solution to this pointer problem, I can finish the work on the RC keycode table.

Regards,

Rémi


Le mardi 15 mai 2012, Mauro Carvalho Chehab a écrit :
> Em 05-04-2012 06:40, remi schwartz escreveu:
> > Hi all,
> > 
> > This is the patch against kernel 2.6.32 I used to get my TV card Asus
> > My Cinema PS3-100 (1043:48cd) to work.
> 
> Please, don't sent patches against older kernel versions, as they won't
> apply anymore upstream. In particular, since kernel 2.6.32, the entire
> RC code were re-written.
> 
> You can test the very latest media code using the media-build tree,
> available at:
> 	http://git.linuxtv.org/media_build.git
> 
> It compiles against old kernels (although won't compile the gspca driver
> since yesterday, as I'm applying a massive amount of patches those days
> and didn't have any time yet to fix gspca build).
> 
> > More information on this card can be found on this page :
> > 
> > http://www.0xf8.org/2009/09/asus-mycinema-ps3-100-3-in-1-tv-card/
> > 
> > This card seems to be a clone of the Asus Tiger 3in1, numbered 147 in the
> > SAA7134 module, so I gave it the temporary number of 1470.
> > 
> > DVB-T and remote have been tested and work fine.
> > DVB-S, FM and Composite input haven't been tested.
> > 
> > Hope that will help some of you.
> 
> In order to help adding support for this board, I re-wrote your code to
> apply it against the latest build.
> 
> I suspect that your RC keycode table is incomplete, as it is getting just
> the 8 least significant bits. So, you'll need to test it and fix the
> IR keytable.
> 
> Please test. Feel free to modify it, as I suspect that you'll need to
> re-work with the RC part of it.
> 
> Regards,
> Mauro
> 
> -
> 
> Add support for Asus My Cinema PS3-100 (1043:48cd)
> 
> Based on a previous patch from remi schwartz <remi.schwartz@xxxxxxxxx>
> 
> Thanks-to: Remi Schwartz <remi.schwartz@xxxxxxxxx>
> Signed-off-to: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
> 
> 
> Index: patchwork/drivers/media/video/saa7134/saa7134-input.c
> ===================================================================
> --- patchwork.orig/drivers/media/video/saa7134/saa7134-input.c
> +++ patchwork/drivers/media/video/saa7134/saa7134-input.c
> @@ -753,6 +753,11 @@ int saa7134_input_init1(struct saa7134_d
>  		mask_keycode = 0xffff;
>  		raw_decode   = true;
>  		break;
> +	case SAA7134_BOARD_ASUSTeK_PS3_100:
> +		ir_codes     = RC_MAP_ASUS_PS3_100;
> +		mask_keydown = 0x0040000;
> +		raw_decode   = true;
> +		break;
>  	case SAA7134_BOARD_ENCORE_ENLTV:
>  	case SAA7134_BOARD_ENCORE_ENLTV_FM:
>  		ir_codes     = RC_MAP_ENCORE_ENLTV;
> Index: patchwork/drivers/media/video/saa7134/saa7134-dvb.c
> ===================================================================
> --- patchwork.orig/drivers/media/video/saa7134/saa7134-dvb.c
> +++ patchwork/drivers/media/video/saa7134/saa7134-dvb.c
> @@ -881,6 +881,20 @@ static struct tda1004x_config asus_tiger
>  	.request_firmware = philips_tda1004x_request_firmware
>  };
> 
> +static struct tda1004x_config asus_ps3_100_config = {
> +	.demod_address = 0x0b,
> +	.invert        = 1,
> +	.invert_oclk   = 0,
> +	.xtal_freq     = TDA10046_XTAL_16M,
> +	.agc_config    = TDA10046_AGC_TDA827X,
> +	.gpio_config   = TDA10046_GP11_I,
> +	.if_freq       = TDA10046_FREQ_045,
> +	.i2c_gate      = 0x4b,
> +	.tuner_address = 0x61,
> +	.antenna_switch = 1,
> +	.request_firmware = philips_tda1004x_request_firmware
> +};
> +
>  /* ------------------------------------------------------------------
>   * special case: this card uses saa713x GPIO22 for the mode switch
>   */
> @@ -1649,6 +1663,31 @@ static int dvb_init(struct saa7134_dev *
>  						" found!\n", __func__);
>  					goto dettach_frontend;
>  				}
> +			}
> +		}
> +		break;
> +	case SAA7134_BOARD_ASUSTeK_PS3_100:
> +		if (!use_frontend) {     /* terrestrial */
> +			if (configure_tda827x_fe(dev, &asus_ps3_100_config,
> +							&tda827x_cfg_2) < 0)
> +				goto dettach_frontend;
> +		} else {  		/* satellite */
> +			fe0->dvb.frontend = dvb_attach(tda10086_attach,
> +						&flydvbs, &dev->i2c_adap);
> +			if (fe0->dvb.frontend) {
> +				if (dvb_attach(tda826x_attach,
> +						fe0->dvb.frontend, 0x60,
> +						&dev->i2c_adap, 0) == NULL) {
> +					wprintk("%s: Asus My Cinema PS3-100, no "
> +						"tda826x found!\n", __func__);
> +					goto dettach_frontend;
> +				}
> +				if (dvb_attach(lnbp21_attach, fe0->dvb.frontend,
> +						&dev->i2c_adap, 0, 0) == NULL) {
> +					wprintk("%s: Asus My Cinema PS3-100, no lnbp21"
> +						" found!\n", __func__);
> +					goto dettach_frontend;
> +				}
>  			}
>  		}
>  		break;
> Index: patchwork/drivers/media/video/saa7134/saa7134-cards.c
> ===================================================================
> --- patchwork.orig/drivers/media/video/saa7134/saa7134-cards.c
> +++ patchwork/drivers/media/video/saa7134/saa7134-cards.c
> @@ -5080,6 +5080,36 @@ struct saa7134_board saa7134_boards[] =
>  			.gpio = 0x0200000,
>  		},
>  	},
> +	[SAA7134_BOARD_ASUSTeK_PS3_100] = {
> +		.name           = "Asus My Cinema PS3-100",
> +		.audio_clock    = 0x00187de7,
> +		.tuner_type     = TUNER_PHILIPS_TDA8290,
> +		.radio_type     = UNSET,
> +		.tuner_addr     = ADDR_UNSET,
> +		.radio_addr     = ADDR_UNSET,
> +		.tuner_config   = 2,
> +		.gpiomask       = 1 << 21,
> +		.mpeg           = SAA7134_MPEG_DVB,
> +		.inputs         = {{
> +			.name = name_tv,
> +			.vmux = 1,
> +			.amux = TV,
> +			.tv   = 1,
> +		}, {
> +			.name = name_comp,
> +			.vmux = 0,
> +			.amux = LINE2,
> +		}, {
> +			.name = name_svideo,
> +			.vmux = 8,
> +			.amux = LINE2,
> +		} },
> +		.radio = {
> +			.name = name_radio,
> +			.amux = TV,
> +			.gpio = 0x0200000,
> +		},
> +	},
>  	[SAA7134_BOARD_REAL_ANGEL_220] = {
>  		.name           = "Zogis Real Angel 220",
>  		.audio_clock    = 0x00187de7,
> @@ -6877,6 +6907,12 @@ struct pci_device_id saa7134_pci_tbl[] =
>  		.driver_data  = SAA7134_BOARD_ASUSTeK_TIGER_3IN1,
>  	}, {
>  		.vendor       = PCI_VENDOR_ID_PHILIPS,
> +		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
> +		.subvendor    = 0x1043,
> +		.subdevice    = 0x48cd,
> +		.driver_data  = SAA7134_BOARD_ASUSTeK_PS3_100,
> +	}, {
> +		.vendor       = PCI_VENDOR_ID_PHILIPS,
>  		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
>  		.subvendor    = 0x17de,
>  		.subdevice    = 0x7128,
> @@ -7350,6 +7386,7 @@ int saa7134_board_init1(struct saa7134_d
>  	case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
>  	case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA:
>  	case SAA7134_BOARD_ASUSTeK_P7131_ANALOG:
> +	case SAA7134_BOARD_ASUSTeK_PS3_100:
>  	case SAA7134_BOARD_FLYDVBTDUO:
>  	case SAA7134_BOARD_PROTEUS_2309:
>  	case SAA7134_BOARD_AVERMEDIA_A16AR:
> @@ -7807,6 +7844,14 @@ int saa7134_board_init2(struct saa7134_d
>  	{
>  		u8 data[] = { 0x3c, 0x33, 0x60};
>  		struct i2c_msg msg = {.addr = 0x0b, .flags = 0, .buf = data,
> +							.len = sizeof(data)};
> +		i2c_transfer(&dev->i2c_adap, &msg, 1);
> +		break;
> +	}
> +	case SAA7134_BOARD_ASUSTeK_PS3_100:
> +	{
> +		u8 data[] = { 0x3c, 0x33, 0x60};
> +		struct i2c_msg msg = {.addr = 0x0b, .flags = 0, .buf = data,
>  							.len = sizeof(data)};
>  		i2c_transfer(&dev->i2c_adap, &msg, 1);
>  		break;
> Index: patchwork/drivers/media/video/saa7134/saa7134.h
> ===================================================================
> --- patchwork.orig/drivers/media/video/saa7134/saa7134.h
> +++ patchwork/drivers/media/video/saa7134/saa7134.h
> @@ -332,6 +332,7 @@ struct saa7134_card_ir {
>  #define SAA7134_BOARD_BEHOLD_503FM          187
>  #define SAA7134_BOARD_SENSORAY811_911       188
>  #define SAA7134_BOARD_KWORLD_PC150U         189
> +#define SAA7134_BOARD_ASUSTeK_PS3_100	    190
> 
>  #define SAA7134_MAXBOARDS 32
>  #define SAA7134_INPUT_MAX 8
> Index: patchwork/drivers/media/rc/keymaps/rc-asus-ps3-100.c
> ===================================================================
> --- /dev/null
> +++ patchwork/drivers/media/rc/keymaps/rc-asus-ps3-100.c
> @@ -0,0 +1,91 @@
> +/* asus-ps3-100.h - Keytable for asus_ps3_100 Remote Controller
> + *
> + * Copyright (c) 2012 by Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
> + *
> + * Based on a previous patch from Remi Schwartz <remi.schwartz@xxxxxxxxx>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + */
> +
> +#include <media/rc-map.h>
> +#include <linux/module.h>
> +
> +static struct rc_map_table asus_ps3_100[] = {
> +	{ 0x23, KEY_HOME },		/* home */
> +	{ 0x21, KEY_TV },		/* tv */
> +	{ 0x3c, KEY_TEXT },		/* teletext */
> +	{ 0x16, KEY_POWER },		/* close */
> +
> +	{ 0x34, KEY_RED },		/* red */
> +	{ 0x32, KEY_YELLOW },		/* yellow */
> +	{ 0x39, KEY_BLUE },		/* blue */
> +	{ 0x38, KEY_GREEN },		/* green */
> +
> +	/* Keys 0 to 9 */
> +	{ 0x15, KEY_0 },
> +	{ 0x29, KEY_1 },
> +	{ 0x2d, KEY_2 },
> +	{ 0x2b, KEY_3 },
> +	{ 0x09, KEY_4 },
> +	{ 0x0d, KEY_5 },
> +	{ 0x0b, KEY_6 },
> +	{ 0x31, KEY_7 },
> +	{ 0x35, KEY_8 },
> +	{ 0x33, KEY_9 },
> +
> +	{ 0x2a, KEY_VOLUMEUP },
> +	{ 0x19, KEY_VOLUMEDOWN },
> +	{ 0x0a, KEY_CHANNELUP },	/* channel / program + */
> +	{ 0x1b, KEY_CHANNELDOWN },	/* channel / program - */
> +
> +	{ 0x37, KEY_UP },
> +	{ 0x3b, KEY_DOWN },
> +	{ 0x27, KEY_LEFT },
> +	{ 0x2f, KEY_RIGHT },
> +	{ 0x1a, KEY_ENTER },		/* enter */
> +
> +	{ 0x1d, KEY_EXIT },		/* back */
> +	{ 0x13, KEY_AB },		/* recall */
> +
> +	{ 0x1f, KEY_AUDIO },		/* TV audio */
> +	{ 0x08, KEY_SCREEN },		/* snapshot */
> +	{ 0x11, KEY_ZOOM },		/* full screen */
> +	{ 0x3d, KEY_MUTE },		/* mute */
> +
> +	{ 0x0e, KEY_REWIND },		/* backward << */
> +	{ 0x2e, KEY_RECORD },		/* recording */
> +	{ 0x36, KEY_STOP },
> +	{ 0x3a, KEY_FASTFORWARD },	/* forward >> */
> +	{ 0x1e, KEY_PREVIOUS },		/* rew */
> +	{ 0x25, KEY_PAUSE },		/* pause */
> +	{ 0x06, KEY_PLAY },		/* play */
> +	{ 0x26, KEY_NEXT },		/* forward */
> +};
> +
> +static struct rc_map_list asus_ps3_100_map = {
> +	.map = {
> +		.scan    = asus_ps3_100,
> +		.size    = ARRAY_SIZE(asus_ps3_100),
> +		.rc_type = RC_TYPE_RC5,
> +		.name    = RC_MAP_ASUS_PS3_100,
> +	}
> +};
> +
> +static int __init init_rc_map_asus_ps3_100(void)
> +{
> +	return rc_map_register(&asus_ps3_100_map);
> +}
> +
> +static void __exit exit_rc_map_asus_ps3_100(void)
> +{
> +	rc_map_unregister(&asus_ps3_100_map);
> +}
> +
> +module_init(init_rc_map_asus_ps3_100)
> +module_exit(exit_rc_map_asus_ps3_100)
> +
> +MODULE_LICENSE("GPL");
> +MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>");

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux