diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-30 22:03:41 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-30 22:03:41 -0400 |
commit | 6df419e45d71b8d9a0de8e92a1212bbea460f0e0 (patch) | |
tree | c0902a96353391400818fe8b7adf11493b56935a /drivers/staging | |
parent | 27c1ee3f929555b71fa39ec0d81a7e7185de1b16 (diff) | |
parent | c893e7c64e36087dceb4662917976a81d1754fc0 (diff) |
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab:
"This is the first part of the media patches for v3.6.
This patch series contain:
- new DVB frontend: rtl2832
- new video drivers: adv7393
- some unused files got removed
- a selection API cleanup between V4L2 and V4L2 subdev API's
- a major redesign at v4l-ioctl2, in order to clean it up
- several driver fixes and improvements."
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (174 commits)
v4l: Export v4l2-common.h in include/linux/Kbuild
media: Revert "[media] Terratec Cinergy S2 USB HD Rev.2"
[media] media: Use pr_info not homegrown pr_reg macro
[media] Terratec Cinergy S2 USB HD Rev.2
[media] v4l: Correct conflicting V4L2 subdev selection API documentation
[media] Feature removal: V4L2 selections API target and flag definitions
[media] v4l: Unify selection flags documentation
[media] v4l: Unify selection flags
[media] v4l: Common documentation for selection targets
[media] v4l: Unify selection targets across V4L2 and V4L2 subdev interfaces
[media] v4l: Remove "_ACTUAL" from subdev selection API target definition names
[media] V4L: Remove "_ACTIVE" from the selection target name definitions
[media] media: dvb-usb: print mac address via native %pM
[media] s5p-tv: Use module_i2c_driver in sii9234_drv.c file
[media] media: gpio-ir-recv: add allowed_protos for platform data
[media] s5p-jpeg: Use module_platform_driver in jpeg-core.c file
[media] saa7134: fix spelling of detach in label
[media] cx88-blackbird: replace ioctl by unlocked_ioctl
[media] cx88: don't use current_norm
[media] cx88: fix a number of v4l2-compliance violations
...
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/media/lirc/lirc_sir.c | 60 | ||||
-rw-r--r-- | drivers/staging/media/solo6x10/TODO | 2 | ||||
-rw-r--r-- | drivers/staging/media/solo6x10/i2c.c | 2 |
3 files changed, 60 insertions, 4 deletions
diff --git a/drivers/staging/media/lirc/lirc_sir.c b/drivers/staging/media/lirc/lirc_sir.c index 945d9623550b..4afc3b419738 100644 --- a/drivers/staging/media/lirc/lirc_sir.c +++ b/drivers/staging/media/lirc/lirc_sir.c | |||
@@ -52,6 +52,7 @@ | |||
52 | #include <linux/io.h> | 52 | #include <linux/io.h> |
53 | #include <asm/irq.h> | 53 | #include <asm/irq.h> |
54 | #include <linux/fcntl.h> | 54 | #include <linux/fcntl.h> |
55 | #include <linux/platform_device.h> | ||
55 | #ifdef LIRC_ON_SA1100 | 56 | #ifdef LIRC_ON_SA1100 |
56 | #include <asm/hardware.h> | 57 | #include <asm/hardware.h> |
57 | #ifdef CONFIG_SA1100_COLLIE | 58 | #ifdef CONFIG_SA1100_COLLIE |
@@ -487,9 +488,11 @@ static struct lirc_driver driver = { | |||
487 | .owner = THIS_MODULE, | 488 | .owner = THIS_MODULE, |
488 | }; | 489 | }; |
489 | 490 | ||
491 | static struct platform_device *lirc_sir_dev; | ||
490 | 492 | ||
491 | static int init_chrdev(void) | 493 | static int init_chrdev(void) |
492 | { | 494 | { |
495 | driver.dev = &lirc_sir_dev->dev; | ||
493 | driver.minor = lirc_register_driver(&driver); | 496 | driver.minor = lirc_register_driver(&driver); |
494 | if (driver.minor < 0) { | 497 | if (driver.minor < 0) { |
495 | printk(KERN_ERR LIRC_DRIVER_NAME ": init_chrdev() failed.\n"); | 498 | printk(KERN_ERR LIRC_DRIVER_NAME ": init_chrdev() failed.\n"); |
@@ -1215,20 +1218,71 @@ static int init_lirc_sir(void) | |||
1215 | return 0; | 1218 | return 0; |
1216 | } | 1219 | } |
1217 | 1220 | ||
1221 | static int __devinit lirc_sir_probe(struct platform_device *dev) | ||
1222 | { | ||
1223 | return 0; | ||
1224 | } | ||
1225 | |||
1226 | static int __devexit lirc_sir_remove(struct platform_device *dev) | ||
1227 | { | ||
1228 | return 0; | ||
1229 | } | ||
1230 | |||
1231 | static struct platform_driver lirc_sir_driver = { | ||
1232 | .probe = lirc_sir_probe, | ||
1233 | .remove = __devexit_p(lirc_sir_remove), | ||
1234 | .driver = { | ||
1235 | .name = "lirc_sir", | ||
1236 | .owner = THIS_MODULE, | ||
1237 | }, | ||
1238 | }; | ||
1218 | 1239 | ||
1219 | static int __init lirc_sir_init(void) | 1240 | static int __init lirc_sir_init(void) |
1220 | { | 1241 | { |
1221 | int retval; | 1242 | int retval; |
1222 | 1243 | ||
1244 | retval = platform_driver_register(&lirc_sir_driver); | ||
1245 | if (retval) { | ||
1246 | printk(KERN_ERR LIRC_DRIVER_NAME ": Platform driver register " | ||
1247 | "failed!\n"); | ||
1248 | return -ENODEV; | ||
1249 | } | ||
1250 | |||
1251 | lirc_sir_dev = platform_device_alloc("lirc_dev", 0); | ||
1252 | if (!lirc_sir_dev) { | ||
1253 | printk(KERN_ERR LIRC_DRIVER_NAME ": Platform device alloc " | ||
1254 | "failed!\n"); | ||
1255 | retval = -ENOMEM; | ||
1256 | goto pdev_alloc_fail; | ||
1257 | } | ||
1258 | |||
1259 | retval = platform_device_add(lirc_sir_dev); | ||
1260 | if (retval) { | ||
1261 | printk(KERN_ERR LIRC_DRIVER_NAME ": Platform device add " | ||
1262 | "failed!\n"); | ||
1263 | retval = -ENODEV; | ||
1264 | goto pdev_add_fail; | ||
1265 | } | ||
1266 | |||
1223 | retval = init_chrdev(); | 1267 | retval = init_chrdev(); |
1224 | if (retval < 0) | 1268 | if (retval < 0) |
1225 | return retval; | 1269 | goto fail; |
1270 | |||
1226 | retval = init_lirc_sir(); | 1271 | retval = init_lirc_sir(); |
1227 | if (retval) { | 1272 | if (retval) { |
1228 | drop_chrdev(); | 1273 | drop_chrdev(); |
1229 | return retval; | 1274 | goto fail; |
1230 | } | 1275 | } |
1276 | |||
1231 | return 0; | 1277 | return 0; |
1278 | |||
1279 | fail: | ||
1280 | platform_device_del(lirc_sir_dev); | ||
1281 | pdev_add_fail: | ||
1282 | platform_device_put(lirc_sir_dev); | ||
1283 | pdev_alloc_fail: | ||
1284 | platform_driver_unregister(&lirc_sir_driver); | ||
1285 | return retval; | ||
1232 | } | 1286 | } |
1233 | 1287 | ||
1234 | static void __exit lirc_sir_exit(void) | 1288 | static void __exit lirc_sir_exit(void) |
@@ -1236,6 +1290,8 @@ static void __exit lirc_sir_exit(void) | |||
1236 | drop_hardware(); | 1290 | drop_hardware(); |
1237 | drop_chrdev(); | 1291 | drop_chrdev(); |
1238 | drop_port(); | 1292 | drop_port(); |
1293 | platform_device_unregister(lirc_sir_dev); | ||
1294 | platform_driver_unregister(&lirc_sir_driver); | ||
1239 | printk(KERN_INFO LIRC_DRIVER_NAME ": Uninstalled.\n"); | 1295 | printk(KERN_INFO LIRC_DRIVER_NAME ": Uninstalled.\n"); |
1240 | } | 1296 | } |
1241 | 1297 | ||
diff --git a/drivers/staging/media/solo6x10/TODO b/drivers/staging/media/solo6x10/TODO index 7e6c4fa130df..539f739fe9e6 100644 --- a/drivers/staging/media/solo6x10/TODO +++ b/drivers/staging/media/solo6x10/TODO | |||
@@ -20,5 +20,5 @@ TODO (general): | |||
20 | - implement loopback of external sound jack with incoming audio? | 20 | - implement loopback of external sound jack with incoming audio? |
21 | - implement pause/resume | 21 | - implement pause/resume |
22 | 22 | ||
23 | Plase send patches to Greg Kroah-Hartman <greg@kroah.com> and Cc Ben Collins | 23 | Plase send patches to Mauro Carvalho Chehab <mchehab@redhat.com> and Cc Ben Collins |
24 | <bcollins@bluecherry.net> | 24 | <bcollins@bluecherry.net> |
diff --git a/drivers/staging/media/solo6x10/i2c.c b/drivers/staging/media/solo6x10/i2c.c index ef95a500b4da..398070a3d293 100644 --- a/drivers/staging/media/solo6x10/i2c.c +++ b/drivers/staging/media/solo6x10/i2c.c | |||
@@ -175,7 +175,7 @@ int solo_i2c_isr(struct solo_dev *solo_dev) | |||
175 | 175 | ||
176 | solo_reg_write(solo_dev, SOLO_IRQ_STAT, SOLO_IRQ_IIC); | 176 | solo_reg_write(solo_dev, SOLO_IRQ_STAT, SOLO_IRQ_IIC); |
177 | 177 | ||
178 | if (status & (SOLO_IIC_STATE_TRNS & SOLO_IIC_STATE_SIG_ERR) || | 178 | if (status & (SOLO_IIC_STATE_TRNS | SOLO_IIC_STATE_SIG_ERR) || |
179 | solo_dev->i2c_id < 0) { | 179 | solo_dev->i2c_id < 0) { |
180 | solo_i2c_stop(solo_dev); | 180 | solo_i2c_stop(solo_dev); |
181 | return -ENXIO; | 181 | return -ENXIO; |