Commit graph

68 commits

Author SHA1 Message Date
Michael Krufky
0d02efe486 V4L/DVB (10772): siano: prevent duplicate variable declaration
Fix the following build error:

drivers/media/dvb/siano/smsusb.o: In function `get_order':
include/asm-generic/page.h:10: multiple definition of `sms_dbg'
drivers/media/dvb/siano/sms1xxx.o:include/asm-generic/page.h:10: first defined here
drivers/media/dvb/siano/smsdvb.o: In function `get_order':
include/asm-generic/page.h:10: multiple definition of `sms_dbg'
drivers/media/dvb/siano/sms1xxx.o:include/asm-generic/page.h:10: first defined here

Thanks to Mauro Carvalho Chehab for his original patch to address this issue.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:02 -03:00
Michael Krufky
a0beec8f6f V4L/DVB (10753): siano: convert EXPORT_SYMBOL to EXPORT_SYMBOL_GPL
As pointed out by Mauro Chehab, we should always use EXPORT_SYMBOL_GPL
instead of EXPORT_SYMBOL wherever possible.

A message was posted to the linux-media mailing list about this, checking
with Uri Shkolnik of Siano Mobile Silicon if this is okay to convert.

As per Uri's response to this email, it is OK for us to make this conversion.

http://www.spinics.net/lists/linux-media/msg02200.html

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:01 -03:00
Michael Krufky
05860f2d96 V4L/DVB (10752): sms1xxx: load smsdvb module automatically based on device id
The smsdvb module was separated from the core and usb code. This change loads
smsdvb automatically for driver configurations that depend on it.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:01 -03:00
Michael Krufky
b9391f4160 V4L/DVB (10751): sms1xxx: fix checkpatch.pl violations introduced by previous changeset
Fix checkpatch.pl violations introduced by previous changeset:

ERROR: do not use C99 // comments
156: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1373:
+//#ifdef DVB_CORE

ERROR: do not use C99 // comments
157: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1374:
+//	smsdvb_unregister();

ERROR: do not use C99 // comments
158: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1375:
+//#endif

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
163: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1380:
+EXPORT_SYMBOL(smscore_onresponse);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
164: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1381:
+EXPORT_SYMBOL(sms_get_board);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
165: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1382:
+EXPORT_SYMBOL(sms_debug);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
166: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1383:
+EXPORT_SYMBOL(smscore_putbuffer);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
167: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1384:
+EXPORT_SYMBOL(smscore_registry_getmode);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
168: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1385:
+EXPORT_SYMBOL(smscore_register_device);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
169: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1386:
+EXPORT_SYMBOL(smscore_set_board_id);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
170: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1387:
+EXPORT_SYMBOL(smscore_start_device);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
171: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1388:
+EXPORT_SYMBOL(smsusb_id_table);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
172: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1389:
+EXPORT_SYMBOL(smscore_unregister_device);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
173: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1390:
+EXPORT_SYMBOL(smscore_getbuffer);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
174: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1391:
+EXPORT_SYMBOL(smscore_get_device_mode);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
175: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1392:
+EXPORT_SYMBOL(smscore_register_client);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
176: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1393:
+EXPORT_SYMBOL(smscore_unregister_hotplug);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
177: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1394:
+EXPORT_SYMBOL(smsclient_sendrequest);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
178: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1395:
+EXPORT_SYMBOL(smscore_unregister_client);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
179: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1396:
+EXPORT_SYMBOL(smscore_get_board_id);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
180: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1397:
+EXPORT_SYMBOL(smscore_register_hotplug);

WARNING: line over 80 characters
391: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:398:
+extern int smscore_get_fw_filename(struct smscore_device_t *coredev, int mode, char* filename);

ERROR: "foo* bar" should be "foo *bar"
391: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:398:
+extern int smscore_get_fw_filename(struct smscore_device_t *coredev, int mode, char* filename);

WARNING: line over 80 characters
392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399:
+extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size);

ERROR: "foo* bar" should be "foo *bar"
392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399:
+extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size);

ERROR: space required after that ',' (ctx:VxV)
392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399:
+extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size);
                                                                             ^

