Re: [linux-dvb] Is HP rebranded Hauppauge HVR-1500 ok on 64bit versions of stable distributions?

2009-05-14 Thread Matthew Gardeski
On Mon, Apr 20, 2009 at 10:33, Benster  Jeremy pgh...@yahoo.com wrote:
 I have the hp expresscard version of the hauppauge VHR-1500 tuner. I am
 having problems getting it to operate under the latest 64bit versions of
 ubuntu and  suse.

 Has anyone had one of these combinations working?

 I've looked back over the archive on this list and found several threads,
 but being a recent convert to linux, I couldn't recognize if  I needed to
 download and recompile modules more recent than those shipped with 2.6.27
 kernels. Nor did I know how to tell if the people that had it working were
 running 32 or 64 bit versions.

 I'm wondering if this may only be an issue with 64 bit, only because I've
 had a few things that took some work to get going that were related to using
 64bit.

 Any suggestions as to what to look for or where to go for help?

 Looking at dmesg, the card is recognized, the firmware is in /lib/firmware,
 but no messages indicating it is being shipped to the card.

 When I try to scan for channels with either metv or w_scan, it goes through
 the motions, but finds no channels. The light on the card does not come on.

 Thanks in advance,
 Ben (pgh...@yahoo.com)
 ___
 linux-dvb users mailing list
 For V4L/DVB development, please use instead linux-media@vger.kernel.org
 linux-...@linuxtv.org
 http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


I have just finished setting up an HVR-1500q and mythtv on gentoo
amd64.  I am happy to report that this setup works great with ATSC
channels.  Although it is loading the firmware properly when mythtv
tries to tune a channel, I don't see anything come up in dmesg either.
 I get warnings in dmesg on boot, but that doesn't really mean it's
failing.

I have been able to tune into ATSC channels with the drivers from
http://linuxtv.org/hg/v4l-dvb for the past few months with i386.
Before that, I would get very similar messages in dmesg to what I do
now, but mythtv could not scan or tune any channels.

If you have any more questions about what I had to do to get this
working, I'd be glad to answer them.

By the way, is there any support for the analog mode or s-video input?

[9.455353] cx23885 driver version 0.0.2 loaded
[9.455403] cx23885 :06:00.0: enabling device ( - 0002)
[9.455411] cx23885 :06:00.0: PCI INT A - GSI 18 (level, low) - IRQ 18
[9.455535] CORE cx23885[0]: subsystem: 0070:7790, board: Hauppauge
WinTV-HVR1500Q [card=5,autodetected]
[9.584355] tveeprom 1-0050: Encountered bad packet header [ff].
Corrupt or not a Hauppauge eeprom.
[9.584361] cx23885[0]: warning: unknown hauppauge model #0
[9.584363] cx23885[0]: hauppauge eeprom: model=0
[9.584365] cx23885_dvb_register() allocating 1 frontend(s)
[9.584379] cx23885[0]: cx23885 based dvb card
[9.954789] xc5000 2-0061: creating new instance
[9.955463] xc5000: Successfully identified at address 0x61
[9.955464] xc5000: Firmware has not been loaded previously
[9.955467] DVB: registering new adapter (cx23885[0])
[9.955470] DVB: registering adapter 0 frontend 0 (Samsung S5H1409
QAM/8VSB Frontend)...
[9.955722] cx23885_dev_checkrevision() Hardware revision = 0xb0
[9.955730] cx23885[0]/0: found at :06:00.0, rev: 2, irq: 18,
latency: 0, mmio: 0xf400
[9.955752] cx23885 :06:00.0: setting latency timer to 64


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


Re: BUG in av7110_vbi_write()

2009-05-14 Thread Oliver Endriss
e9hack wrote:
 Hi,
 
 it seems there is a bug in av7110_vbi_write() (av7110_v4l.c). If an user mode 
 application
 tries to write more bytes than the size of the structure v4l2_slices_vbi_data,
 copy_from_user() will overwrite parts of the kernel stack.

No, it cannot happen:

|if (FW_VERSION(av7110-arm_app)  0x2623 || !av7110-wssMode || count 
!= sizeof d)
|return -EINVAL;
|if (copy_from_user(d, data, count))
|return -EFAULT;

copy_from_user() will only be called if count == sizeof d.

CU
Oliver

-- 

VDR Remote Plugin 0.4.0: http://www.escape-edv.de/endriss/vdr/

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


[PATCH v3 0/7] [RFC] FM Transmitter (si4713) and another changes

2009-05-14 Thread Eduardo Valentin
Hello all,

  I'm resending the FM transmitter driver and the proposed changes in
v4l2 api files in order to cover the fmtx extended controls class.

  It is basically the same series of version #2. However I rewrote it
to add the following comments:

  * Get rid of the region settings thing. That was done for the
changes of FMTX Extended controls class as well as from the si4713
driver (also the sysfs nodes for region were removed). If any
settings for region is required, that will be left for user land.

  * Define preemphasis enumeration constants so that values are increasing.

  * Removed also the code from the platform driver which manually
unregister the i2c client (this is now done in the v4l2 i2c helper
functions).

  * The last patch now adds documentation for fmtx extended controls
class into v4l2 docs.

  Note that only the last patch is against v4l-dvb hg repo. The other 7
are against normal linux tree.

  From top of my mind, what is still open is the i2c board info issue.
I still don't know how to configure the irq line for i2c v4l2 subdev
devices with current v4l2 subdev i2c helper functions (same thing
for platform data). So, that's why I'm resending the patch
which modifies the api to add a way to pass i2c board info to
subdevice while registering.

  Again, comments are welcome.

BR,

---
Eduardo Valentin (7):
  v4l2: video device: Add V4L2_CTRL_CLASS_FMTX controls
  v4l2: video device: Add FMTX controls default configurations
  v4l2_subdev i2c: Add i2c board info to v4l2_i2c_new_subdev
  FMTx: si4713: Add files to handle si4713 i2c device
  FMTx: si4713: Add files to add radio interface for si4713
  FMTx: si4713: Add Kconfig and Makefile entries
  FMTx: si4713: Add document file

 Documentation/video4linux/si4713.txt |  133 +++
 drivers/media/radio/Kconfig  |   22 +
 drivers/media/radio/Makefile |3 +
 drivers/media/radio/radio-si4713.c   |  332 ++
 drivers/media/radio/radio-si4713.h   |   48 +
 drivers/media/radio/si4713-subdev.c  | 1008 
 drivers/media/radio/si4713.c | 2100 ++
 drivers/media/radio/si4713.h |  282 +
 drivers/media/video/v4l2-common.c|   79 ++-
 include/linux/videodev2.h|   34 +
 include/media/v4l2-common.h  |6 +
 11 files changed, 4041 insertions(+), 6 deletions(-)
 create mode 100644 Documentation/video4linux/si4713.txt
 create mode 100644 drivers/media/radio/radio-si4713.c
 create mode 100644 drivers/media/radio/radio-si4713.h
 create mode 100644 drivers/media/radio/si4713-subdev.c
 create mode 100644 drivers/media/radio/si4713.c
 create mode 100644 drivers/media/radio/si4713.h

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


[PATCH v3 1/7] v4l2: video device: Add V4L2_CTRL_CLASS_FMTX controls

2009-05-14 Thread Eduardo Valentin
This patch adds a new class of extended controls. This class
is intended to support Radio Modulators properties such as:
rds, audio limiters, audio compression, pilot tone generation,
tuning power levels and region related properties.

Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 include/linux/videodev2.h |   34 ++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 82f9e72..0f74dec 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -803,6 +803,7 @@ struct v4l2_ext_controls {
 #define V4L2_CTRL_CLASS_USER 0x0098/* Old-style 'user' controls */
 #define V4L2_CTRL_CLASS_MPEG 0x0099/* MPEG-compression controls */
 #define V4L2_CTRL_CLASS_CAMERA 0x009a  /* Camera class controls */
+#define V4L2_CTRL_CLASS_FMTX 0x009b/* FM Radio Modulator class 
controls */
 
 #define V4L2_CTRL_ID_MASK(0x0fff)
 #define V4L2_CTRL_ID2CLASS(id)((id)  0x0fffUL)
@@ -1141,6 +1142,39 @@ enum  v4l2_exposure_auto_type {
 
 #define V4L2_CID_PRIVACY   (V4L2_CID_CAMERA_CLASS_BASE+16)
 
+/* FM Radio Modulator class control IDs */
+#define V4L2_CID_FMTX_CLASS_BASE   (V4L2_CTRL_CLASS_FMTX | 0x900)
+#define V4L2_CID_FMTX_CLASS(V4L2_CTRL_CLASS_FMTX | 1)
+
+#define V4L2_CID_RDS_ENABLED   (V4L2_CID_FMTX_CLASS_BASE + 1)
+#define V4L2_CID_RDS_PI
(V4L2_CID_FMTX_CLASS_BASE + 2)
+#define V4L2_CID_RDS_PTY   (V4L2_CID_FMTX_CLASS_BASE + 3)
+#define V4L2_CID_RDS_PS_NAME   (V4L2_CID_FMTX_CLASS_BASE + 4)
+#define V4L2_CID_RDS_RADIO_TEXT
(V4L2_CID_FMTX_CLASS_BASE + 5)
+
+#define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FMTX_CLASS_BASE + 6)
+#define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME(V4L2_CID_FMTX_CLASS_BASE + 7)
+#define V4L2_CID_AUDIO_LIMITER_DEVIATION   (V4L2_CID_FMTX_CLASS_BASE + 8)
+
+#define V4L2_CID_AUDIO_COMPRESSION_ENABLED (V4L2_CID_FMTX_CLASS_BASE + 9)
+#define V4L2_CID_AUDIO_COMPRESSION_GAIN
(V4L2_CID_FMTX_CLASS_BASE + 10)
+#define V4L2_CID_AUDIO_COMPRESSION_THRESHOLD   (V4L2_CID_FMTX_CLASS_BASE + 11)
+#define V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (V4L2_CID_FMTX_CLASS_BASE + 12)
+#define V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME
(V4L2_CID_FMTX_CLASS_BASE + 13)
+
+#define V4L2_CID_PILOT_TONE_ENABLED(V4L2_CID_FMTX_CLASS_BASE + 14)
+#define V4L2_CID_PILOT_TONE_DEVIATION  (V4L2_CID_FMTX_CLASS_BASE + 15)
+#define V4L2_CID_PILOT_TONE_FREQUENCY  (V4L2_CID_FMTX_CLASS_BASE + 16)
+
+#define V4L2_CID_PREEMPHASIS   (V4L2_CID_FMTX_CLASS_BASE + 17)
+enum v4l2_fmtx_preemphasis {
+   V4L2_FMTX_PREEMPHASIS_DISABLED  = 0,
+   V4L2_FMTX_PREEMPHASIS_50_uS = 1,
+   V4L2_FMTX_PREEMPHASIS_75_uS = 2,
+};
+#define V4L2_CID_TUNE_POWER_LEVEL  (V4L2_CID_FMTX_CLASS_BASE + 18)
+#define V4L2_CID_TUNE_ANTENNA_CAPACITOR
(V4L2_CID_FMTX_CLASS_BASE + 19)
+
 /*
  * T U N I N G
  */
-- 
1.6.2.GIT

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


[PATCH v3 2/7] v4l2: video device: Add FMTX controls default configurations

2009-05-14 Thread Eduardo Valentin
Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 drivers/media/video/v4l2-common.c |   46 +
 1 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/v4l2-common.c 
b/drivers/media/video/v4l2-common.c
index 7e6203d..389f7b2 100644
--- a/drivers/media/video/v4l2-common.c
+++ b/drivers/media/video/v4l2-common.c
@@ -340,6 +340,12 @@ const char **v4l2_ctrl_get_menu(u32 id)
Sepia,
NULL
};
+   static const char *fmtx_preemphasis[] = {
+   No preemphasis,
+   50 useconds,
+   75 useconds,
+   NULL,
+   };
 
switch (id) {
case V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ:
@@ -378,6 +384,8 @@ const char **v4l2_ctrl_get_menu(u32 id)
return camera_exposure_auto;
case V4L2_CID_COLORFX:
return colorfx;
+   case V4L2_CID_PREEMPHASIS:
+   return fmtx_preemphasis;
default:
return NULL;
}
@@ -476,6 +484,28 @@ const char *v4l2_ctrl_get_name(u32 id)
case V4L2_CID_ZOOM_CONTINUOUS:  return Zoom, Continuous;
case V4L2_CID_PRIVACY:  return Privacy;
 
+   /* FM Radio Modulator control */
+   case V4L2_CID_FMTX_CLASS:   return FM Radio Modulator 
Controls;
+   case V4L2_CID_RDS_ENABLED:  return RDS Feature Enabled;
+   case V4L2_CID_RDS_PI:   return RDS Program ID;
+   case V4L2_CID_RDS_PTY:  return RDS Program Type;
+   case V4L2_CID_RDS_PS_NAME:  return RDS PS Name;
+   case V4L2_CID_RDS_RADIO_TEXT:   return RDS Radio Text;
+   case V4L2_CID_AUDIO_LIMITER_ENABLED:return Audio Limiter Feature 
Enabled;
+   case V4L2_CID_AUDIO_LIMITER_RELEASE_TIME: return Audio Limiter Release 
Time;
+   case V4L2_CID_AUDIO_LIMITER_DEVIATION:  return Audio Limiter 
Deviation;
+   case V4L2_CID_AUDIO_COMPRESSION_ENABLED: return Audio Compression 
Feature Enabled;
+   case V4L2_CID_AUDIO_COMPRESSION_GAIN:   return Audio Compression Gain;
+   case V4L2_CID_AUDIO_COMPRESSION_THRESHOLD: return Audio Compression 
Threshold;
+   case V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME: return Audio Compression 
Attack Time;
+   case V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME: return Audio Compression 
Release Time;
+   case V4L2_CID_PILOT_TONE_ENABLED:   return Pilot Tone Feature 
Enabled;
+   case V4L2_CID_PILOT_TONE_DEVIATION: return Pilot Tone Deviation;
+   case V4L2_CID_PILOT_TONE_FREQUENCY: return Pilot Tone Frequency;
+   case V4L2_CID_PREEMPHASIS:  return Pre-emphasis settings;
+   case V4L2_CID_TUNE_POWER_LEVEL: return Tune Power Level;
+   case V4L2_CID_TUNE_ANTENNA_CAPACITOR:   return Tune Antenna Capacitor;
+
default:
return NULL;
}
@@ -508,6 +538,10 @@ int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 
min, s32 max, s32 ste
case V4L2_CID_EXPOSURE_AUTO_PRIORITY:
case V4L2_CID_FOCUS_AUTO:
case V4L2_CID_PRIVACY:
+   case V4L2_CID_RDS_ENABLED:
+   case V4L2_CID_AUDIO_LIMITER_ENABLED:
+   case V4L2_CID_AUDIO_COMPRESSION_ENABLED:
+   case V4L2_CID_PILOT_TONE_ENABLED:
qctrl-type = V4L2_CTRL_TYPE_BOOLEAN;
min = 0;
max = step = 1;
@@ -536,12 +570,14 @@ int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, 
s32 min, s32 max, s32 ste
case V4L2_CID_MPEG_STREAM_VBI_FMT:
case V4L2_CID_EXPOSURE_AUTO:
case V4L2_CID_COLORFX:
+   case V4L2_CID_PREEMPHASIS:
qctrl-type = V4L2_CTRL_TYPE_MENU;
step = 1;
break;
case V4L2_CID_USER_CLASS:
case V4L2_CID_CAMERA_CLASS:
case V4L2_CID_MPEG_CLASS:
+   case V4L2_CID_FMTX_CLASS:
qctrl-type = V4L2_CTRL_TYPE_CTRL_CLASS;
qctrl-flags |= V4L2_CTRL_FLAG_READ_ONLY;
min = max = step = def = 0;
@@ -570,6 +606,16 @@ int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 
min, s32 max, s32 ste
case V4L2_CID_BLUE_BALANCE:
case V4L2_CID_GAMMA:
case V4L2_CID_SHARPNESS:
+   case V4L2_CID_AUDIO_LIMITER_RELEASE_TIME:
+   case V4L2_CID_AUDIO_LIMITER_DEVIATION:
+   case V4L2_CID_AUDIO_COMPRESSION_GAIN:
+   case V4L2_CID_AUDIO_COMPRESSION_THRESHOLD:
+   case V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME:
+   case V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME:
+   case V4L2_CID_PILOT_TONE_DEVIATION:
+   case V4L2_CID_PILOT_TONE_FREQUENCY:
+   case V4L2_CID_TUNE_POWER_LEVEL:
+   case V4L2_CID_TUNE_ANTENNA_CAPACITOR:
qctrl-flags |= V4L2_CTRL_FLAG_SLIDER;
break;
case V4L2_CID_PAN_RELATIVE:
-- 
1.6.2.GIT

