All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: Davor Emard <davoremard@gmail.com>
Cc: linux-media@vger.kernel.org
Subject: Re: [PATCH] Compro videmate T750f for 2.6.35.7
Date: Fri, 15 Oct 2010 23:59:11 -0300	[thread overview]
Message-ID: <4CB914FF.7090500@redhat.com> (raw)
In-Reply-To: <20101002055354.GB12113@emard.lan>

Your patch looks correct for me, with a few issues:

Em 02-10-2010 02:53, Davor Emard escreveu:
> HI
> 
> This is my update for compro videomate t750f v19 for kernel 2.6.35.7
> which has separated IR remote in a file.
> 
> There seem to be different types of this card which I don't know
> how to distinguish. This patch works for my card but may not work
> for other types.
> 
> Best regards, Davor

You forgot to add your Signed-off-by: This is a requirement for us to merge it ;)
See Documentation/SubmittingPatches.

> 
> --- linux-2.6.35.7/drivers/media/video/saa7134/saa7134-input.c.orig	2010-09-29 03:09:08.000000000 +0200
> +++ linux-2.6.35.7/drivers/media/video/saa7134/saa7134-input.c	2010-10-02 05:45:01.467990234 +0200
> @@ -816,6 +816,11 @@ int saa7134_input_init1(struct saa7134_d
>  		mask_keycode = 0x003f00;
>  		mask_keydown = 0x040000;
>  		break;
> +	case SAA7134_BOARD_VIDEOMATE_T750:
> +		ir_codes     = RC_MAP_VIDEOMATE_T750;
> +		mask_keycode = 0x003f00;
> +		mask_keyup   = 0x040000;
> +		break;
>  	case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
>  		ir_codes     = RC_MAP_WINFAST;
>  		mask_keycode = 0x5f00;
> --- linux-2.6.35.7/drivers/media/video/saa7134/saa7134-cards.c.orig	2010-09-29 03:09:08.000000000 +0200
> +++ linux-2.6.35.7/drivers/media/video/saa7134/saa7134-cards.c	2010-10-02 05:43:50.639315788 +0200
> @@ -4915,12 +4915,14 @@ struct saa7134_board saa7134_boards[] =
>  	},
>  	[SAA7134_BOARD_VIDEOMATE_T750] = {
>  		/* John Newbigin <jn@it.swin.edu.au> */
> +		/* Emard 2010-05-10 v18 <davoremard@gmail.com> */
>  		.name           = "Compro VideoMate T750",
>  		.audio_clock    = 0x00187de7,
>  		.tuner_type     = TUNER_XC2028,
>  		.radio_type     = UNSET,
> -		.tuner_addr	= ADDR_UNSET,
> +		.tuner_addr	= 0x61,
>  		.radio_addr	= ADDR_UNSET,
> +		.mpeg           = SAA7134_MPEG_DVB,
>  		.inputs = {{
>  			.name   = name_tv,
>  			.vmux   = 3,
> @@ -6722,6 +6724,11 @@ static int saa7134_xc2028_callback(struc
>  			msleep(10);
>  			saa7134_set_gpio(dev, 18, 1);
>  		break;
> +		case SAA7134_BOARD_VIDEOMATE_T750:
> +			saa7134_set_gpio(dev, 20, 0);
> +			msleep(10);
> +			saa7134_set_gpio(dev, 20, 1);
> +		break;
>  		}
>  	return 0;
>  	}
> @@ -7142,6 +7149,11 @@ int saa7134_board_init1(struct saa7134_d
>  		saa7134_set_gpio(dev, 1, 1);
>  		dev->has_remote = SAA7134_REMOTE_GPIO;
>  		break;
> +	case SAA7134_BOARD_VIDEOMATE_T750:
> +		dev->has_remote = SAA7134_REMOTE_GPIO;
> +		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
> +		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
> +		break;
>  	}
>  	return 0;
>  }
> --- linux-2.6.35.7/drivers/media/video/saa7134/saa7134-dvb.c.orig	2010-09-29 03:09:08.000000000 +0200
> +++ linux-2.6.35.7/drivers/media/video/saa7134/saa7134-dvb.c	2010-10-02 05:43:50.639315788 +0200
> @@ -54,6 +54,7 @@
>  #include "tda8290.h"
>  
>  #include "zl10353.h"
> +#include "qt1010.h"
>  
>  #include "zl10036.h"
>  #include "zl10039.h"
> @@ -885,6 +886,17 @@ static struct zl10353_config behold_x7_c
>  	.disable_i2c_gate_ctrl = 1,
>  };
>  
> +static struct zl10353_config videomate_t750_zl10353_config = {
> +	.demod_address  = 0x0f,
> +	.no_tuner = 1,
> +	.parallel_ts = 1,
> +};
> +
> +static struct qt1010_config videomate_t750_qt1010_config = {
> +	.i2c_address = 0x62
> +};
> +
> +
>  /* ==================================================================
>   * tda10086 based DVB-S cards, helper functions
>   */
> @@ -1564,6 +1576,21 @@ static int dvb_init(struct saa7134_dev *
>  					__func__);
>  
>  		break;
> +	case SAA7134_BOARD_VIDEOMATE_T750:
> +		printk("Compro VideoMate T750 DVB setup\n");