WARNING: __func__ should be used instead of gcc specific __FUNCTION__
489: FILE: linux/drivers/media/dvb/siano/smsusb.c:443:
+	printk(KERN_INFO"%s  Entering status %d.\n", __FUNCTION__, msg.event);

WARNING: __func__ should be used instead of gcc specific __FUNCTION__
501: FILE: linux/drivers/media/dvb/siano/smsusb.c:455:
+	printk(KERN_INFO  "%s  Entering.\n", __FUNCTION__);

ERROR: space prohibited before that '++' (ctx:WxB)
505: FILE: linux/drivers/media/dvb/siano/smsusb.c:459:
+	for (i = 0; i < intf->cur_altsetting->desc.bNumEndpoints; i ++)
 	                                                            ^

WARNING: __func__ should be used instead of gcc specific __FUNCTION__
517: FILE: linux/drivers/media/dvb/siano/smsusb.c:471:
+			__FUNCTION__, rc);

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
[mchehab@redhat.com: sms_dbg were declared on 3 different files]
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:01 -03:00
Uri Shkolnik
e0f14c2574 V4L/DVB (10750): import changes from Siano
Import the following changes from Uri Shkolnik

* Two-ways merge with Siano internal repository
* Continuing with DVB sub-system separation
* kconfig and makefile updates
* Code cleanup

This is a work-in-progress sync with Siano's internal repository.

Some changes had to be altered or dropped in order not to break the build.

This breaks normal operation for the current driver, but it is being committed
now for tracking purposes.

These changes introduce the following checkpatch.pl violations:

ERROR: do not use C99 // comments
156: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1373:
+//#ifdef DVB_CORE

ERROR: do not use C99 // comments
157: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1374:
+//	smsdvb_unregister();

ERROR: do not use C99 // comments
158: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1375:
+//#endif

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
163: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1380:
+EXPORT_SYMBOL(smscore_onresponse);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
164: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1381:
+EXPORT_SYMBOL(sms_get_board);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
165: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1382:
+EXPORT_SYMBOL(sms_debug);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
166: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1383:
+EXPORT_SYMBOL(smscore_putbuffer);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
167: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1384:
+EXPORT_SYMBOL(smscore_registry_getmode);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
168: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1385:
+EXPORT_SYMBOL(smscore_register_device);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
169: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1386:
+EXPORT_SYMBOL(smscore_set_board_id);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
170: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1387:
+EXPORT_SYMBOL(smscore_start_device);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
171: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1388:
+EXPORT_SYMBOL(smsusb_id_table);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
172: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1389:
+EXPORT_SYMBOL(smscore_unregister_device);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
173: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1390:
+EXPORT_SYMBOL(smscore_getbuffer);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
174: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1391:
+EXPORT_SYMBOL(smscore_get_device_mode);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
175: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1392:
+EXPORT_SYMBOL(smscore_register_client);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
176: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1393:
+EXPORT_SYMBOL(smscore_unregister_hotplug);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
177: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1394:
+EXPORT_SYMBOL(smsclient_sendrequest);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
178: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1395:
+EXPORT_SYMBOL(smscore_unregister_client);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
179: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1396:
+EXPORT_SYMBOL(smscore_get_board_id);

WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable
180: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1397:
+EXPORT_SYMBOL(smscore_register_hotplug);

WARNING: line over 80 characters
391: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:398:
+extern int smscore_get_fw_filename(struct smscore_device_t *coredev, int mode, char* filename);

ERROR: "foo* bar" should be "foo *bar"
391: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:398:
+extern int smscore_get_fw_filename(struct smscore_device_t *coredev, int mode, char* filename);

WARNING: line over 80 characters
392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399:
+extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size);

ERROR: "foo* bar" should be "foo *bar"
392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399:
+extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size);

ERROR: space required after that ',' (ctx:VxV)
392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399:
+extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size);
                                                                             ^

WARNING: __func__ should be used instead of gcc specific __FUNCTION__
489: FILE: linux/drivers/media/dvb/siano/smsusb.c:443:
+	printk(KERN_INFO"%s  Entering status %d.\n", __FUNCTION__, msg.event);

WARNING: __func__ should be used instead of gcc specific __FUNCTION__
501: FILE: linux/drivers/media/dvb/siano/smsusb.c:455:
+	printk(KERN_INFO  "%s  Entering.\n", __FUNCTION__);