--
To unsubscribe from this 

[PATCH v3 3/7] v4l2_subdev i2c: Add i2c board info to v4l2_i2c_new_subdev

2009-05-14 Thread Eduardo Valentin
Device drivers of v4l2_subdev devices may want to have
i2c board info data. This patch adds an helper function
to allow bridge drivers to pass board specific data to
v4l2_subdev drivers.

Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 drivers/media/video/v4l2-common.c |   33 +++--
 include/media/v4l2-common.h   |6 ++
 2 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/drivers/media/video/v4l2-common.c 
b/drivers/media/video/v4l2-common.c
index 389f7b2..ac30c46 100644
--- a/drivers/media/video/v4l2-common.c
+++ b/drivers/media/video/v4l2-common.c
@@ -864,9 +864,9 @@ static struct i2c_client 
*v4l2_i2c_legacy_find_client(struct i2c_adapter *adap,
 
 
 /* Load an i2c sub-device. */
-struct v4l2_subdev *v4l2_i2c_new_subdev(struct v4l2_device *v4l2_dev,
-   struct i2c_adapter *adapter,
-   const char *module_name, const char *client_type, u8 addr)
+static struct v4l2_subdev *__v4l2_i2c_new_subdev(struct v4l2_device *v4l2_dev,
+   struct i2c_adapter *adapter, const char *module_name,
+   const char *client_type, u8 addr, struct i2c_board_info *i)
 {
struct v4l2_subdev *sd = NULL;
struct i2c_client *client;
@@ -882,9 +882,13 @@ struct v4l2_subdev *v4l2_i2c_new_subdev(struct v4l2_device 
*v4l2_dev,
 #if LINUX_VERSION_CODE = KERNEL_VERSION(2, 6, 26)
/* Setup the i2c board info with the device type and
   the device address. */
-   memset(info, 0, sizeof(info));
-   strlcpy(info.type, client_type, sizeof(info.type));
-   info.addr = addr;
+   if (!i) {
+   memset(info, 0, sizeof(info));
+   strlcpy(info.type, client_type, sizeof(info.type));
+   info.addr = addr;
+   } else {
+   memcpy(info, i, sizeof(info));
+   }
 
/* Create the i2c client */
client = i2c_new_device(adapter, info);
@@ -922,8 +926,25 @@ error:
 #endif
return sd;
 }
+
+struct v4l2_subdev *v4l2_i2c_new_subdev(struct v4l2_device *v4l2_dev,
+   struct i2c_adapter *adapter,
+   const char *module_name, const char *client_type, u8 addr)
+{
+   return __v4l2_i2c_new_subdev(v4l2_dev, adapter, module_name,
+   client_type, addr, NULL);
+}
 EXPORT_SYMBOL_GPL(v4l2_i2c_new_subdev);
 
+struct v4l2_subdev *v4l2_i2c_new_subdev_board_info(struct v4l2_device 
*v4l2_dev,
+   struct i2c_adapter *adapter, const char *module_name,
+   struct i2c_board_info *i)
+{
+   return __v4l2_i2c_new_subdev(v4l2_dev, adapter, module_name,
+   NULL, 0, i);
+}
+EXPORT_SYMBOL_GPL(v4l2_i2c_new_subdev_board_info);
+
 /* Probe and load an i2c sub-device. */
 struct v4l2_subdev *v4l2_i2c_new_probed_subdev(struct v4l2_device *v4l2_dev,
struct i2c_adapter *adapter,
diff --git a/include/media/v4l2-common.h b/include/media/v4l2-common.h
index 2e1e3a2..da9c95d 100644
--- a/include/media/v4l2-common.h
+++ b/include/media/v4l2-common.h
@@ -130,6 +130,7 @@ int v4l2_chip_match_host(const struct v4l2_dbg_match 
*match);
 struct i2c_driver;
 struct i2c_adapter;
 struct i2c_client;
+struct i2c_board_info;
 struct i2c_device_id;
 struct v4l2_device;
 struct v4l2_subdev;
@@ -147,6 +148,11 @@ int v4l2_i2c_attach(struct i2c_adapter *adapter, int 
address, struct i2c_driver
 struct v4l2_subdev *v4l2_i2c_new_subdev(struct v4l2_device *v4l2_dev,
struct i2c_adapter *adapter,
const char *module_name, const char *client_type, u8 addr);
+/* Same as v4l2_i2c_new_subdev, but with oportunity to pass i2c_board_info
+   to client device */
+struct v4l2_subdev *v4l2_i2c_new_subdev_board_info(struct v4l2_device 
*v4l2_dev,
+   struct i2c_adapter *adapter, const char *module_name,
+   struct i2c_board_info *i);
 /* Probe and load an i2c module and return an initialized v4l2_subdev struct.
Only call request_module if module_name != NULL.
The client_type argument is the name of the chip that's on the adapter. */
-- 
1.6.2.GIT

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


[PATCH 1/1] Add documentation description for FM Transmitter Extended Control Class

2009-05-14 Thread Eduardo Valentin
From: Eduardo Valentin eduardo.valen...@nokia.com

This single patch adds documentation description for FM Transmitter (FMTX)
Extended Control Class and its Control IDs. The text was added under
Extended Controls section.

Priority: normal

Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com

diff -r 8d37e8505664 -r 61ee075b46f8 v4l2-spec/controls.sgml
--- a/v4l2-spec/controls.sgml   Mon May 11 09:37:41 2009 -0700
+++ b/v4l2-spec/controls.sgml   Wed May 13 13:10:24 2009 +0300
@@ -458,6 +458,12 @@
   paraUnfortunately, the original control API lacked some
 features needed for these new uses and so it was extended into the
 (not terribly originally named) extended control API./para
+
+  paraEven though the MPEG encoding API was the first effort
+to use the Extended Control API, nowadays there are also other classes
+of Extended Controls, such as Camera Controls and FM Transmitter Controls.
+The Extended Controls API as well as all Extended Controls classes are
+described in the following text./para
 /section
 
 section
@@ -1816,6 +1822,200 @@
   /tgroup
 /table
   /section
+
+section id=fmtx-controls
+  titleFM Transmitter Control Reference/title
+
+  paraThe FM Transmitter (FMTX) class includes controls for common 
features of
+FM transmissions capable devices. Currently this class include parameters for 
audio
+compression, pilot tone generation, audio deviation limiter, RDS transmission 
and
+tuning power features./para
+
+  table pgwide=1 frame=none id=fmtx-control-id
+  titleFMTX Control IDs/title
+
+  tgroup cols=4
+   colspec colname=c1 colwidth=1*
+   colspec colname=c2 colwidth=6*
+   colspec colname=c3 colwidth=2*
+   colspec colname=c4 colwidth=6*
+   spanspec namest=c1 nameend=c2 spanname=id
+   spanspec namest=c2 nameend=c4 spanname=descr
+   thead
+ row
+   entry spanname=id align=leftID/entry
+   entry align=leftType/entry
+ /rowrow rowsep=1entry spanname=descr 
align=leftDescription/entry
+ /row
+   /thead
+   tbody valign=top
+ rowentry/entry/row
+ row
+   entry 
spanname=idconstantV4L2_CID_FMTX_CLASS/constantnbsp;/entry
+   entryclass/entry
+ /rowrowentry spanname=descrThe FMTX class
+descriptor. Calling VIDIOC-QUERYCTRL; for this control will return a
+description of this control class./entry
+ /row
+ row
+   entry 
spanname=idconstantV4L2_CID_RDS_ENABLED/constantnbsp;/entry
+   entryboolean/entry
+ /row
+ rowentry spanname=descrEnables or disables the RDS transmission 
feature./entry
+ /row
+ row
+   entry 
spanname=idconstantV4L2_CID_RDS_PI/constantnbsp;/entry
+   entryinteger/entry
+ /row
+ rowentry spanname=descrSets the RDS Programme Identification 
field
+for transmission./entry
+ /row
+ row
+   entry 
spanname=idconstantV4L2_CID_RDS_PTY/constantnbsp;/entry
+   entryinteger/entry
+ /row
+ rowentry spanname=descriSets the RDS Programme Type field for 
transmission.
+This coding of up to 31 pre-defined programme types./entry
+ /row
+!--
+ row
+   entry 
spanname=idconstantV4L2_CID_RDS_PS_NAME/constantnbsp;/entry
+   entryinteger/entry
+ /row
+ rowentry spanname=descr./entry
+ /row
+ row
+   entry 
spanname=idconstantV4L2_CID_RDS_RADIO_TEXT/constantnbsp;/entry
+   entryinteger/entry
+ /row
+ rowentry spanname=descr./entry
+ /row
+--
+ row
+   entry 
spanname=idconstantV4L2_CID_AUDIO_LIMITER_ENABLED/constantnbsp;/entry
+   entryboolean/entry
+ /row
+ rowentry spanname=descrEnables or disables the audio deviation 
limiter feature.
+The limiter is useful when trying to maximize the audio volume, minimize 
receiver-generated
+distortion and prevent overmodulation.
+/entry
+ /row
+ row
+   entry 
spanname=idconstantV4L2_CID_AUDIO_LIMITER_RELEASE_TIME/constantnbsp;/entry
+   entryinteger/entry
+ /row
+ rowentry spanname=descrSets the audio deviation limiter feature 
release time.
+The unit, step and range are driver-specific./entry
+ /row
+ row
+   entry 
spanname=idconstantV4L2_CID_AUDIO_LIMITER_DEVIATION/constantnbsp;/entry
+   entryinteger/entry
+ /row
+ rowentry spanname=descrConfigures audio frequency deviation 
level in Hz.
+The range and step are driver-specific./entry
+ /row
+ row
+   entry 
spanname=idconstantV4L2_CID_AUDIO_COMPRESSION_ENABLED/constantnbsp;/entry
+   entryboolean/entry
+ /row
+ rowentry spanname=descrEnables or disables the audio 
compression feature.
+This feature amplifies signals below the threshold by a fixed gain and 
compresses audio
+signals above the threshold by the 

[PATCH v3 5/7] FMTx: si4713: Add files to add radio interface for si4713

2009-05-14 Thread Eduardo Valentin
This patch adds files which creates the radio interface
for si4713 FM transmitter devices.

Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 drivers/media/radio/radio-si4713.c |  332 
 drivers/media/radio/radio-si4713.h |   48 +
 2 files changed, 380 insertions(+), 0 deletions(-)
 create mode 100644 drivers/media/radio/radio-si4713.c
 create mode 100644 drivers/media/radio/radio-si4713.h

diff --git a/drivers/media/radio/radio-si4713.c 
b/drivers/media/radio/radio-si4713.c
new file mode 100644
index 000..1aae77b
--- /dev/null
+++ b/drivers/media/radio/radio-si4713.c
@@ -0,0 +1,332 @@
+/*
+ * drivers/media/radio/radio-si4713.c
+ *
+ * Platform Driver for Silicon Labs Si4713 FM Radio Transmitter:
+ *
+ * Copyright (c) 2008 Instituto Nokia de Tecnologia - INdT
+ * Contact: Eduardo Valentin eduardo.valen...@nokia.com
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include linux/kernel.h
+#include linux/module.h
+#include linux/init.h
+#include linux/version.h
+#include linux/platform_device.h
+#include linux/i2c.h
+#include linux/videodev2.h
+#include media/v4l2-device.h
+#include media/v4l2-common.h
+#include media/v4l2-ioctl.h
+
+#include radio-si4713.h
+#include si4713.h
+
+/* module parameters */
+static int radio_nr = -1;  /* radio device minor (-1 == auto assign) */
+
+/* radio_si4713_fops - file operations interface */
+static const struct v4l2_file_operations radio_si4713_fops = {
+   .owner  = THIS_MODULE,
+   .ioctl  = video_ioctl2,
+};
+
+/* Video4Linux Interface */
+static int radio_si4713_vidioc_g_audio(struct file *file, void *priv,
+   struct v4l2_audio *audio)
+{
+   if (audio-index  1)
+   return -EINVAL;
+
+   strncpy(audio-name, Radio, 32);
+   audio-capability = V4L2_AUDCAP_STEREO;
+
+   return 0;
+}
+
+static int radio_si4713_vidioc_s_audio(struct file *file, void *priv,
+   struct v4l2_audio *audio)
+{
+   if (audio-index != 0)
+   return -EINVAL;
+
+   return 0;
+}
+
+static int radio_si4713_vidioc_g_input(struct file *file, void *priv,
+   unsigned int *i)
+{
+   *i = 0;
+
+   return 0;
+}
+
+static int radio_si4713_vidioc_s_input(struct file *file, void *priv,
+   unsigned int i)
+{
+   if (i != 0)
+   return -EINVAL;
+
+   return 0;
+}
+
+/* radio_si4713_vidioc_querycap - query device capabilities */
+static int radio_si4713_vidioc_querycap(struct file *file, void *priv,
+   struct v4l2_capability *capability)
+{
+   struct radio_si4713_device *rsdev;
+
+   rsdev = video_get_drvdata(video_devdata(file));
+
+   strlcpy(capability-driver, radio-si4713, sizeof(capability-driver));
+   strlcpy(capability-card, Silicon Labs Si4713 FM Radio Transmitter,
+   sizeof(capability-card));
+   capability-capabilities = V4L2_CAP_TUNER;
+
+   return 0;
+}
+
+/* radio_si4713_vidioc_queryctrl - enumerate control items */
+static int radio_si4713_vidioc_queryctrl(struct file *file, void *priv,
+   struct v4l2_queryctrl *qc)
+{
+
+   /* Must be sorted from low to high control ID! */
+   static const u32 user_ctrls[] = {
+   V4L2_CID_USER_CLASS,
+   V4L2_CID_AUDIO_VOLUME,
+   V4L2_CID_AUDIO_BALANCE,
+   V4L2_CID_AUDIO_BASS,
+   V4L2_CID_AUDIO_TREBLE,
+   V4L2_CID_AUDIO_LOUDNESS,
+   V4L2_CID_AUDIO_MUTE,
+   0
+   };
+
+   /* Must be sorted from low to high control ID! */
+   static const u32 fmtx_ctrls[] = {
+   V4L2_CID_FMTX_CLASS,
+   V4L2_CID_RDS_ENABLED,
+   V4L2_CID_RDS_PI,
+   V4L2_CID_RDS_PTY,
+   V4L2_CID_RDS_PS_NAME,
+   V4L2_CID_RDS_RADIO_TEXT,
+   V4L2_CID_AUDIO_LIMITER_ENABLED,
+   V4L2_CID_AUDIO_LIMITER_RELEASE_TIME,
+   V4L2_CID_AUDIO_LIMITER_DEVIATION,
+   V4L2_CID_AUDIO_COMPRESSION_ENABLED,
+   V4L2_CID_AUDIO_COMPRESSION_GAIN,
+   

[PATCH v3 7/7] FMTx: si4713: Add document file

2009-05-14 Thread Eduardo Valentin
Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 Documentation/video4linux/si4713.txt |  133 ++
 1 files changed, 133 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/video4linux/si4713.txt

diff --git a/Documentation/video4linux/si4713.txt 
b/Documentation/video4linux/si4713.txt
new file mode 100644
index 000..fff2104
--- /dev/null
+++ b/Documentation/video4linux/si4713.txt
@@ -0,0 +1,133 @@
+Driver for I2C radios for the Silicon Labs Si4713 FM Radio Transmitters
+
+Copyright (c) 2009 Nokia Corporation
+Contact: Eduardo Valentin eduardo.valen...@nokia.com
+
+
+Information about the Device
+
+This chip is a Silicon Labs product. It is a I2C device, currently on 0×63 
address.
+Basically, it has transmission and signal noise level measurement features.
+
+The Si4713 integrates transmit functions for FM broadcast stereo transmission.
+The chip also allows integrated receive power scanning to identify low signal
+power FM channels.
+
+The chip is programmed using commands and responses. There are also several
+properties which can change the behavior of this chip.
+
+Users must comply with local regulations on radio frequency (RF) transmission.
+
+Device driver description
+=
+There are two modules to handle this device. One is a I2C device driver
+and the other is a platform driver.
+
+The I2C device driver exports a v4l2-subdev interface to the kernel. Also
+it exports several device properties through sysfs interface to the user land.
+All properties can also be accessed by v4l2 extended controls interface, by
+using the v4l2-subdev calls (g_ext_ctrls, s_ext_ctrls).
+
+The platform device driver exports a v4l2 radio device interface to user land.
+So, it uses the I2C device driver as a sub device in order to send the user
+commands to the actual device. Basically it is a wrapper to the I2C device 
driver.
+
+So, in summary, the device driver has two interfaces to the user space.
+
+Applications can use v4l2 radio API to specify frequency of operation, mute 
state,
+etc. But mostly of its properties will be present in the extended controls.
+However, the device properties can also be accessed through its sysfs 
directory.
+
+When the v4l2 mute property is set to 1 (true), the driver will turn the chip 
off.
+
+Properties description
+==
+
+The properties can be accessed in sysfs device directory. Using v4l2 extended
+controls as well.
+
+# ls
+acomp_attack_timemodalias rds_radio_text
+acomp_enabledname region
+acomp_gain   pilot_deviation  region_bottom_frequency
+acomp_release_time   pilot_enabledregion_channel_spacing
+acomp_threshold  pilot_frequency  region_preemphasis
+antenna_capacitorpowerregion_top_frequency
+bus  power_level  stereo_enabled
+driver   rds_enabled  subsystem
+limiter_deviationrds_pi   tune_measure
+limiter_enabled  rds_ps_name  uevent
+limiter_release_time rds_pty
+
+Here is a summary of them:
+
+* Pilot is an audible tone sent by the device.
+
+pilot_frequency - Configures the frequency of the stereo pilot tone.
+pilot_deviation - Configures pilot tone frequency deviation level.
+pilot_enabled - Enables or disables the pilot tone feature.
+
+* The si4713 device is capable of applying audio compression to the 
transmitted signal.
+
+acomp_enabled - Enables or disables the audio dynamic range control feature.
+acomp_gain - Sets the gain for audio dynamic range control.
+acomp_threshold - Sets the threshold level for audio dynamic range control.
+acomp_attack_time - Sets the attack time for audio dynamic range control.
+acomp_release_time - Sets the release time for audio dynamic range control.
+
+* Limiter setups audio deviation limiter feature. Once a over deviation occurs,
+it is possible to adjust the front-end gain of the audio input and always
+prevent over deviation.
+
+limiter_enabled - Enables or disables the limiter feature.
+limiter_deviation - Configures audio frequency deviation level.
+limiter_release_time - Sets the limiter release time.
+
+* Tuning power
+
+power_level - Sets the output power level for signal transmission.
+antenna_capacitor - This selects the value of antenna tuning capacitor manually
+or automatically if set to zero.
+tune_measure - With this you can get the value of signal length of a specific 
frequency.
+
+* RDS related
+
+rds_enabled - Enables or disables the RDS feature.
+rds_ps_name - Sets the RDS ps name field for transmission.
+rds_radio_text - Sets the RDS radio text for transmission.
+rds_pi - Sets the RDS PI field for transmission.
+rds_pty - Sets the RDS PTY field for transmission.
+
+* Region related
+
+Setting region will affect other region properties.
+

[PATCH v3 6/7] FMTx: si4713: Add Kconfig and Makefile entries

2009-05-14 Thread Eduardo Valentin
Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 drivers/media/radio/Kconfig  |   22 ++
 drivers/media/radio/Makefile |3 +++
 2 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig
index 3315cac..6c6a409 100644
--- a/drivers/media/radio/Kconfig
+++ b/drivers/media/radio/Kconfig
@@ -339,6 +339,28 @@ config RADIO_ZOLTRIX_PORT
help
  Enter the I/O port of your Zoltrix radio card.
 
+config I2C_SI4713
+   tristate I2C driver for Silicon Labs Si4713 device
+   depends on I2C  VIDEO_V4L2
+   ---help---
+ Say Y here if you want support to Si4713 I2C device.
+ This device driver supports only i2c bus.
+
+ To compile this driver as a module, choose M here: the
+ module will be called si4713.
+
+config RADIO_SI4713
+   tristate Silicon Labs Si4713 FM Radio Transmitter support
+   depends on I2C  VIDEO_V4L2
+   ---help---
+ Say Y here if you want support to Si4713 FM Radio Transmitter.
+ This device can transmit audio through FM. It can transmit
+ EDS and EBDS signals as well. This module is the v4l2 radio
+ interface for the i2c driver of this device.
+
+ To compile this driver as a module, choose M here: the
+ module will be called radio-si4713.
+
 config USB_DSBR
tristate D-Link/GemTek USB FM radio support
depends on USB  VIDEO_V4L2
diff --git a/drivers/media/radio/Makefile b/drivers/media/radio/Makefile
index 0f2b35b..4c757ad 100644
--- a/drivers/media/radio/Makefile
+++ b/drivers/media/radio/Makefile
@@ -15,6 +15,9 @@ obj-$(CONFIG_RADIO_ZOLTRIX) += radio-zoltrix.o
 obj-$(CONFIG_RADIO_GEMTEK) += radio-gemtek.o
 obj-$(CONFIG_RADIO_GEMTEK_PCI) += radio-gemtek-pci.o
 obj-$(CONFIG_RADIO_TRUST) += radio-trust.o
+obj-$(CONFIG_I2C_SI4713) += si4713-i2c.o
+si4713-i2c-objs := si4713.o si4713-subdev.o
+obj-$(CONFIG_RADIO_SI4713) += radio-si4713.o
 obj-$(CONFIG_RADIO_MAESTRO) += radio-maestro.o
 obj-$(CONFIG_USB_DSBR) += dsbr100.o
 obj-$(CONFIG_USB_SI470X) += radio-si470x.o
-- 
1.6.2.GIT

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


Re: [PATCH] [0905_03] Siano: smsusb - remove old backward support

2009-05-14 Thread Mauro Carvalho Chehab
Em Tue, 12 May 2009 07:17:09 -0700 (PDT)
Uri Shkolnik uri...@yahoo.com escreveu:

 
 # HG changeset patch
 # User Uri Shkolnik u...@siano-ms.com
 # Date 1242136071 -10800
 # Node ID 126c0974c2db4e2777e5d9b068fa976fe3a59675
 # Parent  697459f4baf6e95a906b852250699a18d1016724
 [0905_03] Siano: smsusb - remove old backward support
 
 From: Uri Shkolnik u...@siano-ms.com
 
 Remove backward support for kernel versions
 older than 2.6.19.
 
 Priority: normal
 
 Signed-off-by: Uri Shkolnik u...@siano-ms.com
 
 diff -r 697459f4baf6 -r 126c0974c2db linux/drivers/media/dvb/siano/smsusb.c
 --- a/linux/drivers/media/dvb/siano/smsusb.c  Tue May 12 16:42:33 2009 +0300
 +++ b/linux/drivers/media/dvb/siano/smsusb.c  Tue May 12 16:47:51 2009 +0300
 @@ -60,11 +60,7 @@ static int smsusb_submit_urb(struct smsu
  static int smsusb_submit_urb(struct smsusb_device_t *dev,
struct smsusb_urb_t *surb);
  
 -#if LINUX_VERSION_CODE = KERNEL_VERSION(2, 6, 19)
  static void smsusb_onresponse(struct urb *urb)
 -#else
 -static void smsusb_onresponse(struct urb *urb, struct pt_regs *regs)
 -#endif
  {
   struct smsusb_urb_t *surb = (struct smsusb_urb_t *) urb-context;
   struct smsusb_device_t *dev = surb-dev;

Why to remove this backport? Also, if you touch on supported versions, you'll
need to touch also on v4l.versions.txt




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


Re: [PATCH] [0905_01_2] Siano: make single kernel object (module)

2009-05-14 Thread Mauro Carvalho Chehab
Em Tue, 12 May 2009 07:15:54 -0700 (PDT)
Uri Shkolnik uri...@yahoo.com escreveu:

 
 This patch consolidates the components to single
 kernel object (module)

As already said, you shouldn't be merging the modules. Let the user compile
only the components he needs, to allow generating smaller kernel



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


Re: [PATCH v3 0/7] [RFC] FM Transmitter (si4713) and another changes

2009-05-14 Thread Hans Verkuil

 Hello all,

   I'm resending the FM transmitter driver and the proposed changes in
 v4l2 api files in order to cover the fmtx extended controls class.

   It is basically the same series of version #2. However I rewrote it
 to add the following comments:

   * Get rid of the region settings thing. That was done for the
 changes of FMTX Extended controls class as well as from the si4713
 driver (also the sysfs nodes for region were removed). If any
 settings for region is required, that will be left for user land.

   * Define preemphasis enumeration constants so that values are
 increasing.

   * Removed also the code from the platform driver which manually
 unregister the i2c client (this is now done in the v4l2 i2c helper
 functions).

   * The last patch now adds documentation for fmtx extended controls
 class into v4l2 docs.

   Note that only the last patch is against v4l-dvb hg repo. The other 7
 are against normal linux tree.

   From top of my mind, what is still open is the i2c board info issue.
 I still don't know how to configure the irq line for i2c v4l2 subdev
 devices with current v4l2 subdev i2c helper functions (same thing
 for platform data). So, that's why I'm resending the patch
 which modifies the api to add a way to pass i2c board info to
 subdevice while registering.

Next week I'll finally have time to do a proper review of this code. But I
think that a i2c helper function that accepts an i2c board info pointer is
probably the way to go.

Sorry for not being very responsive to questions lately, but it is very
busy at work and that means that I'm not spending as much time on this as
I would like.

Regards,

 Hans


   Again, comments are welcome.

 BR,

 ---
 Eduardo Valentin (7):
   v4l2: video device: Add V4L2_CTRL_CLASS_FMTX controls
   v4l2: video device: Add FMTX controls default configurations
   v4l2_subdev i2c: Add i2c board info to v4l2_i2c_new_subdev
   FMTx: si4713: Add files to handle si4713 i2c device
   FMTx: si4713: Add files to add radio interface for si4713
   FMTx: si4713: Add Kconfig and Makefile entries
   FMTx: si4713: Add document file

  Documentation/video4linux/si4713.txt |  133 +++
  drivers/media/radio/Kconfig  |   22 +
  drivers/media/radio/Makefile |3 +
  drivers/media/radio/radio-si4713.c   |  332 ++
  drivers/media/radio/radio-si4713.h   |   48 +
  drivers/media/radio/si4713-subdev.c  | 1008 
  drivers/media/radio/si4713.c | 2100
 ++
  drivers/media/radio/si4713.h |  282 +
  drivers/media/video/v4l2-common.c|   79 ++-
  include/linux/videodev2.h|   34 +
  include/media/v4l2-common.h  |6 +
  11 files changed, 4041 insertions(+), 6 deletions(-)
  create mode 100644 Documentation/video4linux/si4713.txt
  create mode 100644 drivers/media/radio/radio-si4713.c
  create mode 100644 drivers/media/radio/radio-si4713.h
  create mode 100644 drivers/media/radio/si4713-subdev.c
  create mode 100644 drivers/media/radio/si4713.c
  create mode 100644 drivers/media/radio/si4713.h




-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG

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


Re: working on webcam driver

2009-05-14 Thread MK
Since I'm cross-posting this (as advised) I should introduce myself by 
saying I am a neophyte C programmer getting into kernel programming by 
trying to write a driver for an unsupported webcam.  So far I've gotten 
the device to register and have enumerated the various interfaces.

On 05/11/2009 02:50:00 PM, Erik Andrén wrote:
First of all, this list is deprecated. Send mails to
linux-media@vger.kernel.org if you want to reach the kernel community.

 Secondly, have you researched that there is no existing driver for
 your camera? A good way to start would perhaps to search for the usb
 id and linux in google to see if it generates some hits.

I've done this last bit already, and I just checked out gspca.  There 
is a lot of listing for the vendor id, but not the product id, so I 
imagine there is no point in trying any of the drivers (unless I hack 
the source to accept the id string).

However, a rather unhelpful person at the linux driver backport group 
informs me not all USB video drivers are under
drivers/media/video/usbvideo/  In fact, the majority of them are not. 
but then tells me I should take off and go find them myself with a web 
browser (very nice).  

Does anyone know where these drivers are located?  The same person also 
claims that the kernel now has support for all devices that 
follow the USB video class specification, and [sic] that the additional 
23 device specific drivers in the tree* are just for non-conforming 
devices.  This kind of flies in the face of everything else I have 
read about linux and usb webcams.  I also notice that it is impossible 
to select anything other than the v4l layer with xconfig, ie. the 
individual drivers cannot be selected.

Is it normal to include module sources in the tree without making it 
possible to configure them into a regular build?

Sincerely, Mark Eriksen

*I can only find the six under drivers/media, and nothing in 
documentation/ is of assistance


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


Re: working on webcam driver

2009-05-14 Thread Hans de Goede

On 05/14/2009 06:00 PM, MK wrote:

Since I'm cross-posting this (as advised) I should introduce myself by
saying I am a neophyte C programmer getting into kernel programming by
trying to write a driver for an unsupported webcam.  So far I've gotten
the device to register and have enumerated the various interfaces.

On 05/11/2009 02:50:00 PM, Erik Andrén wrote:

First of all, this list is deprecated. Send mails to
linux-media@vger.kernel.org if you want to reach the kernel community.

Secondly, have you researched that there is no existing driver for
your camera? A good way to start would perhaps to search for the usb
id and linux in google to see if it generates some hits.


I've done this last bit already, and I just checked out gspca.  There
is a lot of listing for the vendor id, but not the product id, so I
imagine there is no point in trying any of the drivers (unless I hack
the source to accept the id string).

However, a rather unhelpful person at the linux driver backport group
informs me not all USB video drivers are under
drivers/media/video/usbvideo/  In fact, the majority of them are not.
but then tells me I should take off and go find them myself with a web
browser (very nice).

Does anyone know where these drivers are located?


Most non yvc (see below) usb webcams are driven through the gspca usb
webcam driver framework. This is a v4l driver which consists of gspca-core
+ various subdrivers for a lot of bridges, see drivers/media/video/gspca


  The same person also

claims that the kernel now has support for all devices that
follow the USB video class specification, and [sic] that the additional
23 device specific drivers in the tree* are just for non-conforming
devices.


This is correct recently the USB consortium (or whatever they are called)
have created a new spec called UVC, this is one standard protocol for all
webcams to follow. All *newer* webcams use this, but a lot of cams still
in the stores predate UVC (which stands for USB Video Class).

The first thing to find out to get your webcam supported is what kind of
bridge chip it is using, try looking at the windows driver .inf file,
typical bridges are the sonix series (often refenced to as sn9c10x or
sn9c20x), spca5xx series, zc3xx, vc032x, etc. If you see a reference
to anything like this in the windows driver .inf file (or inside dll's)
that would be good to know. Also it would be very helpful to have the usb
id of your camera.

Regards,

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


[cron job] v4l-dvb daily build 2.6.22 and up: ERRORS, 2.6.16-2.6.21: ERRORS

2009-05-14 Thread Hans Verkuil
This message is generated daily by a cron job that builds v4l-dvb for
the kernels and architectures in the list below.

Results of the daily build of v4l-dvb:

date:Thu May 14 19:00:04 CEST 2009
path:http://www.linuxtv.org/hg/v4l-dvb
changeset:   11783:0018ed9bbca3
gcc version: gcc (GCC) 4.3.1
hardware:x86_64
host os: 2.6.26

linux-2.6.22.19-armv5: OK
linux-2.6.23.12-armv5: OK
linux-2.6.24.7-armv5: OK
linux-2.6.25.11-armv5: OK
linux-2.6.26-armv5: OK
linux-2.6.27-armv5: OK
linux-2.6.28-armv5: OK
linux-2.6.29.1-armv5: OK
linux-2.6.30-rc4-armv5: OK
linux-2.6.27-armv5-ixp: WARNINGS
linux-2.6.28-armv5-ixp: WARNINGS
linux-2.6.29.1-armv5-ixp: WARNINGS
linux-2.6.30-rc4-armv5-ixp: WARNINGS
linux-2.6.28-armv5-omap2: WARNINGS
linux-2.6.29.1-armv5-omap2: WARNINGS
linux-2.6.30-rc4-armv5-omap2: WARNINGS
linux-2.6.22.19-i686: ERRORS
linux-2.6.23.12-i686: ERRORS
linux-2.6.24.7-i686: ERRORS
linux-2.6.25.11-i686: ERRORS
linux-2.6.26-i686: WARNINGS
linux-2.6.27-i686: WARNINGS
linux-2.6.28-i686: WARNINGS
linux-2.6.29.1-i686: WARNINGS
linux-2.6.30-rc4-i686: WARNINGS
linux-2.6.23.12-m32r: OK
linux-2.6.24.7-m32r: OK
linux-2.6.25.11-m32r: OK
linux-2.6.26-m32r: OK
linux-2.6.27-m32r: OK
linux-2.6.28-m32r: OK
linux-2.6.29.1-m32r: OK
linux-2.6.30-rc4-m32r: OK
linux-2.6.22.19-mips: ERRORS
linux-2.6.26-mips: ERRORS
linux-2.6.27-mips: ERRORS
linux-2.6.28-mips: ERRORS
linux-2.6.29.1-mips: ERRORS
linux-2.6.30-rc4-mips: ERRORS
linux-2.6.27-powerpc64: WARNINGS
linux-2.6.28-powerpc64: WARNINGS
linux-2.6.29.1-powerpc64: WARNINGS
linux-2.6.30-rc4-powerpc64: WARNINGS
linux-2.6.22.19-x86_64: ERRORS
linux-2.6.23.12-x86_64: ERRORS
linux-2.6.24.7-x86_64: ERRORS
linux-2.6.25.11-x86_64: ERRORS
linux-2.6.26-x86_64: OK
linux-2.6.27-x86_64: OK
linux-2.6.28-x86_64: OK
linux-2.6.29.1-x86_64: OK
linux-2.6.30-rc4-x86_64: WARNINGS
sparse (linux-2.6.29.1): OK
sparse (linux-2.6.30-rc4): OK
linux-2.6.16.61-i686: ERRORS
linux-2.6.17.14-i686: ERRORS
linux-2.6.18.8-i686: ERRORS
linux-2.6.19.5-i686: ERRORS
linux-2.6.20.21-i686: ERRORS
linux-2.6.21.7-i686: ERRORS
linux-2.6.16.61-x86_64: ERRORS
linux-2.6.17.14-x86_64: ERRORS
linux-2.6.18.8-x86_64: ERRORS
linux-2.6.19.5-x86_64: ERRORS
linux-2.6.20.21-x86_64: ERRORS
linux-2.6.21.7-x86_64: ERRORS

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Thursday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Thursday.tar.bz2

The V4L2 specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/v4l2.html

The DVB API specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/dvbapi.pdf

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


Re: [PATCH 0/8] ir-kbd-i2c conversion to the new i2c binding model (v3)

2009-05-14 Thread Oldřich Jedlička
On Wednesday 13 of May 2009 at 21:45:59, Jean Delvare wrote:
 Hi all,

 Here comes an update of my conversion of ir-kbd-i2c to the new i2c
 binding model. I've split it into 8 pieces for easier review. Firstly
 there is 1 preliminary patch:


Hi Jean,

works for me, as usual :-) I've used the all-in-one patch and the up-to-date 
v4l-dvb tree (compiled yesterday for completeness).

Cheers,
Oldrich.

 01-ir-kbd-i2c-dont-abuse-client-name.patch

 Then 3 patches doing the actual conversion:

 02-ir-kbd-i2c-convert-to-new-style.patch
 03-configure-ir-receiver.patch
 04-ir-kbd-i2c-dont-bind-to-unsupported-devices.patch

 Then 2 patches cleaning up saa7134-input thanks to the new
 possibilities offered by the conversion:

 05-saa7134-input-cleanup-msi-ir.patch
 06-saa7134-input-cleanup-avermedia-cardbus.patch

 And lastly driver-specific adjustments:
 07-ir-add-lirc-addresses.patch
 08-pvrusb2-enable-ir_video-by-default.patch

 This patch set is against the v4l-dvb repository, but I didn't pay
 attention to the compatibility issues. I simply build-tested it on
 2.6.27, 2.6.29 and 2.6.30-rc5.

 This patch set touches many different drivers and I can't test any of
 them. My only TV card with an IR receiver doesn't make use of
 ir-kbd-i2c. So I would warmly welcome testers. The more testing my
 changes can get, the better.

 And of course I welcome reviews and comments as well. I had to touch
 many drivers I don't know anything about so it is possible that I
 missed something.

 The main difference with my previous patch set is that it is adjusted
 to apply after Mike Isely's recent prvusb2 patches.

 I'll post all 8 patches as replies to this post. They can also be
 temporarily downloaded from:
   http://jdelvare.pck.nerim.net/linux/ir-kbd-i2c/
 Additionally I've put a combined patch there, to make testing easier:
  
 http://jdelvare.pck.nerim.net/linux/ir-kbd-i2c/ir-kbd-i2c-conversion-ALL-IN
-ONE.patch But for review the individual patches are much better.

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


[PATCH] [0905_10] Siano - perform clean multi-modules build

2009-05-14 Thread Uri Shkolnik

# HG changeset patch
# User Uri Shkolnik u...@siano-ms.com
# Date 1242323350 -10800
# Node ID f93a86c6f9785cb60e015e811ddfca6850135887
# Parent  0018ed9bbca31e76a17ead56e2e953c325c7cf3f
[0905_10] Siano - perform clean multi-modules build

From: Uri Shkolnik u...@siano-ms.com

Clean up the multi dynamic module build, so no warning/errors
will occur either with clean kernel git or Siano's repository.

Priority: normal

Signed-off-by: Uri Shkolnik u...@siano-ms.com

diff -r 0018ed9bbca3 -r f93a86c6f978 linux/drivers/media/dvb/siano/Kconfig
--- a/linux/drivers/media/dvb/siano/Kconfig Tue May 12 16:13:13 2009 +
+++ b/linux/drivers/media/dvb/siano/Kconfig Thu May 14 20:49:10 2009 +0300
@@ -2,25 +2,74 @@
 # Siano Mobile Silicon Digital TV device configuration
 #
 
-config DVB_SIANO_SMS1XXX
-   tristate Siano SMS1XXX USB dongle support
-   depends on DVB_CORE  USB
+config SMS_SIANO_MDTV
+   tristate Siano SMS1xxx based MDTV receiver
+   default m
---help---
- Choose Y here if you have a USB dongle with a SMS1XXX chipset.
+   Choose Y or M here if you have MDTV receiver with a Siano chipset.
 
- To compile this driver as a module, choose M here: the
- module will be called sms1xxx.
+   To compile this driver as a module, choose M here
+   (The modules will be called smsmdtv).
 
-config DVB_SIANO_SMS1XXX_SMS_IDS
-   bool Enable support for Siano Mobile Silicon default USB IDs
-   depends on DVB_SIANO_SMS1XXX
-   default y
+   Note: All dependents, if selected, will be part of this module.
+
+   Further documentation on this driver can be found on the WWW at 
http://www.siano-ms.com/
+
+if SMS_SIANO_MDTV
+menu Siano module components
+
+# Kernel sub systems support
+config SMS_DVB3_SUBSYS
+   tristate DVB v.3 Subsystem support
+   depends on DVB_CORE
+   default m if DVB_CORE
---help---
- Choose Y here if you have a USB dongle with a SMS1XXX chipset
- that uses Siano Mobile Silicon's default usb vid:pid.
+   Choose if you would like to have DVB v.3 kernel sub-system support.
 
- Choose N here if you would prefer to use Siano's external driver.
+#config SMS_DVB5_S2API_SUBSYS
+#  tristate DVB v.5 (S2 API) Subsystem support
+#  default n
+#  ---help---
+#  Choose if you would like to have DVB v.5 (S2 API) kernel sub-system 
support.
+#
+#config SMS_HOSTLIB_SUBSYS
+#  tristate Host Library Subsystem support
+#  default n
+#  ---help---
+#  Choose if you would like to have Siano's host library kernel sub-system 
support.
+#
+#if SMS_HOSTLIB_SUBSYS
+#
+#config SMS_NET_SUBSYS
+#  tristate Siano Network Adapter
+#  depends on SMS_HOSTLIB_SUBSYS
+#  default n
+#  ---help---
+#  Choose if you would like to have Siano's network adapter support.
+#endif # SMS_HOSTLIB_SUBSYS
 
- Further documentation on this driver can be found on the WWW at
- http://www.siano-ms.com/.
+# Hardware interfaces support
 
+config SMS_USB_DRV
+   tristate USB interface support
+   depends on USB
+   default m if USB
+   ---help---
+   Choose if you would like to have Siano's support for USB interface
+
+config SMS_SDIO_DRV
+   tristate SDIO interface support
+   depends on MMC
+   default m if MMC
+   ---help---
+   Choose if you would like to have Siano's support for SDIO interface
+
+#config SMS_SPI_PXA310_DRV
+#  tristate PXA 310 SPI interface support
+#  depends on ARM  ARCH_PXA  MACH_ZYLONITE  PXA_SSP  SPI
+#  default m if ARM  ARCH_PXA  MACH_ZYLONITE  PXA_SSP  SPI
+#  ---help---
+#  Choose if you would like to have Siano's support for PXA 310 SPI 
interface
+
+endmenu
+endif # SMS_SIANO_MDTV
diff -r 0018ed9bbca3 -r f93a86c6f978 linux/drivers/media/dvb/siano/Makefile
--- a/linux/drivers/media/dvb/siano/MakefileTue May 12 16:13:13 2009 +
+++ b/linux/drivers/media/dvb/siano/MakefileThu May 14 20:49:10 2009 +0300
@@ -1,8 +1,9 @@ sms1xxx-objs := smscoreapi.o sms-cards.o
-sms1xxx-objs := smscoreapi.o sms-cards.o smsendian.o
+smsmdtv-objs := smscoreapi.o sms-cards.o smsendian.o
 
-obj-$(CONFIG_DVB_SIANO_SMS1XXX) += sms1xxx.o
-obj-$(CONFIG_DVB_SIANO_SMS1XXX) += smsusb.o
-obj-$(CONFIG_DVB_SIANO_SMS1XXX) += smsdvb.o
+obj-$(CONFIG_SMS_SIANO_MDTV) += smsmdtv.o
+obj-$(CONFIG_SMS_USB_DRV) += smsusb.o
+obj-$(CONFIG_SMS_DVB3_SUBSYS) += smsdvb.o
+#obj-$(CONFIG_SMS_SDIO_DRV) += smssdio.o
 
 EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
 
diff -r 0018ed9bbca3 -r f93a86c6f978 linux/drivers/media/dvb/siano/smsendian.h
--- a/linux/drivers/media/dvb/siano/smsendian.h Tue May 12 16:13:13 2009 +
+++ b/linux/drivers/media/dvb/siano/smsendian.h Thu May 14 20:49:10 2009 +0300
@@ -24,9 +24,9 @@ along with this program.  If not, see h
 
 #include asm/byteorder.h
 
-void smsendian_handle_tx_message(void *buffer);
-void smsendian_handle_rx_message(void *buffer);
-void 

Re: [PATCH 0/8] ir-kbd-i2c conversion to the new i2c binding model (v3)

2009-05-14 Thread Jean Delvare
On Thu, 14 May 2009 21:25:02 +0200, Oldřich Jedlička wrote:
 On Wednesday 13 of May 2009 at 21:45:59, Jean Delvare wrote:
  Hi all,
 
  Here comes an update of my conversion of ir-kbd-i2c to the new i2c
  binding model. I've split it into 8 pieces for easier review. Firstly
  there is 1 preliminary patch:
 
 
 Hi Jean,
 
 works for me, as usual :-) I've used the all-in-one patch and the up-to-date 
 v4l-dvb tree (compiled yesterday for completeness).

Oldrich, thanks a lot for testing and reporting, this is very
appreciated.

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


[PATCH] [0905_11] Siano: smsusb - add big endien support

2009-05-14 Thread Uri Shkolnik

# HG changeset patch
# User Uri Shkolnik u...@siano-ms.com
# Date 1242323662 -10800
# Node ID 483a3656a227acbceb26da96b02bebd0058a3961
# Parent  f93a86c6f9785cb60e015e811ddfca6850135887
[0905_11] Siano: smsusb - add big endien support

From: Uri Shkolnik u...@siano-ms.com

Add support for big endien target hosts, which
use USB interface.

Priority: normal

Signed-off-by: Uri Shkolnik u...@siano-ms.com

diff -r f93a86c6f978 -r 483a3656a227 linux/drivers/media/dvb/siano/smsusb.c
--- a/linux/drivers/media/dvb/siano/smsusb.cThu May 14 20:49:10 2009 +0300
+++ b/linux/drivers/media/dvb/siano/smsusb.cThu May 14 20:54:22 2009 +0300
@@ -78,6 +78,7 @@ static void smsusb_onresponse(struct urb
if ((urb-actual_length  0)  (urb-status == 0)) {
struct SmsMsgHdr_ST *phdr = (struct SmsMsgHdr_ST *)surb-cb-p;
 
+   smsendian_handle_message_header(phdr);
if (urb-actual_length = phdr-msgLength) {
surb-cb-size = phdr-msgLength;
 



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


[PATCH] [0905_12] Siano: move dvb-api headers' includes to dvb adapter

2009-05-14 Thread Uri Shkolnik

# HG changeset patch
# User Uri Shkolnik u...@siano-ms.com
# Date 1242323970 -10800
# Node ID cc2c1513b97c4247614fadcab0a61f3979837d86
# Parent  483a3656a227acbceb26da96b02bebd0058a3961
[0905_12] Siano: move dvb-api headers' includes to dvb adapter

From: Uri Shkolnik u...@siano-ms.com

Move the DVB-API v3 headers' include list from the core component
to the smsdvb (DVB adapter) which is the only one that uses them.

Priority: normal

Signed-off-by: Uri Shkolnik u...@siano-ms.com

diff -r 483a3656a227 -r cc2c1513b97c linux/drivers/media/dvb/siano/smscoreapi.h
--- a/linux/drivers/media/dvb/siano/smscoreapi.hThu May 14 20:54:22 
2009 +0300
+++ b/linux/drivers/media/dvb/siano/smscoreapi.hThu May 14 20:59:30 
2009 +0300
@@ -35,13 +35,6 @@ along with this program.  If not, see h
 #include asm/page.h
 #include compat.h
 
-#define SMS_DVB3_SUBSYS
-#ifdef SMS_DVB3_SUBSYS
-#include dmxdev.h
-#include dvbdev.h
-#include dvb_demux.h
-#include dvb_frontend.h
-#endif
 
 #define kmutex_init(_p_) mutex_init(_p_)
 #define kmutex_lock(_p_) mutex_lock(_p_)
diff -r 483a3656a227 -r cc2c1513b97c linux/drivers/media/dvb/siano/smsdvb.c
--- a/linux/drivers/media/dvb/siano/smsdvb.cThu May 14 20:54:22 2009 +0300
+++ b/linux/drivers/media/dvb/siano/smsdvb.cThu May 14 20:59:30 2009 +0300
@@ -21,6 +21,11 @@ along with this program.  If not, see h
 
 #include linux/module.h
 #include linux/init.h
+
+#include dmxdev.h
+#include dvbdev.h
+#include dvb_demux.h
+#include dvb_frontend.h
 
 #include smscoreapi.h
 #include smsendian.h



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


[PATCH] [0905_14] Siano: USB - move the device id table to the cards module

2009-05-14 Thread Uri Shkolnik

# HG changeset patch
# User Uri Shkolnik u...@siano-ms.com
# Date 1242325466 -10800
# Node ID fe5ecbb828340406923d06b4ea93a210aafb5c7e
# Parent  5a6de44c39c9198bc1af79f5901dc769690885de
[0905_14] Siano: USB - move the device id table to the cards module

From: Uri Shkolnik u...@siano-ms.com

The card modules is the component which handles various targets,
so the IDs table should reside within it.

Priority: normal

Signed-off-by: Uri Shkolnik u...@siano-ms.com

diff -r 5a6de44c39c9 -r fe5ecbb82834 linux/drivers/media/dvb/siano/sms-cards.c
--- a/linux/drivers/media/dvb/siano/sms-cards.c Thu May 14 21:14:46 2009 +0300
+++ b/linux/drivers/media/dvb/siano/sms-cards.c Thu May 14 21:24:26 2009 +0300
@@ -18,6 +18,51 @@
  */
 
 #include sms-cards.h
+
+struct usb_device_id smsusb_id_table[] = {
+   { USB_DEVICE(0x187f, 0x0010),
+   .driver_info = SMS1XXX_BOARD_SIANO_STELLAR },
+   { USB_DEVICE(0x187f, 0x0100),
+   .driver_info = SMS1XXX_BOARD_SIANO_STELLAR },
+   { USB_DEVICE(0x187f, 0x0200),
+   .driver_info = SMS1XXX_BOARD_SIANO_NOVA_A },
+   { USB_DEVICE(0x187f, 0x0201),
+   .driver_info = SMS1XXX_BOARD_SIANO_NOVA_B },
+   { USB_DEVICE(0x187f, 0x0300),
+   .driver_info = SMS1XXX_BOARD_SIANO_VEGA },
+   { USB_DEVICE(0x2040, 0x1700),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_CATAMOUNT },
+   { USB_DEVICE(0x2040, 0x1800),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_OKEMO_A },
+   { USB_DEVICE(0x2040, 0x1801),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_OKEMO_B },
+   { USB_DEVICE(0x2040, 0x2000),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD },
+   { USB_DEVICE(0x2040, 0x2009),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2 },
+   { USB_DEVICE(0x2040, 0x200a),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD },
+   { USB_DEVICE(0x2040, 0x2010),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD },
+   { USB_DEVICE(0x2040, 0x2011),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD },
+   { USB_DEVICE(0x2040, 0x2019),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD },
+   { USB_DEVICE(0x2040, 0x5500),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
+   { USB_DEVICE(0x2040, 0x5510),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
+   { USB_DEVICE(0x2040, 0x5520),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
+   { USB_DEVICE(0x2040, 0x5530),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
+   { USB_DEVICE(0x2040, 0x5580),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
+   { USB_DEVICE(0x2040, 0x5590),
+   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
+   { } /* Terminating entry */
+};
+MODULE_DEVICE_TABLE(usb, smsusb_id_table);
 
 static int sms_dbg;
 module_param_named(cards_dbg, sms_dbg, int, 0644);
diff -r 5a6de44c39c9 -r fe5ecbb82834 linux/drivers/media/dvb/siano/sms-cards.h
--- a/linux/drivers/media/dvb/siano/sms-cards.h Thu May 14 21:14:46 2009 +0300
+++ b/linux/drivers/media/dvb/siano/sms-cards.h Thu May 14 21:24:26 2009 +0300
@@ -45,6 +45,8 @@ struct sms_board {
 
 struct sms_board *sms_get_board(int id);
 
+extern struct usb_device_id smsusb_id_table[];
+
 int sms_board_setup(struct smscore_device_t *coredev);
 
 #define SMS_LED_OFF 0
diff -r 5a6de44c39c9 -r fe5ecbb82834 linux/drivers/media/dvb/siano/smsusb.c
--- a/linux/drivers/media/dvb/siano/smsusb.cThu May 14 21:14:46 2009 +0300
+++ b/linux/drivers/media/dvb/siano/smsusb.cThu May 14 21:24:26 2009 +0300
@@ -488,53 +488,6 @@ static int smsusb_resume(struct usb_inte
return 0;
 }
 
-struct usb_device_id smsusb_id_table[] = {
-#ifdef CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS
-   { USB_DEVICE(0x187f, 0x0010),
-   .driver_info = SMS1XXX_BOARD_SIANO_STELLAR },
-   { USB_DEVICE(0x187f, 0x0100),
-   .driver_info = SMS1XXX_BOARD_SIANO_STELLAR },
-   { USB_DEVICE(0x187f, 0x0200),
-   .driver_info = SMS1XXX_BOARD_SIANO_NOVA_A },
-   { USB_DEVICE(0x187f, 0x0201),
-   .driver_info = SMS1XXX_BOARD_SIANO_NOVA_B },
-   { USB_DEVICE(0x187f, 0x0300),
-   .driver_info = SMS1XXX_BOARD_SIANO_VEGA },
-#endif
-   { USB_DEVICE(0x2040, 0x1700),
-   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_CATAMOUNT },
-   { USB_DEVICE(0x2040, 0x1800),
-   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_OKEMO_A },
-   { USB_DEVICE(0x2040, 0x1801),
-   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_OKEMO_B },
-   { USB_DEVICE(0x2040, 0x2000),
-   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD },
-   { USB_DEVICE(0x2040, 0x2009),
-   .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2 },
-   { USB_DEVICE(0x2040, 

[PATCH] [0905_15] Siano: smscards - add two more targets

2009-05-14 Thread Uri Shkolnik

# HG changeset patch
# User Uri Shkolnik u...@siano-ms.com
# Date 1242325845 -10800
# Node ID 0f7ae5e8b09ff516f35f299e81aacbba237ba038
# Parent  fe5ecbb828340406923d06b4ea93a210aafb5c7e
[0905_15] Siano: smscards - add two more targets

From: Uri Shkolnik u...@siano-ms.com

Add two more target to the cards, Nice and Venice

Priority: normal

Signed-off-by: Uri Shkolnik u...@siano-ms.com

diff -r fe5ecbb82834 -r 0f7ae5e8b09f linux/drivers/media/dvb/siano/sms-cards.c
--- a/linux/drivers/media/dvb/siano/sms-cards.c Thu May 14 21:24:26 2009 +0300
+++ b/linux/drivers/media/dvb/siano/sms-cards.c Thu May 14 21:30:45 2009 +0300
@@ -60,8 +60,13 @@ struct usb_device_id smsusb_id_table[] =
.driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
{ USB_DEVICE(0x2040, 0x5590),
.driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
-   { } /* Terminating entry */
-};
+   { USB_DEVICE(0x187f, 0x0202),
+   .driver_info = SMS1XXX_BOARD_SIANO_NICE },
+   { USB_DEVICE(0x187f, 0x0301),
+   .driver_info = SMS1XXX_BOARD_SIANO_VENICE },
+   { } /* Terminating entry */
+   };
+
 MODULE_DEVICE_TABLE(usb, smsusb_id_table);
 
 static int sms_dbg;
diff -r fe5ecbb82834 -r 0f7ae5e8b09f linux/drivers/media/dvb/siano/sms-cards.h
--- a/linux/drivers/media/dvb/siano/sms-cards.h Thu May 14 21:24:26 2009 +0300
+++ b/linux/drivers/media/dvb/siano/sms-cards.h Thu May 14 21:30:45 2009 +0300
@@ -34,6 +34,8 @@
 #define SMS1XXX_BOARD_HAUPPAUGE_WINDHAM 8
 #define SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD 9
 #define SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2 10
+#define SMS1XXX_BOARD_SIANO_NICE   11
+#define SMS1XXX_BOARD_SIANO_VENICE 12
 
 struct sms_board {
enum sms_device_type_st type;



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


[PATCH] [0905_16] Siano: smscards - add gpio look-up table

2009-05-14 Thread Uri Shkolnik

# HG changeset patch
# User Uri Shkolnik u...@siano-ms.com
# Date 1242326150 -10800
# Node ID dd2de98ad42c1328d24e7bf90903fab1e1368b0b
# Parent  0f7ae5e8b09ff516f35f299e81aacbba237ba038
[0905_16] Siano: smscards - add gpio look-up table

From: Uri Shkolnik u...@siano-ms.com

Add gpio look-up table for various requirements, any
target may select any gpio and assign it to a function

Priority: normal

Signed-off-by: Uri Shkolnik u...@siano-ms.com

diff -r 0f7ae5e8b09f -r dd2de98ad42c linux/drivers/media/dvb/siano/sms-cards.h
--- a/linux/drivers/media/dvb/siano/sms-cards.h Thu May 14 21:30:45 2009 +0300
+++ b/linux/drivers/media/dvb/siano/sms-cards.h Thu May 14 21:35:50 2009 +0300
@@ -37,9 +37,43 @@
 #define SMS1XXX_BOARD_SIANO_NICE   11
 #define SMS1XXX_BOARD_SIANO_VENICE 12
 
+struct sms_board_gpio_cfg {
+   int lna_vhf_exist;
+   int lna_vhf_ctrl;
+   int lna_uhf_exist;
+   int lna_uhf_ctrl;
+   int lna_uhf_d_ctrl;
+   int lna_sband_exist;
+   int lna_sband_ctrl;
+   int lna_sband_d_ctrl;
+   int foreign_lna0_ctrl;
+   int foreign_lna1_ctrl;
+   int foreign_lna2_ctrl;
+   int rf_switch_vhf;
+   int rf_switch_uhf;
+   int rf_switch_sband;
+   int leds_power;
+   int led0;
+   int led1;
+   int led2;
+   int led3;
+   int led4;
+   int ir;
+   int eeprom_wp;
+   int mrc_sense;
+   int mrc_pdn_resetn;
+   int mrc_gp0; /* mrcs spi int */
+   int mrc_gp1;
+   int mrc_gp2;
+   int mrc_gp3;
+   int mrc_gp4;
+   int host_spi_gsp_ts_int;
+};
+
 struct sms_board {
enum sms_device_type_st type;
char *name, *fw[DEVICE_MODE_MAX];
+   struct sms_board_gpio_cfg board_cfg;
 
/* gpios */
int led_power, led_hi, led_lo, lna_ctrl, rf_switch;



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


[PATCH] [0905_17] Siano: bind infra-red component

2009-05-14 Thread Uri Shkolnik

# HG changeset patch
# User Uri Shkolnik u...@siano-ms.com
# Date 1242327012 -10800
# Node ID 438275c8cf1084ed8983b084a8d4d7ef03c05022
# Parent  dd2de98ad42c1328d24e7bf90903fab1e1368b0b
[0905_17] Siano: bind infra-red component

From: Uri Shkolnik u...@siano-ms.com

Add the infra-red to the makefile and declare
the assignment in the cards components.

Priority: normal

Signed-off-by: Uri Shkolnik u...@siano-ms.com

diff -r dd2de98ad42c -r 438275c8cf10 linux/drivers/media/dvb/siano/Makefile
--- a/linux/drivers/media/dvb/siano/MakefileThu May 14 21:35:50 2009 +0300
+++ b/linux/drivers/media/dvb/siano/MakefileThu May 14 21:50:12 2009 +0300
@@ -1,4 +1,4 @@ smsmdtv-objs := smscoreapi.o sms-cards.o
-smsmdtv-objs := smscoreapi.o sms-cards.o smsendian.o
+smsmdtv-objs := smscoreapi.o sms-cards.o smsendian.o smsir.o
 
 obj-$(CONFIG_SMS_SIANO_MDTV) += smsmdtv.o
 obj-$(CONFIG_SMS_USB_DRV) += smsusb.o
diff -r dd2de98ad42c -r 438275c8cf10 linux/drivers/media/dvb/siano/sms-cards.c
--- a/linux/drivers/media/dvb/siano/sms-cards.c Thu May 14 21:35:50 2009 +0300
+++ b/linux/drivers/media/dvb/siano/sms-cards.c Thu May 14 21:50:12 2009 +0300
@@ -18,6 +18,7 @@
  */
 
 #include sms-cards.h
+#include smsir.h
 
 struct usb_device_id smsusb_id_table[] = {
{ USB_DEVICE(0x187f, 0x0010),
diff -r dd2de98ad42c -r 438275c8cf10 linux/drivers/media/dvb/siano/sms-cards.h
--- a/linux/drivers/media/dvb/siano/sms-cards.h Thu May 14 21:35:50 2009 +0300
+++ b/linux/drivers/media/dvb/siano/sms-cards.h Thu May 14 21:50:12 2009 +0300
@@ -22,6 +22,7 @@
 
 #include linux/usb.h
 #include smscoreapi.h
+#include smsir.h
 
 #define SMS_BOARD_UNKNOWN 0
 #define SMS1XXX_BOARD_SIANO_STELLAR 1
@@ -74,6 +75,7 @@ struct sms_board {
enum sms_device_type_st type;
char *name, *fw[DEVICE_MODE_MAX];
struct sms_board_gpio_cfg board_cfg;
+   enum ir_kb_type ir_kb_type;
 
/* gpios */
int led_power, led_hi, led_lo, lna_ctrl, rf_switch;
@@ -82,6 +84,7 @@ struct sms_board *sms_get_board(int id);
 struct sms_board *sms_get_board(int id);
 
 extern struct usb_device_id smsusb_id_table[];
+extern struct smscore_device_t *coredev;
 
 int sms_board_setup(struct smscore_device_t *coredev);
 
diff -r dd2de98ad42c -r 438275c8cf10 linux/drivers/media/dvb/siano/smscoreapi.h
--- a/linux/drivers/media/dvb/siano/smscoreapi.hThu May 14 21:35:50 
2009 +0300
+++ b/linux/drivers/media/dvb/siano/smscoreapi.hThu May 14 21:50:12 
2009 +0300
@@ -35,6 +35,7 @@ along with this program.  If not, see h
 #include asm/page.h
 #include compat.h
 
+#include smsir.h
 
 #define kmutex_init(_p_) mutex_init(_p_)
 #define kmutex_lock(_p_) mutex_lock(_p_)
@@ -168,7 +169,7 @@ struct smscore_device_t {
u32 fw_buf_size;
 
/* Infrared (IR) */
-   /* struct ir_t ir; */
+   struct ir_t ir;
 
int led_state;
 };
diff -r dd2de98ad42c -r 438275c8cf10 linux/drivers/media/dvb/siano/smsir.c
--- a/linux/drivers/media/dvb/siano/smsir.c Thu May 14 21:35:50 2009 +0300
+++ b/linux/drivers/media/dvb/siano/smsir.c Thu May 14 21:50:12 2009 +0300
@@ -99,7 +99,7 @@ static void sms_ir_rc5_event(struct smsc
bool toggle_changed;
u16 keycode;
 
-   sms_info(IR RC5 word: address %d, command %d, toggle %d,
+   sms_log(IR RC5 word: address %d, command %d, toggle %d,
addr, cmd, toggle);
 
toggle_changed = ir_toggle != toggle;
@@ -118,7 +118,7 @@ static void sms_ir_rc5_event(struct smsc
(keycode != KEY_VOLUMEUP  keycode != KEY_VOLUMEDOWN))
return; /* accept only repeated volume, reject other keys */
 
-   sms_info(kernel input keycode (from ir) %d, keycode);
+   sms_log(kernel input keycode (from ir) %d, keycode);
input_report_key(coredev-ir.input_dev, keycode, 1);
input_sync(coredev-ir.input_dev);
 
@@ -147,7 +147,7 @@ static u32 ir_rc5_decode(unsigned int co
break;
case 3:
 /* dprintk(1, ir-common: ir_rc5_decode(%x) bad code\n, org_code);*/
-   sms_info(bad code);
+   sms_log(bad code);
return 0;
}
}
@@ -175,7 +175,7 @@ static void sms_rc5_parse_word(struct sm
RC5_PUSH_BIT(rc5_word, (ir_wordi)1, j)
 
rc5_word = ir_rc5_decode(rc5_word);
-   /* sms_info(temp = 0x%x, rc5_code = 0x%x, ir_word, rc5_word); */
+   /* sms_log(temp = 0x%x, rc5_code = 0x%x, ir_word, rc5_word); */
 
sms_ir_rc5_event(coredev,
RC5_TOGGLE(rc5_word),
@@ -210,11 +210,11 @@ static void sms_rc5_accumulate_bits(stru
if (ir_pos == RC5_WORD_LEN)
sms_rc5_parse_word(coredev);
else if (ir_pos) /* timeout within a word */
-   sms_info(IR error parsing a word);
+   sms_log(IR error parsing a word);
 
  

[PATCH] [0905_18] Siano: IR - add SMS IR protocol

2009-05-14 Thread Uri Shkolnik

# HG changeset patch
# User Uri Shkolnik u...@siano-ms.com
# Date 1242327653 -10800
# Node ID fdfd103426e8aeabb18aaa1e117238e3ca450d0e
# Parent  438275c8cf1084ed8983b084a8d4d7ef03c05022
[0905_18] Siano: IR - add SMS IR protocol

From: Uri Shkolnik u...@siano-ms.com

Add the SMS Infra-red protocol handling to the core component.

Priority: normal

Signed-off-by: Uri Shkolnik u...@siano-ms.com

diff -r 438275c8cf10 -r fdfd103426e8 linux/drivers/media/dvb/siano/smscoreapi.c
--- a/linux/drivers/media/dvb/siano/smscoreapi.cThu May 14 21:50:12 
2009 +0300
+++ b/linux/drivers/media/dvb/siano/smscoreapi.cThu May 14 22:00:53 
2009 +0300
@@ -34,6 +34,7 @@
 #include smscoreapi.h
 #include smsendian.h
 #include sms-cards.h
+#include smsir.h
 
 static int sms_dbg;
 module_param_named(debug, sms_dbg, int, 0644);
@@ -349,6 +350,7 @@ int smscore_register_device(struct smsde
init_completion(dev-init_device_done);
init_completion(dev-reload_start_done);
init_completion(dev-resume_done);
+   init_completion(dev-ir_init_done);
 
/* alloc common buffer */
dev-common_buffer_size = params-buffer_size * params-num_buffers;
@@ -404,6 +406,71 @@ int smscore_register_device(struct smsde
 }
 EXPORT_SYMBOL_GPL(smscore_register_device);
 
+
+static int smscore_sendrequest_and_wait(struct smscore_device_t *coredev,
+   void *buffer, size_t size, struct completion *completion) {
+   int rc = coredev-sendrequest_handler(coredev-context, buffer, size);
+   if (rc  0) {
+   sms_info(sendrequest returned error %d, rc);
+   return rc;
+   }
+
+   return wait_for_completion_timeout(completion,
+   msecs_to_jiffies(SMS_PROTOCOL_MAX_RAOUNDTRIP_MS)) ?
+   0 : -ETIME;
+}
+
+/**
+ * Starts  enables IR operations
+ *
+ * @return 0 on success,  0 on error.
+ */
+static int smscore_init_ir(struct smscore_device_t *coredev)
+{
+   int ir_io;
+   int rc;
+   void *buffer;
+
+   coredev-ir.input_dev = NULL;
+   ir_io = sms_get_board(smscore_get_board_id(coredev))-board_cfg.ir;
+   if (ir_io) {/* only if IR port exist we use IR sub-module */
+   sms_info(IR loading);
+   rc = sms_ir_init(coredev);
+
+   if  (rc != 0)
+   sms_err(Error initialization DTV IR sub-module);
+   else {
+   buffer = kmalloc(sizeof(struct SmsMsgData_ST2) +
+   SMS_DMA_ALIGNMENT,
+   GFP_KERNEL | GFP_DMA);
+   if (buffer) {
+   struct SmsMsgData_ST2 *msg =
+   (struct SmsMsgData_ST2 *)
+   SMS_ALIGN_ADDRESS(buffer);
+
+   SMS_INIT_MSG(msg-xMsgHeader,
+   MSG_SMS_START_IR_REQ,
+   sizeof(struct SmsMsgData_ST2));
+   msg-msgData[0] = coredev-ir.controller;
+   msg-msgData[1] = coredev-ir.timeout;
+
+   smsendian_handle_tx_message(
+   (struct SmsMsgHdr_ST2 *)msg);
+   rc = smscore_sendrequest_and_wait(coredev, msg,
+   msg-xMsgHeader. msgLength,
+   coredev-ir_init_done);
+
+   kfree(buffer);
+   } else
+   sms_err
+   (Sending IR initialization message failed);
+   }
+   } else
+   sms_info(IR port has not been detected);
+
+   return 0;
+}
+
 /**
  * sets initial device mode and notifies client hotplugs that device is ready
  *
@@ -424,6 +491,7 @@ int smscore_start_device(struct smscore_
kmutex_lock(g_smscore_deviceslock);
 
rc = smscore_notify_callbacks(coredev, coredev-device, 1);
+   smscore_init_ir(coredev);
 
sms_info(device %p started, rc %d, coredev, rc);
 
@@ -433,20 +501,6 @@ int smscore_start_device(struct smscore_
 }
 EXPORT_SYMBOL_GPL(smscore_start_device);
 
-static int smscore_sendrequest_and_wait(struct smscore_device_t *coredev,
-   void *buffer, size_t size,
-   struct completion *completion)
-{
-   int rc = coredev-sendrequest_handler(coredev-context, buffer, size);
-   if (rc  0) {
-   sms_info(sendrequest returned error %d, rc);
-   return rc;
-   }
-
-   return wait_for_completion_timeout(completion,
-  msecs_to_jiffies(1)) ?
-   0 : -ETIME;
-}
 
 static int smscore_load_firmware_family2(struct 

[PATCH] [0905_19] Siano: smscards - fix wrong firmware assignment

2009-05-14 Thread Uri Shkolnik

# HG changeset patch
# User Uri Shkolnik u...@siano-ms.com
# Date 1242327843 -10800
# Node ID ccbe8d7a70064b1552f2034b958551b8fc294d8e
# Parent  fdfd103426e8aeabb18aaa1e117238e3ca450d0e
[0905_19] Siano: smscards - fix wrong firmware assignment

From: Uri Shkolnik u...@siano-ms.com

Remove wrong firmware assignments for Nova, Stellar

Priority: normal

Signed-off-by: Uri Shkolnik u...@siano-ms.com

diff -r fdfd103426e8 -r ccbe8d7a7006 linux/drivers/media/dvb/siano/sms-cards.c
--- a/linux/drivers/media/dvb/siano/sms-cards.c Thu May 14 22:00:53 2009 +0300
+++ b/linux/drivers/media/dvb/siano/sms-cards.c Thu May 14 22:04:03 2009 +0300
@@ -81,17 +81,14 @@ static struct sms_board sms_boards[] = {
[SMS1XXX_BOARD_SIANO_STELLAR] = {
.name   = Siano Stellar Digital Receiver,
.type   = SMS_STELLAR,
-   .fw[DEVICE_MODE_DVBT_BDA] = sms1xxx-stellar-dvbt-01.fw,
},
[SMS1XXX_BOARD_SIANO_NOVA_A] = {
.name   = Siano Nova A Digital Receiver,
.type   = SMS_NOVA_A0,
-   .fw[DEVICE_MODE_DVBT_BDA] = sms1xxx-nova-a-dvbt-01.fw,
},
[SMS1XXX_BOARD_SIANO_NOVA_B] = {
.name   = Siano Nova B Digital Receiver,
.type   = SMS_NOVA_B0,
-   .fw[DEVICE_MODE_DVBT_BDA] = sms1xxx-nova-b-dvbt-01.fw,
},
[SMS1XXX_BOARD_SIANO_VEGA] = {
.name   = Siano Vega Digital Receiver,



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


[PATCH] [0905_20] Siano: smscards - add table entities to new cards

2009-05-14 Thread Uri Shkolnik

# HG changeset patch
# User Uri Shkolnik u...@siano-ms.com
# Date 1242328012 -10800
# Node ID 9341c85c499e5052022ffd4ad154e912bffabe59
# Parent  ccbe8d7a70064b1552f2034b958551b8fc294d8e
[0905_20] Siano: smscards - add table entities to new cards

From: Uri Shkolnik u...@siano-ms.com

Add new board descriptions to table, for Venice and Vega

Priority: normal

Signed-off-by: Uri Shkolnik u...@siano-ms.com

diff -r ccbe8d7a7006 -r 9341c85c499e linux/drivers/media/dvb/siano/sms-cards.c
--- a/linux/drivers/media/dvb/siano/sms-cards.c Thu May 14 22:04:03 2009 +0300
+++ b/linux/drivers/media/dvb/siano/sms-cards.c Thu May 14 22:06:52 2009 +0300
@@ -129,6 +129,16 @@ static struct sms_board sms_boards[] = {
.type   = SMS_NOVA_B0,
.fw[DEVICE_MODE_DVBT_BDA] = sms1xxx-hcw-55xxx-dvbt-02.fw,
.lna_ctrl  = -1,
+   },
+   [SMS1XXX_BOARD_SIANO_NICE] = {
+   /* 11 */
+   .name = Siano Nice Digital Receiver,
+   .type = SMS_NOVA_B0,
+   },
+   [SMS1XXX_BOARD_SIANO_VENICE] = {
+   /* 12 */
+   .name = Siano Venice Digital Receiver,
+   .type = SMS_VEGA,
},
 };
 



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


[PATCH] [0905_22] Siano: smscore - fix bug in gpio implementation

2009-05-14 Thread Uri Shkolnik

# HG changeset patch
# User Uri Shkolnik u...@siano-ms.com
# Date 1242329318 -10800
# Node ID 8b645aa2ab13f22b8d4dcd8e6353fce2c976cd34
# Parent  71c60eec8001438fee7e9f2e220a101576d6a219
[0905_22] Siano: smscore - fix bug in gpio implementation

From: Uri Shkolnik u...@siano-ms.com

Old implementation code was wrong. The correct code has been submmited.
(old code bug may cause chip-set failure and bad reception
experiance)

Priority: normal

Signed-off-by: Uri Shkolnik u...@siano-ms.com

diff -r 71c60eec8001 -r 8b645aa2ab13 linux/drivers/media/dvb/siano/sms-cards.c
--- a/linux/drivers/media/dvb/siano/sms-cards.c Thu May 14 22:13:13 2009 +0300
+++ b/linux/drivers/media/dvb/siano/sms-cards.c Thu May 14 22:28:38 2009 +0300
@@ -160,11 +160,11 @@ static int sms_set_gpio(struct smscore_d
int lvl, ret;
u32 gpio;
struct smscore_gpio_config gpioconfig = {
-   .direction= SMS_GPIO_DIRECTION_OUTPUT,
-   .pullupdown   = SMS_GPIO_PULLUPDOWN_NONE,
-   .inputcharacteristics = SMS_GPIO_INPUTCHARACTERISTICS_NORMAL,
-   .outputslewrate   = SMS_GPIO_OUTPUTSLEWRATE_FAST,
-   .outputdriving= SMS_GPIO_OUTPUTDRIVING_4mA,
+   .Direction= SMS_GPIO_DIRECTION_OUTPUT,
+   .PullUpDown   = SMS_GPIO_PULLUPDOWN_NONE,
+   .InputCharacteristics = SMS_GPIO_INPUTCHARACTERISTICS_NORMAL,
+   .OutputSlewRate   = SMS_GPIO_OUTPUTSLEWRATE_FAST,
+   .OutputDriving= SMS_GPIO_OUTPUTDRIVING_4mA,
};
 
if (pin == 0)
diff -r 71c60eec8001 -r 8b645aa2ab13 linux/drivers/media/dvb/siano/smscoreapi.c
--- a/linux/drivers/media/dvb/siano/smscoreapi.cThu May 14 22:13:13 
2009 +0300
+++ b/linux/drivers/media/dvb/siano/smscoreapi.cThu May 14 22:28:38 
2009 +0300
@@ -35,6 +35,8 @@
 #include smsendian.h
 #include sms-cards.h
 #include smsir.h
+
+#define MAX_GPIO_PIN_NUMBER31
 
 static int sms_dbg;
 module_param_named(debug, sms_dbg, int, 0644);
@@ -350,6 +352,9 @@ int smscore_register_device(struct smsde
init_completion(dev-init_device_done);
init_completion(dev-reload_start_done);
init_completion(dev-resume_done);
+   init_completion(dev-gpio_configuration_done);
+   init_completion(dev-gpio_set_level_done);
+   init_completion(dev-gpio_get_level_done);
init_completion(dev-ir_init_done);
 
/* alloc common buffer */
@@ -1045,6 +1050,23 @@ void smscore_onresponse(struct smscore_d
case MSG_SMS_SLEEP_RESUME_COMP_IND:
complete(coredev-resume_done);
break;
+   case MSG_SMS_GPIO_CONFIG_EX_RES:
+   sms_debug(MSG_SMS_GPIO_CONFIG_EX_RES);
+   complete(coredev-gpio_configuration_done);
+   break;
+   case MSG_SMS_GPIO_SET_LEVEL_RES:
+   sms_debug(MSG_SMS_GPIO_SET_LEVEL_RES);
+   complete(coredev-gpio_set_level_done);
+   break;
+   case MSG_SMS_GPIO_GET_LEVEL_RES:
+   {
+   u32 *msgdata = (u32 *) phdr;
+   coredev-gpio_get_res = msgdata[1];
+   sms_debug(MSG_SMS_GPIO_GET_LEVEL_RES gpio level %d,
+   coredev-gpio_get_res);
+   complete(coredev-gpio_get_level_done);
+   break;
+   }
case MSG_SMS_START_IR_RES:
complete(coredev-ir_init_done);
break;
@@ -1313,74 +1335,235 @@ static int smscore_map_common_buffer(str
 }
 #endif
 
-int smscore_configure_gpio(struct smscore_device_t *coredev, u32 pin,
-  struct smscore_gpio_config *pinconfig)
-{
-   struct {
-   struct SmsMsgHdr_ST hdr;
-   u32 data[6];
-   } msg;
+static int GetGpioPinParams(u32 PinNum, u32 *pTranslatedPinNum,
+   u32 *pGroupNum, u32 *pGroupCfg) {
 
-   if (coredev-device_flags  SMS_DEVICE_FAMILY2) {
-   msg.hdr.msgSrcId = DVBT_BDA_CONTROL_MSG_ID;
-   msg.hdr.msgDstId = HIF_TASK;
-   msg.hdr.msgFlags = 0;
-   msg.hdr.msgType  = MSG_SMS_GPIO_CONFIG_EX_REQ;
-   msg.hdr.msgLength = sizeof(msg);
+   *pGroupCfg = 1;
 
-   msg.data[0] = pin;
-   msg.data[1] = pinconfig-pullupdown;
+   if (PinNum = 0  PinNum = 1) {
+   *pTranslatedPinNum = 0;
+   *pGroupNum = 9;
+   *pGroupCfg = 2;
+   } else if (PinNum = 2  PinNum = 6) {
+   *pTranslatedPinNum = 2;
+   *pGroupNum = 0;
+   *pGroupCfg = 2;
+   } else if (PinNum = 7  PinNum = 11) {
+   *pTranslatedPinNum = 7;
+   *pGroupNum = 1;
+   } else if (PinNum = 12  PinNum = 15) {
+   

[PATCH] [0905_21] Siano: smscards - assign gpio to HPG targets

2009-05-14 Thread Uri Shkolnik

# HG changeset patch
# User Uri Shkolnik u...@siano-ms.com
# Date 1242328393 -10800
# Node ID 71c60eec8001438fee7e9f2e220a101576d6a219
# Parent  9341c85c499e5052022ffd4ad154e912bffabe59
[0905_21] Siano: smscards - assign gpio to HPG targets

From: Uri Shkolnik u...@siano-ms.com

Assign using the new gpio structures, i/o for exist HPG
targets, without removing the old implementation.

Priority: normal

Signed-off-by: Uri Shkolnik u...@siano-ms.com

diff -r 9341c85c499e -r 71c60eec8001 linux/drivers/media/dvb/siano/sms-cards.c
--- a/linux/drivers/media/dvb/siano/sms-cards.c Thu May 14 22:06:52 2009 +0300
+++ b/linux/drivers/media/dvb/siano/sms-cards.c Thu May 14 22:13:13 2009 +0300
@@ -113,6 +113,9 @@ static struct sms_board sms_boards[] = {
.name   = Hauppauge WinTV MiniStick,
.type   = SMS_NOVA_B0,
.fw[DEVICE_MODE_DVBT_BDA] = sms1xxx-hcw-55xxx-dvbt-02.fw,
+   .board_cfg.leds_power = 26,
+   .board_cfg.led0 = 27,
+   .board_cfg.led1 = 28,
.led_power = 26,
.led_lo= 27,
.led_hi= 28,
@@ -122,7 +125,9 @@ static struct sms_board sms_boards[] = {
.type   = SMS_NOVA_B0,
.fw[DEVICE_MODE_DVBT_BDA] = sms1xxx-hcw-55xxx-dvbt-02.fw,
.lna_ctrl  = 29,
+   .board_cfg.foreign_lna0_ctrl = 29,
.rf_switch = 17,
+   .board_cfg.rf_switch_uhf = 17,
},
[SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2] = {
.name   = Hauppauge WinTV MiniCard,



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


Re: working on webcam driver

2009-05-14 Thread Theodore Kilgore



On Thu, 14 May 2009, Hans de Goede wrote:


On 05/14/2009 06:00 PM, MK wrote:

Since I'm cross-posting this (as advised) I should introduce myself by
saying I am a neophyte C programmer getting into kernel programming by
trying to write a driver for an unsupported webcam.  So far I've gotten
the device to register and have enumerated the various interfaces.

On 05/11/2009 02:50:00 PM, Erik Andrén wrote:

First of all, this list is deprecated. Send mails to
linux-media@vger.kernel.org if you want to reach the kernel community.

Secondly, have you researched that there is no existing driver for
your camera? A good way to start would perhaps to search for the usb
id and linux in google to see if it generates some hits.


I've done this last bit already, and I just checked out gspca.  There
is a loit of listing for the vendor id, but not the product id, so I
imagine there is no point in trying any of the drivers (unless I hack
the source to accept the id string).

However, a rather unhelpful person at the linux driver backport group
informs me not all USB video drivers are under
drivers/media/video/usbvideo/  In fact, the majority of them are not.
but then tells me I should take off and go find them myself with a web
browser (very nice).

Does anyone know where these drivers are located?


Most non yvc (see below) usb webcams are driven through the gspca usb
webcam driver framework. This is a v4l driver which consists of gspca-core
+ various subdrivers for a lot of bridges, see drivers/media/video/gspca


 The same person also

claims that the kernel now has support for all devices that
follow the USB video class specification, and [sic] that the additional
23 device specific drivers in the tree* are just for non-conforming
devices.


This is correct recently the USB consortium (or whatever they are called)
have created a new spec called UVC, this is one standard protocol for all
webcams to follow. All *newer* webcams use this, but a lot of cams still
in the stores predate UVC (which stands for USB Video Class).

The first thing to find out to get your webcam supported is what kind of
bridge chip it is using, try looking at the windows driver .inf file,
typical bridges are the sonix series (often refenced to as sn9c10x or
sn9c20x), spca5xx series, zc3xx, vc032x, etc. If you see a reference
to anything like this in the windows driver .inf file (or inside dll's)
that would be good to know. Also it would be very helpful to have the usb
id of your camera.

Regards,

Hans


All of the above is excellent advice, especially in view of the fact that 
you say, There is a lot of listing for the vendor id, but not the product 
id, so I imagine there is no point in trying any of the drivers (unless I 
hack the source to accept the id string), apparently with reference to 
the cameras supported by gspca.


From there, things could go in several directions. First, it might 
possibly be the case that it suffices only to add the camera's Vendor and 
Product ID to an existing driver. Or, it might be a completely different 
one. Or, it might be that everything can be solved but for the fact that 
the camera is using an undocumented and unsolved compression algorithm, 
which is the ultimate obstacle to overcome and also the most difficult. 
Perhaps in addition to the list from Hans, above, an output of lsusb or 
the content of the /proc/bus/usb/devices file (available if your kernel 
supports usbfs, otherwise not) would help.


Finally, since you say that the Vendor ID appears, it could possibly be 
the case that someone is already working on support for your particular 
camera. The matter would be more clear if the Vendor and Product ID 
numbers are known.



Theodore Kilgore

Re: [PULL] http://linuxtv.org/hg/~awalls/v4l-dvb

2009-05-14 Thread Andy Walls
On Wed, 2009-05-13 at 02:46 +0200, hermann pitton wrote:
 Hi Andy,
 
 Am Sonntag, den 10.05.2009, 19:39 -0400 schrieb Andy Walls:
  Mauro,
  
  Please pull from http://linuxtv.org/hg/~awalls/v4l-dvb
  
  for the following 2 changesets:
  
  01/02: cx18: Add missing newline to tuner detection error message
  http://linuxtv.org/hg/~awalls/v4l-dvb?cmd=changeset;node=a107347b7d00
  
  02/02: tveeprom: Point the TCL MNM05-4 tuner entry to an actual tuner 
  definition
  http://linuxtv.org/hg/~awalls/v4l-dvb?cmd=changeset;node=442f94c04f3d
  
  Reported-by: Matt Beadon matt.bea...@gmail.com
  Tested-by: Matt Beadon matt.bea...@gmail.com
  
  Matt has an HVR-1600 that has the TCL MNM05-4 tuner.  Change 02/02
  yields acceptable results for him.
  
  
   cx18/cx18-driver.c |2 +-
   tveeprom.c |2 +-
   2 files changed, 2 insertions(+), 2 deletions(-)
 
 call us whatever, but for tuners without radio support (FQ) we also have
 the entries Jarrod Wilson once added for the dual MCE 500 with one
 tea5767.
 
 That is this MK4 tuner=54 stuff, IIRC. (no tda9887)

The TCL MNM05-4 appears to have a TDA9887 based on tuner chip
autodetection:

http://ivtvdriver.org/pipermail/ivtv-users/2009-May/009388.html

and it supports M systems since it is on an HVR-1600 sold in an NTSC-M
market.

The EEPROM on the particular HVR-1600 says no radio is supported.  Maybe
the tuner actually does support FM radio, but it just isn't wired up on
the HVR-1600.  Maybe FM AF baseband doesn't come out of the tuner, but
SIF can still be used to demodulate FM radio.  I don't know.

When looking through the list in tuner-types.c only 2 analog-only, NTSC
tuners had a TDA9887:

TUNER_PANASONIC_VP27  type 46 
TUNER_PHILIPS_FM1236_MK3  type 43

Since the TCL MFNM05-4, which has FM radio, was using the
TUNER_PHILIPS_FM1236_MK3 type, I guessed the MNM05-04 would be very
close.


Can the tda9887 detection code in Linux give a false positive?

Regards,
Andy


 Might need better documentation these days.
 
 I'm still wondering, to which coasts we might ship with Dimitry's MK5.
 
 Cheers,
 Hermann

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


Re: Sound capture with Osprey 230

2009-05-14 Thread Trent Piepho
On Mon, 11 May 2009, Sverker Abrahamsson wrote:
 Hi all,
 I've been using Osprey 230 cards for AV capture for several years, earlier
 with a modified version of Viewcast's driver but it was never very stable.
 When doing a new setup I therefore wanted to get the Alsa driver to work. I
 found that there were two trees in the repository in regards to these cards,
 http://linuxtv.org/hg/~mchehab/osprey and http://linuxtv.org/hg/~tap/osprey.
 It seems that mchehab tree is the patches that Viewcast submitted which does
 not address the necessary changes for ALSA driver while tap tree does but
 for Osprey 440 and older kernels.

Mauro's tree with viewcast's patches is even older than mine, wrt kernel
support.

 I've therefore ported the changes from tap to the main tree and added
 support for detecting Osprey 210/220/230 plus a minor fix to support
 specifying digital_rate as module parameter. It might also work for Osprey
 240 (which is PCI-e variant of 230) but I don't have any such card so I
 haven't been able to test.

Instead of modifying my patch, it would be better if you could provide a
patch on top of it that adds support for your new card.

 The only question mark I have is that the current implementation use the
 depreciated interfaces from bttv-if.c to find which bttv driver corresponds
 to this audio driver and adds a function to get the bttv core. It is
 suggested to use the routines in bttv-gpio.c instead but I don't find an
 obvious replacement for bttv_get_pcidev nor how to get bttv_core.

The interface in bttv-if.c has been deprecated for years now, yet no one
has come up with something to replace it with.  I think Gerd was getting a
bit ahead of himself when he declared it obsolete.

 I see two alternatives:
 1. Implement snd-87x module as a subdevice to bttv. Is this correct as the
 video and audio devices are two separate pci devices?

The audio and video devices aren't just separate pci devices, they are also
two unrelated devices to the linux device model.  The driver model doesn't
have any means to call one a subdevice of the other.

Somehow, there needs to be a means for the audio driver to find the video
driver so that it can get access to the gpio lines and the i2c bus.  But,
this is only necessary for the osprey cards.  The audio driver for other
cards doesn't need gpios or i2c.  So, it would be nice to allow just the
audio driver with no video to be loaded.

The problem with my implementation is that after the audio bttv driver gets
a pointer to the video driver's core, the video driver could go away and
leave the audio driver with a dangling pointer.  That's one of the reasons
I haven't merged my osprey code.  The other is that I have cards with bttv
audio to test with.
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PULL] http://linuxtv.org/hg/~awalls/v4l-dvb

2009-05-14 Thread hermann pitton
Hi,

Am Donnerstag, den 14.05.2009, 16:26 -0400 schrieb Andy Walls:
 On Wed, 2009-05-13 at 02:46 +0200, hermann pitton wrote:
  Hi Andy,
  
  Am Sonntag, den 10.05.2009, 19:39 -0400 schrieb Andy Walls:
   Mauro,
   
   Please pull from http://linuxtv.org/hg/~awalls/v4l-dvb
   
   for the following 2 changesets:
   
   01/02: cx18: Add missing newline to tuner detection error message
   http://linuxtv.org/hg/~awalls/v4l-dvb?cmd=changeset;node=a107347b7d00
   
   02/02: tveeprom: Point the TCL MNM05-4 tuner entry to an actual tuner 
   definition
   http://linuxtv.org/hg/~awalls/v4l-dvb?cmd=changeset;node=442f94c04f3d
   
   Reported-by: Matt Beadon matt.bea...@gmail.com
   Tested-by: Matt Beadon matt.bea...@gmail.com
   
   Matt has an HVR-1600 that has the TCL MNM05-4 tuner.  Change 02/02
   yields acceptable results for him.
   
   
cx18/cx18-driver.c |2 +-
tveeprom.c |2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
  
  call us whatever, but for tuners without radio support (FQ) we also have
  the entries Jarrod Wilson once added for the dual MCE 500 with one
  tea5767.
  
  That is this MK4 tuner=54 stuff, IIRC. (no tda9887)
 
 The TCL MNM05-4 appears to have a TDA9887 based on tuner chip
 autodetection:
 
 http://ivtvdriver.org/pipermail/ivtv-users/2009-May/009388.html
 
 and it supports M systems since it is on an HVR-1600 sold in an NTSC-M
 market.

like on that PAL version MF, F means radio support and it will have a
radio antenna connector to the tuner can. That is easiest to ask, if no
picture and documentation present.
http://www.tclrf.com/English/html/enewsproopen.asp?proname=109url=product

 
 The EEPROM on the particular HVR-1600 says no radio is supported.  Maybe
 the tuner actually does support FM radio, but it just isn't wired up on
 the HVR-1600.  Maybe FM AF baseband doesn't come out of the tuner, but
 SIF can still be used to demodulate FM radio.  I don't know.

Such tuners have radio stereo output on two lines because of the tda7040
in radio mode. In TV mode there will be TV mono on these.

 When looking through the list in tuner-types.c only 2 analog-only, NTSC
 tuners had a TDA9887:
 
 TUNER_PANASONIC_VP27  type 46 
 TUNER_PHILIPS_FM1236_MK3  type 43
 
 Since the TCL MFNM05-4, which has FM radio, was using the
 TUNER_PHILIPS_FM1236_MK3 type, I guessed the MNM05-04 would be very
 close.

You won't do any harm, unless people start thinking they must have radio
support and start trying on it in vain.

 Can the tda9887 detection code in Linux give a false positive?

Yes, TDA9887_PRESENT can mean any sort of tda988x.

Also the tda988x listing in tuner-types.c is not yet complete and that
will cause troubles, if we ever remove it from the card entries, which
was a plan once, but seems forgotten.

For MK3 types with radio switch 0x19 you find in tuner-simple.c.

static int simple_radio_bandswitch(struct dvb_frontend *fe, u8 *buffer)
{
struct tuner_simple_priv *priv = fe-tuner_priv;

switch (priv-type) {
case TUNER_TENA_9533_DI:
case TUNER_YMEC_TVF_5533MF:
tuner_dbg(This tuner doesn't have FM. 
  Most cards have a TEA5767 for FM\n);
return 0;
case TUNER_PHILIPS_FM1216ME_MK3:
case TUNER_PHILIPS_FM1236_MK3:
case TUNER_PHILIPS_FMD1216ME_MK3:
case TUNER_PHILIPS_FMD1216MEX_MK3:
case TUNER_LG_NTSC_TAPE:
case TUNER_PHILIPS_FM1256_IH3:
case TUNER_TCL_MF02GIP_5N:
buffer[3] = 0x19;
break;
case TUNER_TNF_5335MF:

But there are also tda9887 chips on microtune types subsumed under mt2032.

One strange thing, no radio support but you might know about, is
TUNER_ALPS_TSBE5_PAL with TDA9887_PRESENT. In fact it is an undocumented
ALPS microtuner  with some unknown chip, PLL and analog IF part are
somehow in one package and works like a tda9886.

Amazing hardware hacking by Hans J. Koch on a saa7134 cinergy400 cardbus
that time.

We found also some tuners which have sound only in intercarrier mode,
all NTSC. Since default is QSS, something to be aware off, might happen
again.

Cheers,
Hermann

 
 Regards,
 Andy
 
 
  Might need better documentation these days.
  
  I'm still wondering, to which coasts we might ship with Dimitry's MK5.
  
  Cheers,
  Hermann
 

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


Re: twinhan cards

2009-05-14 Thread Gregor Fuis
I managed to find a way to go further. I just commented out a code in
dvb_bt8xx.c which returns error and let it to run further.

if (!(card-bt = dvb_bt8xx_878_match(card-bttv_nr, bttv_pci_dev))) {
printk(dvb_bt8xx: unable to determine DMA core of card %d,\n,
   card-bttv_nr);
printk(dvb_bt8xx: if you have the ALSA bt87x audio driver 
   installed, try removing it.\n);

/*  kfree(card);
return -EFAULT;*/
}


And this work OK, but now I have new problem. DST module is not
recognising fronted all the time. Every boot some other card works:

[   17.290060] dst(0) dst_check_mb86a15: Cmd=[0x10], failed
[   17.290139] dst(0) dst_get_device_id: Unsupported
[   17.290195] DST type flags : 0x1 newtuner 0x1000 VLF 0x10 firmware
version = 2
[   17.335966] dst(0) dst_get_mac: MAC Address=[cd92b3ec]
[   17.336022] dst(0) dst_get_tuner_info: DST TYpe = MULTI FE
[   21.447662] dst_ca_attach: registering DST-CA device
[   21.447954] DVB: registering adapter 0 frontend 0 (DST DVB-S)...
[   21.448059] DVB: registering new adapter (bttv1)
[   25.652375] dst(1) dst_get_device_id: Recognise [DSTMCI]
[   25.711362] dst(1) dst_get_device_id: Unsupported
[   29.750044] dst(1) dst_check_mb86a15: Cmd=[0x10], failed
[   29.750100] dst(1) dst_get_device_id: Unsupported
[   29.750156] DST type flags : 0x1 newtuner 0x1000 VLF 0x10 firmware
version = 2
[   29.795932] dst(1) dst_get_mac: MAC Address=[ceccebec]
[   29.795988] dst(1) dst_get_tuner_info: DST TYpe = MULTI FE
[   33.870309] dst_ca_attach: registering DST-CA device
[   33.870615] DVB: registering adapter 1 frontend 0 (DST DVB-S)...
[   33.870698] DVB: registering new adapter (bttv2)
[   38.260053] dst(2) dst_probe: unknown device.
[   38.260436] frontend_init: Could not find a Twinhan DST.
[   38.260445] dvb-bt8xx: A frontend driver was not found for device
[109e:0878] subsystem [1822:0001]
[   38.260505] DVB: registering new adapter (bttv3)
[   42.650053] dst(3) dst_probe: unknown device.
[   42.650431] frontend_init: Could not find a Twinhan DST.
[   42.650440] dvb-bt8xx: A frontend driver was not found for device
[109e:0878] subsystem [1822:0001]


If I would be a better coder I would figure this out. I know that I
have to hardcode DSTMCI device detection in dst.c file, but don't know
where to put it.

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


Re: BUG in av7110_vbi_write()

2009-05-14 Thread e9hack
Oliver Endriss schrieb:
 copy_from_user() will only be called if count == sizeof d.

Ooops, I didn't see that.

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


Re: [linux-dvb] Is HP rebranded Hauppauge HVR-1500 ok on 64bit versions of stable distributions?

2009-05-14 Thread Matthew Gardeski
On Thu, May 14, 2009 at 03:42, Matthew Gardeski gar...@gmail.com wrote:
 On Mon, Apr 20, 2009 at 10:33, Benster  Jeremy pgh...@yahoo.com wrote:
 I have the hp expresscard version of the hauppauge VHR-1500 tuner. I am
 having problems getting it to operate under the latest 64bit versions of
 ubuntu and  suse.

 Has anyone had one of these combinations working?

 I've looked back over the archive on this list and found several threads,
 but being a recent convert to linux, I couldn't recognize if  I needed to
 download and recompile modules more recent than those shipped with 2.6.27
 kernels. Nor did I know how to tell if the people that had it working were
 running 32 or 64 bit versions.

 I'm wondering if this may only be an issue with 64 bit, only because I've
 had a few things that took some work to get going that were related to using
 64bit.

 Any suggestions as to what to look for or where to go for help?

 Looking at dmesg, the card is recognized, the firmware is in /lib/firmware,
 but no messages indicating it is being shipped to the card.

 When I try to scan for channels with either metv or w_scan, it goes through
 the motions, but finds no channels. The light on the card does not come on.

 Thanks in advance,
 Ben (pgh...@yahoo.com)
 ___
 linux-dvb users mailing list
 For V4L/DVB development, please use instead linux-media@vger.kernel.org
 linux-...@linuxtv.org
 http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


 I have just finished setting up an HVR-1500q and mythtv on gentoo
 amd64.  I am happy to report that this setup works great with ATSC
 channels.  Although it is loading the firmware properly when mythtv
 tries to tune a channel, I don't see anything come up in dmesg either.
  I get warnings in dmesg on boot, but that doesn't really mean it's
 failing.

 I have been able to tune into ATSC channels with the drivers from
 http://linuxtv.org/hg/v4l-dvb for the past few months with i386.
 Before that, I would get very similar messages in dmesg to what I do
 now, but mythtv could not scan or tune any channels.

 If you have any more questions about what I had to do to get this
 working, I'd be glad to answer them.

 By the way, is there any support for the analog mode or s-video input?

 [    9.455353] cx23885 driver version 0.0.2 loaded
 [    9.455403] cx23885 :06:00.0: enabling device ( - 0002)
 [    9.455411] cx23885 :06:00.0: PCI INT A - GSI 18 (level, low) - IRQ 
 18
 [    9.455535] CORE cx23885[0]: subsystem: 0070:7790, board: Hauppauge
 WinTV-HVR1500Q [card=5,autodetected]
 [    9.584355] tveeprom 1-0050: Encountered bad packet header [ff].
 Corrupt or not a Hauppauge eeprom.
 [    9.584361] cx23885[0]: warning: unknown hauppauge model #0
 [    9.584363] cx23885[0]: hauppauge eeprom: model=0
 [    9.584365] cx23885_dvb_register() allocating 1 frontend(s)
 [    9.584379] cx23885[0]: cx23885 based dvb card
 [    9.954789] xc5000 2-0061: creating new instance
 [    9.955463] xc5000: Successfully identified at address 0x61
 [    9.955464] xc5000: Firmware has not been loaded previously
 [    9.955467] DVB: registering new adapter (cx23885[0])
 [    9.955470] DVB: registering adapter 0 frontend 0 (Samsung S5H1409
 QAM/8VSB Frontend)...
 [    9.955722] cx23885_dev_checkrevision() Hardware revision = 0xb0
 [    9.955730] cx23885[0]/0: found at :06:00.0, rev: 2, irq: 18,
 latency: 0, mmio: 0xf400
 [    9.955752] cx23885 :06:00.0: setting latency timer to 64


 Matt


I forgot to mention that even when it's working, the light on this
card doesn't come on.  I sort of prefer it this way, because it's
really bright and I find it annoying when watching tv in a dark room,
but just keep in mind, that no light doesn't indicate a failure.

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


Re: v4l-dvb rev 11757 broke building under Ubuntu Hardy

2009-05-14 Thread Andy Walls

David Ward wrote:

 I am using v4l-dvb in order to add the cx18 driver under Ubuntu Hardy
 (8.04).
 
 The build is currently broken under Hardy, which uses kernel 2.6.24. I
 have traced the origin of the problem to revision 11757. As seen in
 the latest cron job output, the build produces the error when trying
 to compile adv7343.c:
 
 /usr/local/src/v4l-dvb/v4l/adv7343.c:506: error: array type has incomplete 
 element type
 /usr/local/src/v4l-dvb/v4l/adv7343.c:518: warning: initialization from 
 incompatible pointer type
 /usr/local/src/v4l-dvb/v4l/adv7343.c:520: error: unknown field 'id_table' 
 specified in initializer
 
 Thanks for resolving this.
 
 David Ward

David,

Please try the patch below.

Chaithrika,

Please review (and test if it is OK) the patch below.  It modifies
adv7343.c to what the cs5345.c file does for backward compatability.

It adds some checks against kernel version, which would not go into the
actual kernel, and changes some code to use the v4l2 i2c module template
from v4l2-i2c-drv.h, which *would* go into the actual kenrel.


Regards,
Andy


Signed-off-by: Andy Walls awa...@radix.net

diff -r 0018ed9bbca3 linux/drivers/media/video/adv7343.c
--- a/linux/drivers/media/video/adv7343.c   Tue May 12 16:13:13 2009 +
+++ b/linux/drivers/media/video/adv7343.c   Thu May 14 19:51:10 2009 -0400
@@ -29,6 +29,8 @@
 #include media/adv7343.h
 #include media/v4l2-device.h
 #include media/v4l2-chip-ident.h
+#include media/v4l2-i2c-drv.h
+#include compat.h
 
 #include adv7343_regs.h
 
@@ -503,6 +505,7 @@
return 0;
 }
 
+#if LINUX_VERSION_CODE = KERNEL_VERSION(2, 6, 26)
 static const struct i2c_device_id adv7343_id[] = {
{adv7343, 0},
{},
@@ -510,25 +513,12 @@
 
 MODULE_DEVICE_TABLE(i2c, adv7343_id);
 
-static struct i2c_driver adv7343_driver = {
-   .driver = {
-   .owner  = THIS_MODULE,
-   .name   = adv7343,
-   },
+#endif
+static struct v4l2_i2c_driver_data v4l2_i2c_data = {
+   .name   = adv7343,
.probe  = adv7343_probe,
.remove = adv7343_remove,
+#if LINUX_VERSION_CODE = KERNEL_VERSION(2, 6, 26)
.id_table   = adv7343_id,
+#endif
 };
-
-static __init int init_adv7343(void)
-{
-   return i2c_add_driver(adv7343_driver);
-}
-
-static __exit void exit_adv7343(void)
-{
-   i2c_del_driver(adv7343_driver);
-}
-
-module_init(init_adv7343);
-module_exit(exit_adv7343);


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


[PULL] http://kernellabs.com/hg/~dheitmueller/xc5000-improvements-beta3

2009-05-14 Thread Devin Heitmueller
Hello Mauro,

Please pull from
http://kernellabs.com/hg/~dheitmueller/xc5000-improvements-beta3 for
the following:

cx88: remove xc5000 reset for Pinnacle 800i
xc5000: add copyright line
au0828: send command to power down tuner when done with analog
xc5000: poll at 5ms interval for register write command completion
xc5000: add support for DVB-T tuning
xc5000: switch to new xc5000 firmware 1.6.114 with redistribution rights
dib0700: reduce xc5000 sleep time for Pinnacle 801e to 10ms
tuner-xc2028: show the proper module description for no_poweroff option
xc5000: don't load firmware until a tuning request is made
xc5000: add no_poweroff module option
xc5000: cleanup firmware loading messages
xc5000: start using the newer finerfreq tuning command
xc5000: add build version to debug info
au0828: reduce reset time for xc5000 to 10ms
xc5000: Properly support power down for newer firmware
xc5000: switch to new version of Xceive firmware
xc5000: do not sleep after digital tuning
xc5000: restore sleep routine
xc5000: check xc5000_readreg return value for XC_RESULT_SUCCESS
xc5000: cleanup i2c write routines
xc5000: cleanup i2c read routines
xc5000: handle tuner reset failures properly
dvb_frontend: fix race condition resulting in dropped tuning commands
cx88: Fix race condition between cx8800 startup and hald

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PULL] http://linuxtv.org/hg/~awalls/v4l-dvb

2009-05-14 Thread hermann pitton

   
   That is this MK4 tuner=54 stuff, IIRC. (no tda9887)

The follow up you might have and I'm not subscribed to ivtv.devel.
(it always worked well nevertheless, tuner=57 was meant)

  The TCL MNM05-4 appears to have a TDA9887 based on tuner chip
  autodetection:
  

Eventually what really happened is here.

   switch (priv-type) {
   case TUNER_TENA_9533_DI:
   case TUNER_YMEC_TVF_5533MF:
   tuner_dbg(This tuner doesn't have FM. 
 Most cards have a TEA5767 for FM\n);
   return 0;
   case TUNER_PHILIPS_FM1216ME_MK3:

Mauro hacked a tea5767 without knowing what chip it might be even at all
on that YMEC with MF (F!)

Also, the real name of that TENA 9533 DI is DIF ;)
and I'm also the pidgin not updating the comment to plural.

I dropped the F on that one to not improve the confusion further, they
did interchange tuner PCBs, but naming convention was not valid at all.

For TCL I can say the F is valid for radio support on the tuner can, I
think ;)

Cheers,
Hermann





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


Re: [PULL] http://kernellabs.com/hg/~dheitmueller/xc5000-improvements-beta3

2009-05-14 Thread Devin Heitmueller
On Thu, May 14, 2009 at 9:28 PM, Devin Heitmueller
dheitmuel...@kernellabs.com wrote:
 Hello Mauro,

 Please pull from
 http://kernellabs.com/hg/~dheitmueller/xc5000-improvements-beta3 for
 the following:

Mauro,

I just renamed the tree, it can be found here now:

http://kernellabs.com/hg/~dheitmueller/xc5000/


-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PULL] http://kernellabs.com/hg/~dheitmueller/au0828-oldkernel-compilefix

2009-05-14 Thread Devin Heitmueller
Mauro,

Please pull from
http://kernellabs.com/hg/~dheitmueller/au0828-oldkernel-compilefix for
the following fix (an error detected with Han's daily build tool):

au0828: get rid of debug printk that was causing compile failures

Thanks,

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: How to interpret error codes for usb_control_msg()?

2009-05-14 Thread Randy Dunlap
Theodore Kilgore wrote:
 
 Working on a driver for the Sonix SN9C2028 dual-mode cameras, I am
 confronted with the situation that certain usb_control_msg() functions
 are failing and returning -32. Does anyone know how to look up what -32
 is supposed to mean? It appears not to be in the standard errno.h file,
 so it would apparently be somewhere else. And the on-line man page for
 usb_control_msg does not seem totally helpful. It says
 
 If successful, it returns the number of bytes transferred; otherwise,
 it returns a negative error number.
 
 but does not otherwise discuss the negative error numbers.
 
 However, I am getting things like
 
 f60a5680 1488371641 S Ci:5:022:0 s c1 00 0001  0001 1 
 f60a5680 1488373478 C Ci:5:022:0 -32 1 = 0c
 
 using from the camera, and I do not quite know why. Incidentally, quite
 aside from the error message, the returned value is also a bit screwy.
 It ought to be 00 and for no obvious reason it is not. However, even if
 the returned value is correct, which also can sometimes happen, the
 error is still there.
 
 Also the debug statement from dmesg consistently says (the corresponding
 function is called read1)
 
 sn9c20: read1 error -32
 
 But, what is essentially the same command works just fine in libgphoto2,
 giving debug output which looks like this
 
 f14ca880 2936498715 S Ci:5:023:0 s c1 00 0001  0001 1 
 f14ca880 2936499630 C Ci:5:023:0 0 1 = 00
 
 which shows no error and is doing what it should.
 
 So if someone knows where the declarations of these error codes are, it
 might help me to track down what the problem is.

You'll need to look in 2 places.
Documentation/usb/error-codes.txt uses named error codes
and include/asm-generic/errno*.h converts names-numbers.

So 32 is EPIPE (from errno-base.h) and error-codes.txt tells
what EPIPE is used for in usb-land.

-- 
~Randy
LPC 2009, Sept. 23-25, Portland, Oregon
http://linuxplumbersconf.org/2009/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html