Please remove the printk. we don't need it on production ;)

> +		fe0->dvb.frontend = dvb_attach(zl10353_attach,
> +						&videomate_t750_zl10353_config,
> +						&dev->i2c_adap);
> +		if (fe0->dvb.frontend != NULL) {
> +			// if there is a gate function then the i2c bus breaks.....!

comments should use /**/ instead of //

> +			fe0->dvb.frontend->ops.i2c_gate_ctrl = 0;
> +			if (dvb_attach(qt1010_attach,
> +					fe0->dvb.frontend,
> +					&dev->i2c_adap,
> +					&videomate_t750_qt1010_config) == NULL)
> +				wprintk("error attaching QT1010\n");
> +		}
> +		break;
>  	case SAA7134_BOARD_ZOLID_HYBRID_PCI:
>  		fe0->dvb.frontend = dvb_attach(tda10048_attach,
>  					       &zolid_tda10048_config,
> --- linux-2.6.35.7/drivers/media/IR/keymaps/Makefile.orig	2010-09-29 03:09:08.000000000 +0200
> +++ linux-2.6.35.7/drivers/media/IR/keymaps/Makefile	2010-10-01 21:32:01.207530164 +0200
> @@ -63,6 +63,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t
>  			rc-tevii-nec.o \
>  			rc-tt-1500.o \
>  			rc-videomate-s350.o \
> +			rc-videomate-t750.o \
>  			rc-videomate-tv-pvr.o \
>  			rc-winfast.o \
>  			rc-winfast-usbii-deluxe.o
> --- linux-2.6.35.7/drivers/media/IR/keymaps/rc-videomate-t750.c.orig	1970-01-01 01:00:00.000000000 +0100
> +++ linux-2.6.35.7/drivers/media/IR/keymaps/rc-videomate-t750.c	2010-10-02 05:49:23.664275732 +0200
> @@ -0,0 +1,123 @@
> +/* videomate-s350.h - Keytable for videomate_s350 Remote Controller
> + *
> + * keymap imported from ir-keymaps.c
> + *
> + * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com>

Hey! I didn't made this file, it is yours ;) Put your name here, and not bellow.

> + *
> + * 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>
> +
> +/*
> +Compro videomate vista T750F remote
> +-----------------------------------
> +Emard 2010-05-09 <davoremard@gmail.com>
> +                                            POWER
> +VIDEO           RADIO       AUDIO          CAMERA 
> +PVR             EPG         TV      DVD  SUBTITLE
> +
> +                      UP
> +                 LEFT OK RIGHT
> +                     DOWN
> +
> +BACK                 MENU                    INFO
> +
> +VOLUMEUP                                CHANNELUP
> +                     MUTE
> +VOLUMEDOWN                            CHANNELDOWN
> +
> +RECORD                                       STOP
> +REWIND               PLAY             FASTFORWARD
> +PREVIOUSSONG       PLAYPAUSE             NEXTSONG
> +
> +NUMERIC_1          NUMERIC_2         NUMERIC_3
> +NUMERIC_4          NUMERIC_5         NUMERIC_6
> +NUMERIC_7          NUMERIC_8         NUMERIC_9
> +NUMERIC_STAR       NUMERIC_0         NUMERIC_POUND
> +
> +CLEAR                ZOOM                 ENTER
> +
> +RED      GREEN      YELLOW     BLUE        TEXT
> +*/
> +static struct ir_scancode videomate_t750[] = {
> +	{ 0x01, KEY_POWER},
> +	{ 0x31, KEY_VIDEO},
> +	{ 0x33, KEY_RADIO},
> +	{ 0x2f, KEY_AUDIO},
> +	{ 0x30, KEY_CAMERA}, /* pictures */
> +	{ 0x2d, KEY_PVR},    /* Recordings */
> +	{   23, KEY_EPG},
> +	{   44, KEY_TV},
> +	{   43, KEY_DVD},
> +	{ 0x32, KEY_SUBTITLE},
> +	{   17, KEY_UP},
> +	{   19, KEY_LEFT},
> +	{   21, KEY_OK},
> +	{   20, KEY_RIGHT},
> +	{   18, KEY_DOWN},
> +	{   22, KEY_BACK},
> +	{ 0x02, KEY_MENU},
> +	{ 0x04, KEY_INFO},
> +	{ 0x05, KEY_VOLUMEUP},
> +	{ 0x06, KEY_VOLUMEDOWN},
> +	{ 0x03, KEY_MUTE},
> +	{ 0x07, KEY_CHANNELUP},
> +	{ 0x08, KEY_CHANNELDOWN},
> +	{ 0x0c, KEY_RECORD},
> +	{ 0x0e, KEY_STOP},
> +	{ 0x0a, KEY_REWIND},
> +	{ 0x0b, KEY_PLAY},
> +	{ 0x09, KEY_FASTFORWARD},
> +	{ 0x10, KEY_PREVIOUSSONG},
> +	{ 0x0d, KEY_PLAYPAUSE},
> +	{ 0x0f, KEY_NEXTSONG},
> +	{   30, KEY_NUMERIC_1},
> +	{ 0x1f, KEY_NUMERIC_2},
> +	{ 0x20, KEY_NUMERIC_3},
> +	{ 0x21, KEY_NUMERIC_4},
> +	{ 0x22, KEY_NUMERIC_5},
> +	{ 0x23, KEY_NUMERIC_6},
> +	{ 0x24, KEY_NUMERIC_7},
> +	{ 0x25, KEY_NUMERIC_8},
> +	{ 0x26, KEY_NUMERIC_9},
> +	{ 0x2a, KEY_NUMERIC_STAR},
> +	{   29, KEY_NUMERIC_0},
> +	{   41, KEY_NUMERIC_POUND},
> +	{   39, KEY_CLEAR},
> +	{ 0x34, KEY_ZOOM},
> +	{ 0x28, KEY_ENTER},
> +	{   25, KEY_RED},
> +	{   26, KEY_GREEN},
> +	{   27, KEY_YELLOW},
> +	{   28, KEY_BLUE},
> +	{   24, KEY_TEXT},

Be sure to follow the guidelines at http://linuxtv.org/downloads/v4l-dvb-apis/ch17.html
when mapping a new keyboard.

> +};
> +
> +static struct rc_keymap videomate_t750_map = {
> +	.map = {
> +		.scan    = videomate_t750,
> +		.size    = ARRAY_SIZE(videomate_t750),
> +		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
> +		.name    = RC_MAP_VIDEOMATE_T750,
> +	}
> +};
> +
> +static int __init init_rc_map_videomate_t750(void)
> +{
> +	return ir_register_map(&videomate_t750_map);
> +}
> +
> +static void __exit exit_rc_map_videomate_t750(void)
> +{
> +	ir_unregister_map(&videomate_t750_map);
> +}
> +
> +module_init(init_rc_map_videomate_t750)
> +module_exit(exit_rc_map_videomate_t750)
> +
> +MODULE_LICENSE("GPL");
> +MODULE_AUTHOR("Davor Emard <davoremard@gmail.com>");
> --- linux-2.6.35.7/include/media/rc-map.h.orig	2010-10-01 21:30:52.156604735 +0200
> +++ linux-2.6.35.7/include/media/rc-map.h	2010-10-01 21:31:13.515998577 +0200
> @@ -113,6 +113,7 @@ void rc_map_init(void);
>  #define RC_MAP_TEVII_NEC                 "rc-tevii-nec"
>  #define RC_MAP_TT_1500                   "rc-tt-1500"
>  #define RC_MAP_VIDEOMATE_S350            "rc-videomate-s350"
> +#define RC_MAP_VIDEOMATE_T750            "rc-videomate-t750"

Could you please check if an existing keymap matches your device? This is somewhat common ;)

>  #define RC_MAP_VIDEOMATE_TV_PVR          "rc-videomate-tv-pvr"
>  #define RC_MAP_WINFAST                   "rc-winfast"
>  #define RC_MAP_WINFAST_USBII_DELUXE      "rc-winfast-usbii-deluxe"
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


      reply	other threads:[~2010-10-16  2:59 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-02  5:53 [PATCH] Compro videmate T750f for 2.6.35.7 Davor Emard
2010-10-16  2:59 ` Mauro Carvalho Chehab [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CB914FF.7090500@redhat.com \
    --to=mchehab@redhat.com \
    --cc=davoremard@gmail.com \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.