ERROR: space prohibited before that '++' (ctx:WxB)
505: FILE: linux/drivers/media/dvb/siano/smsusb.c:459:
+	for (i = 0; i < intf->cur_altsetting->desc.bNumEndpoints; i ++)
 	                                                            ^

WARNING: __func__ should be used instead of gcc specific __FUNCTION__
517: FILE: linux/drivers/media/dvb/siano/smsusb.c:471:
+			__FUNCTION__, rc);

total: 7 errors, 23 warnings, 524 lines checked

Signed-off-by: Uri Shkolnik <uris@siano-ms.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:00 -03:00
Michael Krufky
841a3f0de9 V4L/DVB (10749): sms1xxx: move smsusb_id_table into smsusb.c
Move the usb_device_id table to the smsusb module in preparation for the
sms1xxx module to be split into sub-modules. This will allow the smsusb
driver to start up automatically upon insertion of the USB device.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:00 -03:00
Uri Shkolnik
dba843afad V4L/DVB (10748): sms1xxx: restore smsusb_driver.name to smsusb
The sms1xxx driver will be broken down into smaller modules,
so the original name, smsusb, is more appropriate.

Signed-off-by: Uri Shkolnik <uris@siano-ms.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:00 -03:00
Michael Krufky
62c7167dd7 V4L/DVB (10747): sms1xxx: move definition of struct smsdvb_client_t into smsdvb.c
Nobody uses struct smsdvb_client_t other than smsdvb.c --
this does not need to be inside smscoreapi.h

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:00 -03:00
Michael Krufky
d54093afb1 V4L/DVB (10746): sms1xxx: enable rf switch on Hauppauge Tiger devices
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:00 -03:00
Michael Krufky
50b1a9fc25 V4L/DVB (10417): sms1xxx: add missing usb id 2040:2011
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:42:36 -03:00
Michael Krufky
f4c82548d4 V4L/DVB (10168): sms1xxx: fix inverted gpio for lna control on tiger r2
The GPIO logic for LNA control on the Tiger r2 devices was inverted.
This patch corrects the problem.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-02 17:15:14 -02:00
Michael Krufky
dd72f31b4f V4L/DVB (10167): sms1xxx: add support for inverted gpio
negative gpio values signify inverted polarity

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-02 17:15:11 -02:00
Michael Krufky
dff65740e0 V4L/DVB (9737): sms1xxx: enable LNA control on Hauppauge WinTV MiniCard
Power the LNA while the frontend is in use.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-30 09:38:14 -02:00
Uri Shkolnik
2f56c34b2b V4L/DVB (9740): sms1xxx: add USB suspend and hibernation support
This patch provides USB suspend and hibernation support
for Siano's SMS chipset based USB device

Signed-off-by: Uri Shkolnik <uris@siano-ms.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-29 17:53:41 -02:00
Michael Krufky
7b29e10d60 V4L/DVB (9739): sms1xxx: enable signal quality indicator LEDs on Hauppauge WinTV MiniStick
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-29 17:53:41 -02:00
Michael Krufky
851a909143 V4L/DVB (9738): sms1xxx: fix invalid unc readings
Add function smsdvb_read_ucblocks to report uncorrectable error counts.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-29 17:53:41 -02:00
Michael Krufky
7a6fbed650 V4L/DVB (9736): sms1xxx: enable power LED on Hauppauge WinTV MiniStick
Enable power LED while the frontend is in use.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-29 17:53:40 -02:00
Michael Krufky
250fa674fd V4L/DVB (9735): sms1xxx: turn off LEDs after initialization of Hauppauge WinTV MiniStick
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-29 17:53:40 -02:00
Michael Krufky
3f7d99f65a V4L/DVB (9733): sms1xxx: add autodetection support for Hauppauge WinTV MiniCard
add USB IDs for Hauppauge WinTV MiniCard DVB-T

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-29 17:53:40 -02:00
Michael Krufky
76052bc868 V4L/DVB (9734): sms1xxx: add functions to configure and set gpio
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-29 17:53:40 -02:00
Michael Krufky
7a8f4ccfd5 V4L/DVB (9732): sms1xxx: use new firmware for Hauppauge WinTV MiniStick
New firmware image brings enhanced tuning performance.

Firmware is available for download at the following location:
http://www.steventoth.net/linux/sms1xxx

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-24 12:17:33 -02:00
Michael Krufky
3dfbe31f09 V4L/DVB (9248): sms1xxx: support two new revisions of the Hauppauge WinTV MiniStick
Autodetect 2040:5520 and 2040:5530 as Hauppauge WinTV MiniStick

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-17 17:26:56 -03:00
Michael Krufky
3d843c92da V4L/DVB (8979): sms1xxx: Add new USB product ID for Hauppauge WinTV MiniStick
2040:5510 is the same hardware as 2040:5500

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-04 22:44:58 -03:00
Michael Krufky
7a9b5fc5fd V4L/DVB (8978): sms1xxx: fix product name for Hauppauge WinTV MiniStick
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-04 22:44:52 -03:00
Michael Krufky
09a29b7715 V4L/DVB (8722): sms1xxx: fix typo in license header
This should have read, "GNU General Public License version 2"
rather than, "GNU General Public License version 3"

This was actually a typo mass-blunder -- this is not a change in licence,
as the code was always GPLv2.

Signed-off-by: Uri Shkolnik <uris@siano-ms.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-09-03 18:37:01 -03:00
Adrian Bunk
c5e0bd1a98 V4L/DVB (8453): sms1xxx: dvb/siano/: cleanups
This patch contains the following cleanups:
- mark smscore_module_init() as __init
- mark smscore_module_exit as __exit
- make the following needlessly global code static:
  - smscoreapi.c: struct g_smscore_notifyees
  - smscoreapi.c: struct g_smscore_devices
  - smscoreapi.c: struct g_smscore_deviceslock
  - smscoreapi.c: struct g_smscore_registry
  - smscoreapi.c: struct g_smscore_registrylock
  - smscoreapi.c: smscore_module_init()
  - smscoreapi.c: smscore_module_exit()
  - smsdvb.c: struct g_smsdvb_clients
  - smsdvb.c: struct g_smsdvb_clientslock

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-26 12:54:08 -03:00
Michael Krufky
2c6a37bb07 V4L/DVB (8326): sms1xxx: fix missing #include <linux/types.h>
Fix the build error:

smscoreapi.c:689: error: 'uintptr_t' undeclared

Thanks to Peter Schlaf for reporting this.

Cc: Peter Schlaf <peter.schlaf@web.de>

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:53 -03:00
Michael Krufky
f1f74aa2cf V4L/DVB (8322): sms1xxx: fix improper usage of asm/foo.h
Fix the following warnings generated by checkpatch.pl:

WARNING: Use #include <linux/io.h> instead of <asm/io.h>
 251: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:30:
+#include <asm/io.h>

WARNING: Use #include <linux/scatterlist.h> instead of <asm/scatterlist.h>
 1566: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:29:
+#include <asm/scatterlist.h>

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:49 -03:00
Michael Krufky
44f71c3fce V4L/DVB (8313): sms1xxx: add support for Hauppauge WinTV-Nova-T-MiniStick
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:15 -03:00
Michael Krufky
a745f0a12c V4L/DVB (8312): sms1xxx: add firmware filenames to board properties for stellar and nova
Assign the following firmware filenames:

sms1xxx-stellar-dvbt-01.fw
sms1xxx-nova-a-dvbt-01.fw
sms1xxx-nova-b-dvbt-01.fw

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:09 -03:00
Michael Krufky
1fbc3caff4 V4L/DVB (8311): sms1xxx: support device-specific firmware filenames on stellar usb1 sticks
Add the capability to define device-specific firmware filenames for the SMS1010,
with a mechanism to fall back to the generic firmware if the device-specific
firmware is not present.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:03 -03:00
Michael Krufky
b1d8f9f5b8 V4L/DVB (8310): sms1xxx: remove kmutex_t typedef
remove typedef struct mutex kmutex_t
fix one line > 80 columns

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:23:58 -03:00
Michael Krufky
4411d29165 V4L/DVB (8309): sms1xxx: fix OOPS on 64 bit kernels due to a bad cast
Fix the following build warning:

smscoreapi.c: In function 'smscore_detect_mode':
smscoreapi.c:689: warning: cast from pointer to integer of different size
smscoreapi.c:689: warning: cast to pointer from integer of different size
smscoreapi.c: In function 'smscore_set_device_mode':
smscoreapi.c:820: warning: cast from pointer to integer of different size
smscoreapi.c:820: warning: cast to pointer from integer of different size

...and fix the following OOPS on 64bit kernels:

[  717.263667] usb 6-4: new high speed USB device using ehci_hcd and address 2
[  717.396386] usb 6-4: configuration #1 chosen from 1 choice
[  717.473650] Unable to handle kernel paging request at 0000000000c02000 RIP:
[  717.473657]  [<ffffffff88db9edc>] :sms1xxx:smscore_set_device_mode+0x22c/0x4a0
[  717.473669] PGD 3c6f7067 PUD 3d484067 PMD 0
[  717.473674] Oops: 0002 [1] SMP
[  717.473678] CPU 0
[Modules linked in snipped]
[  717.473773] Pid: 8380, comm: modprobe Tainted: P        2.6.24-16-generic #1
[  717.473776] RIP: 0010:[<ffffffff88db9edc>]  [<ffffffff88db9edc>] :sms1xxx:smscore_set_device_mode+0x22c/0x4a0
[  717.473784] RSP: 0018:ffff81003d495ba8  EFLAGS: 00010206
[  717.473786] RAX: ffff81003d8cd8d0 RBX: ffff81003d8cd800 RCX: ffff81003d8cd8d0
[  717.473788] RDX: 0000000000000008 RSI: ffff81003f080070 RDI: ffff81003d8cd800
[  717.473791] RBP: 0000000000000004 R08: ffff81003ec0104b R09: ffffffffffffffff
[  717.473793] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000c02000
[  717.473796] R13: 00000000fffffff4 R14: ffff810000c02000 R15: ffff81003d8cd878
[  717.473799] FS:  00007f70a680f6e0(0000) GS:ffffffff805b0000(0000) knlGS:0000000000000000
[  717.473801] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[  717.473804] CR2: 0000000000c02000 CR3: 000000003c68b000 CR4: 00000000000006e0
[  717.473806] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  717.473809] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[  717.473812] Process modprobe (pid: 8380, threadinfo ffff81003d494000, task ffff81003d2fc000)
[  717.473814] Stack:  ffff81003d8cd800 ffff81003d8cd800 0000000000000000 ffff81003c6d8000
[  717.473820]  ffff81003dcac800 0000000000000008 ffffc20000787bb0 ffffffff88dba16c
[  717.473825]  ffff81003dcac800 000000000000000a 0000000000000000 ffffffff88dbb2fa
[  717.473829] Call Trace:
[  717.473866]  [<ffffffff88dba16c>] :sms1xxx:smscore_start_device+0x1c/0xb0
[  717.473885]  [<ffffffff88dbb2fa>] :sms1xxx:smsusb_probe+0x29a/0x670
[  717.473929]  [<ffffffff88dbaca0>] :sms1xxx:smsusb_sendrequest+0x0/0x30
[  717.473965]  [<ffffffff804614d9>] mutex_lock+0x9/0x20
[  717.473998]  [<ffffffff8806c42e>] :usbcore:usb_autopm_do_device+0x8e/0x130
[  717.474040]  [<ffffffff8806d33a>] :usbcore:usb_probe_interface+0xda/0x160
[  717.474067]  [<ffffffff803b9f4c>] driver_probe_device+0x9c/0x1b0
[  717.474091]  [<ffffffff803ba219>] __driver_attach+0xc9/0xd0
[  717.474107]  [<ffffffff803ba150>] __driver_attach+0x0/0xd0
[  717.474115]  [<ffffffff803b918d>] bus_for_each_dev+0x4d/0x80
[  717.474156]  [<ffffffff803b959c>] bus_add_driver+0xac/0x220
[  717.474203]  [<ffffffff8806cde9>] :usbcore:usb_register_driver+0xa9/0x120
[  717.474232]  [<ffffffff88dbb00b>] :sms1xxx:smsusb_register+0x1b/0x70
[  717.474243]  [<ffffffff88dba50c>] :sms1xxx:smscore_module_init+0x7c/0xb0
[  717.474253]  [<ffffffff80263b6e>] sys_init_module+0x18e/0x1a90
[  717.474426]  [<ffffffff8020c37e>] system_call+0x7e/0x83
[  717.474490]
[  717.474491]
[  717.474492] Code: 66 41 c7 04 24 9c 02 41 c6 44 24 02 00 4c 89 e6 41 c6 44 24
[  717.474506] RIP  [<ffffffff88db9edc>] :sms1xxx:smscore_set_device_mode+0x22c/0x4a0
[  717.474513]  RSP <ffff81003d495ba8>
[  717.474515] CR2: 0000000000c02000
[  717.474521] ---[ end trace 52d9c6f207be106a ]---

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:23:52 -03:00
Michael Krufky
14a638cd3b V4L/DVB (8308): sms1xxx: Provide option to support Siano default usb ids
Provide an option to enable / disable support for Siano's default usb ids.

This allows the support for Siano's USB IDs to be disabled, so that Siano's
external driver can be used, instead.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:23:47 -03:00
Michael Krufky
eb383bddc5 V4L/DVB (8307): sms1xxx: change smsusb_driver.name to sms1xxx
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:23:43 -03:00
Michael Krufky
5068b7a449 V4L/DVB (8306): sms1xxx: log firmware download process by default
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:23:38 -03:00
Michael Krufky
0f2a1ee112 V4L/DVB (8305): sms1xxx: fix warning: format '%d' expects type 'int', but argument x has type 'size_t'
Fix the following 64bit build warning:

make[2]: Entering directory `/usr/src/linux-headers-2.6.24-16-generic'
  CC [M]  smscoreapi.o
smscoreapi.c: In function 'smscore_load_firmware_from_file':
smscoreapi.c:604: warning: format '%d' expects type 'int', but argument 4 has type 'size_t'
  CC [M]  smsusb.o
smsusb.c: In function 'smsusb1_load_firmware':
smsusb.c:216: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'
smsusb.c:223: warning: format '%d' expects type 'int', but argument 4 has type 'size_t'

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:23:34 -03:00
Michael Krufky
8f37356b06 V4L/DVB (8303): sms1xxx: update MODULE_DESCRIPTION
set MODULE_DESCRIPTION to "Driver for the Siano SMS1XXX USB dongle"

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:23:30 -03:00
Michael Krufky
cf1cfe1ba7 V4L/DVB (8302): sms1xxx: fix Siano board names
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:23:25 -03:00
Michael Krufky
02aea4fb64 V4L/DVB (8301): sms1xxx: add capability to define device-specific firmware filenames
Add the capability to define device-specific firmware filenames for the SMS1150,
with a mechanism to fall back to the generic firmware if the device-specific
firmware is not present.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:23:20 -03:00
Michael Krufky
2708e888c5 V4L/DVB (8300): sms1xxx: simplify smsusb_init_device switch..case block
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:23:15 -03:00
Michael Krufky
0c071f374f V4L/DVB (8299): sms1xxx: mark functions static
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:23:10 -03:00
Michael Krufky
c65c7a652f V4L/DVB (8298): sms1xxx: remove redundant __func__ in sms_err macro
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:22:59 -03:00
Michael Krufky
2522dc1324 V4L/DVB (8297): sms1xxx: remove old printk macros
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:22:53 -03:00
Michael Krufky
eb250942fe V4L/DVB (8296): sms1xxx: always show error messages
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:22:48 -03:00
Michael Krufky
f14d56a99b V4L/DVB (8295): sms1xxx: add debug module option, to enable debug messages
All dmesg spam turned off by default, for now.  Values for debug:

(info=1, adv=2 (or-able)

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:22:42 -03:00
Michael Krufky
a0c0abcb1f V4L/DVB (8294): sms1xxx: move message formatting into printk macros
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:22:37 -03:00
Michael Krufky
068d6c0f5d V4L/DVB (8293): sms1xxx: create printk macros
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:22:31 -03:00
Michael Krufky
1c11d546b6 V4L/DVB (8292): sms1xxx: add code to allow device-specific functionality
Set board ID in the usb_device_id table's driver_info field.
Use board name when registering the dvb adapter.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:22:27 -03:00
Michael Krufky
dd5b2a5c2a V4L/DVB (8291): sms1xxx: change default_mode to 4
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:22:22 -03:00