diff options
-rw-r--r-- | drivers/media/media-device.c | 32 | ||||
-rw-r--r-- | drivers/media/pci/saa7134/saa7134-core.c | 3 | ||||
-rw-r--r-- | drivers/media/usb/au0828/au0828-core.c | 10 | ||||
-rw-r--r-- | drivers/media/usb/cx231xx/cx231xx-cards.c | 4 | ||||
-rw-r--r-- | drivers/media/usb/dvb-usb-v2/dvb_usb_core.c | 4 | ||||
-rw-r--r-- | drivers/media/usb/dvb-usb/dvb-usb-dvb.c | 6 | ||||
-rw-r--r-- | drivers/media/usb/em28xx/em28xx-cards.c | 16 | ||||
-rw-r--r-- | drivers/media/usb/siano/smsusb.c | 4 | ||||
-rw-r--r-- | include/media/media-device.h | 32 |
9 files changed, 55 insertions, 56 deletions
diff --git a/drivers/media/media-device.c b/drivers/media/media-device.c index fe376b6b5244..6613723f5eb8 100644 --- a/drivers/media/media-device.c +++ b/drivers/media/media-device.c | |||
@@ -755,16 +755,11 @@ struct media_device *media_device_find_devres(struct device *dev) | |||
755 | } | 755 | } |
756 | EXPORT_SYMBOL_GPL(media_device_find_devres); | 756 | EXPORT_SYMBOL_GPL(media_device_find_devres); |
757 | 757 | ||
758 | struct media_device *media_device_pci_init(struct pci_dev *pci_dev, | 758 | void media_device_pci_init(struct media_device *mdev, |
759 | const char *name) | 759 | struct pci_dev *pci_dev, |
760 | const char *name) | ||
760 | { | 761 | { |
761 | #ifdef CONFIG_PCI | 762 | #ifdef CONFIG_PCI |
762 | struct media_device *mdev; | ||
763 | |||
764 | mdev = kzalloc(sizeof(*mdev), GFP_KERNEL); | ||
765 | if (!mdev) | ||
766 | return NULL; | ||
767 | |||
768 | mdev->dev = &pci_dev->dev; | 763 | mdev->dev = &pci_dev->dev; |
769 | 764 | ||
770 | if (name) | 765 | if (name) |
@@ -780,25 +775,16 @@ struct media_device *media_device_pci_init(struct pci_dev *pci_dev, | |||
780 | mdev->driver_version = LINUX_VERSION_CODE; | 775 | mdev->driver_version = LINUX_VERSION_CODE; |
781 | 776 | ||
782 | media_device_init(mdev); | 777 | media_device_init(mdev); |
783 | |||
784 | return mdev; | ||
785 | #else | ||
786 | return NULL; | ||
787 | #endif | 778 | #endif |
788 | } | 779 | } |
789 | EXPORT_SYMBOL_GPL(media_device_pci_init); | 780 | EXPORT_SYMBOL_GPL(media_device_pci_init); |
790 | 781 | ||
791 | struct media_device *__media_device_usb_init(struct usb_device *udev, | 782 | void __media_device_usb_init(struct media_device *mdev, |
792 | const char *board_name, | 783 | struct usb_device *udev, |
793 | const char *driver_name) | 784 | const char *board_name, |
785 | const char *driver_name) | ||
794 | { | 786 | { |
795 | #ifdef CONFIG_USB | 787 | #ifdef CONFIG_USB |
796 | struct media_device *mdev; | ||
797 | |||
798 | mdev = kzalloc(sizeof(*mdev), GFP_KERNEL); | ||
799 | if (!mdev) | ||
800 | return NULL; | ||
801 | |||
802 | mdev->dev = &udev->dev; | 788 | mdev->dev = &udev->dev; |
803 | 789 | ||
804 | if (driver_name) | 790 | if (driver_name) |
@@ -818,10 +804,6 @@ struct media_device *__media_device_usb_init(struct usb_device *udev, | |||
818 | mdev->driver_version = LINUX_VERSION_CODE; | 804 | mdev->driver_version = LINUX_VERSION_CODE; |
819 | 805 | ||
820 | media_device_init(mdev); | 806 | media_device_init(mdev); |
821 | |||
822 | return mdev; | ||
823 | #else | ||
824 | return NULL; | ||
825 | #endif | 807 | #endif |
826 | } | 808 | } |
827 | EXPORT_SYMBOL_GPL(__media_device_usb_init); | 809 | EXPORT_SYMBOL_GPL(__media_device_usb_init); |
diff --git a/drivers/media/pci/saa7134/saa7134-core.c b/drivers/media/pci/saa7134/saa7134-core.c index 8ae65bb320a3..2e77a5a80119 100644 --- a/drivers/media/pci/saa7134/saa7134-core.c +++ b/drivers/media/pci/saa7134/saa7134-core.c | |||
@@ -1043,11 +1043,12 @@ static int saa7134_initdev(struct pci_dev *pci_dev, | |||
1043 | sprintf(dev->name, "saa%x[%d]", pci_dev->device, dev->nr); | 1043 | sprintf(dev->name, "saa%x[%d]", pci_dev->device, dev->nr); |
1044 | 1044 | ||
1045 | #ifdef CONFIG_MEDIA_CONTROLLER | 1045 | #ifdef CONFIG_MEDIA_CONTROLLER |
1046 | dev->media_dev = media_device_pci_init(pci_dev, dev->name); | 1046 | dev->media_dev = kzalloc(sizeof(*dev->media_dev), GFP_KERNEL); |
1047 | if (!dev->media_dev) { | 1047 | if (!dev->media_dev) { |
1048 | err = -ENOMEM; | 1048 | err = -ENOMEM; |
1049 | goto fail0; | 1049 | goto fail0; |
1050 | } | 1050 | } |
1051 | media_device_pci_init(dev->media_dev, pci_dev, dev->name); | ||
1051 | dev->v4l2_dev.mdev = dev->media_dev; | 1052 | dev->v4l2_dev.mdev = dev->media_dev; |
1052 | #endif | 1053 | #endif |
1053 | 1054 | ||
diff --git a/drivers/media/usb/au0828/au0828-core.c b/drivers/media/usb/au0828/au0828-core.c index cfcd08ec388f..5fea4adef90b 100644 --- a/drivers/media/usb/au0828/au0828-core.c +++ b/drivers/media/usb/au0828/au0828-core.c | |||
@@ -191,13 +191,15 @@ static int au0828_media_device_init(struct au0828_dev *dev, | |||
191 | #ifdef CONFIG_MEDIA_CONTROLLER | 191 | #ifdef CONFIG_MEDIA_CONTROLLER |
192 | struct media_device *mdev; | 192 | struct media_device *mdev; |
193 | 193 | ||
194 | if (!dev->board.name) | 194 | mdev = kzalloc(sizeof(*mdev), GFP_KERNEL); |
195 | mdev = media_device_usb_init(udev, "unknown au0828"); | ||
196 | else | ||
197 | mdev = media_device_usb_init(udev, dev->board.name); | ||
198 | if (!mdev) | 195 | if (!mdev) |
199 | return -ENOMEM; | 196 | return -ENOMEM; |
200 | 197 | ||
198 | if (!dev->board.name) | ||
199 | media_device_usb_init(mdev, udev, "unknown au0828"); | ||
200 | else | ||
201 | media_device_usb_init(mdev, udev, dev->board.name); | ||
202 | |||
201 | dev->media_dev = mdev; | 203 | dev->media_dev = mdev; |
202 | #endif | 204 | #endif |
203 | return 0; | 205 | return 0; |
diff --git a/drivers/media/usb/cx231xx/cx231xx-cards.c b/drivers/media/usb/cx231xx/cx231xx-cards.c index 29bd7536feed..c63248a18823 100644 --- a/drivers/media/usb/cx231xx/cx231xx-cards.c +++ b/drivers/media/usb/cx231xx/cx231xx-cards.c | |||
@@ -1212,10 +1212,12 @@ static int cx231xx_media_device_init(struct cx231xx *dev, | |||
1212 | #ifdef CONFIG_MEDIA_CONTROLLER | 1212 | #ifdef CONFIG_MEDIA_CONTROLLER |
1213 | struct media_device *mdev; | 1213 | struct media_device *mdev; |
1214 | 1214 | ||
1215 | mdev = media_device_usb_init(udev, dev->board.name); | 1215 | mdev = kzalloc(sizeof(*mdev), GFP_KERNEL); |
1216 | if (!mdev) | 1216 | if (!mdev) |
1217 | return -ENOMEM; | 1217 | return -ENOMEM; |
1218 | 1218 | ||
1219 | media_device_usb_init(mdev, udev, dev->board.name); | ||
1220 | |||
1219 | dev->media_dev = mdev; | 1221 | dev->media_dev = mdev; |
1220 | #endif | 1222 | #endif |
1221 | return 0; | 1223 | return 0; |
diff --git a/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c b/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c index 58250250a443..3fbb2cd19f5e 100644 --- a/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c +++ b/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c | |||
@@ -408,10 +408,12 @@ static int dvb_usbv2_media_device_init(struct dvb_usb_adapter *adap) | |||
408 | struct dvb_usb_device *d = adap_to_d(adap); | 408 | struct dvb_usb_device *d = adap_to_d(adap); |
409 | struct usb_device *udev = d->udev; | 409 | struct usb_device *udev = d->udev; |
410 | 410 | ||
411 | mdev = media_device_usb_init(udev, d->name); | 411 | mdev = kzalloc(sizeof(*mdev), GFP_KERNEL); |
412 | if (!mdev) | 412 | if (!mdev) |
413 | return -ENOMEM; | 413 | return -ENOMEM; |
414 | 414 | ||
415 | media_device_usb_init(mdev, udev, d->name); | ||
416 | |||
415 | dvb_register_media_controller(&adap->dvb_adap, mdev); | 417 | dvb_register_media_controller(&adap->dvb_adap, mdev); |
416 | 418 | ||
417 | dev_info(&d->udev->dev, "media controller created\n"); | 419 | dev_info(&d->udev->dev, "media controller created\n"); |
diff --git a/drivers/media/usb/dvb-usb/dvb-usb-dvb.c b/drivers/media/usb/dvb-usb/dvb-usb-dvb.c index 7509408b0b8e..6477b04e95c7 100644 --- a/drivers/media/usb/dvb-usb/dvb-usb-dvb.c +++ b/drivers/media/usb/dvb-usb/dvb-usb-dvb.c | |||
@@ -103,7 +103,11 @@ static int dvb_usb_media_device_init(struct dvb_usb_adapter *adap) | |||
103 | struct dvb_usb_device *d = adap->dev; | 103 | struct dvb_usb_device *d = adap->dev; |
104 | struct usb_device *udev = d->udev; | 104 | struct usb_device *udev = d->udev; |
105 | 105 | ||
106 | mdev = media_device_usb_init(udev, d->desc->name); | 106 | mdev = kzalloc(sizeof(*mdev), GFP_KERNEL); |
107 | if (!mdev) | ||
108 | return -ENOMEM; | ||
109 | |||
110 | media_device_usb_init(mdev, udev, d->desc->name); | ||
107 | 111 | ||
108 | dvb_register_media_controller(&adap->dvb_adap, mdev); | 112 | dvb_register_media_controller(&adap->dvb_adap, mdev); |
109 | 113 | ||
diff --git a/drivers/media/usb/em28xx/em28xx-cards.c b/drivers/media/usb/em28xx/em28xx-cards.c index 0bae26325253..1f4047b3f3f7 100644 --- a/drivers/media/usb/em28xx/em28xx-cards.c +++ b/drivers/media/usb/em28xx/em28xx-cards.c | |||
@@ -3019,17 +3019,17 @@ static int em28xx_media_device_init(struct em28xx *dev, | |||
3019 | #ifdef CONFIG_MEDIA_CONTROLLER | 3019 | #ifdef CONFIG_MEDIA_CONTROLLER |
3020 | struct media_device *mdev; | 3020 | struct media_device *mdev; |
3021 | 3021 | ||
3022 | if (udev->product) { | 3022 | mdev = kzalloc(sizeof(*mdev), GFP_KERNEL); |
3023 | mdev = media_device_usb_init(udev, udev->product); | ||
3024 | } else if (udev->manufacturer) { | ||
3025 | mdev = media_device_usb_init(udev, udev->manufacturer); | ||
3026 | } else { | ||
3027 | mdev = media_device_usb_init(udev, dev->name); | ||
3028 | } | ||
3029 | |||
3030 | if (!mdev) | 3023 | if (!mdev) |
3031 | return -ENOMEM; | 3024 | return -ENOMEM; |
3032 | 3025 | ||
3026 | if (udev->product) | ||
3027 | media_device_usb_init(mdev, udev, udev->product); | ||
3028 | else if (udev->manufacturer) | ||
3029 | media_device_usb_init(mdev, udev, udev->manufacturer); | ||
3030 | else | ||
3031 | media_device_usb_init(mdev, udev, dev->name); | ||
3032 | |||
3033 | dev->media_dev = mdev; | 3033 | dev->media_dev = mdev; |
3034 | #endif | 3034 | #endif |
3035 | return 0; | 3035 | return 0; |
diff --git a/drivers/media/usb/siano/smsusb.c b/drivers/media/usb/siano/smsusb.c index 4a0def1e1528..c2e25876e93b 100644 --- a/drivers/media/usb/siano/smsusb.c +++ b/drivers/media/usb/siano/smsusb.c | |||
@@ -367,10 +367,12 @@ static void *siano_media_device_register(struct smsusb_device_t *dev, | |||
367 | struct sms_board *board = sms_get_board(board_id); | 367 | struct sms_board *board = sms_get_board(board_id); |
368 | int ret; | 368 | int ret; |
369 | 369 | ||
370 | mdev = media_device_usb_init(udev, board->name); | 370 | mdev = kzalloc(sizeof(*mdev), GFP_KERNEL); |
371 | if (!mdev) | 371 | if (!mdev) |
372 | return NULL; | 372 | return NULL; |
373 | 373 | ||
374 | media_device_usb_init(mdev, udev, board->name); | ||
375 | |||
374 | ret = media_device_register(mdev); | 376 | ret = media_device_register(mdev); |
375 | if (ret) { | 377 | if (ret) { |
376 | media_device_cleanup(mdev); | 378 | media_device_cleanup(mdev); |
diff --git a/include/media/media-device.h b/include/media/media-device.h index 2d144fed936e..49dda6c7e664 100644 --- a/include/media/media-device.h +++ b/include/media/media-device.h | |||
@@ -550,16 +550,19 @@ struct media_device *media_device_find_devres(struct device *dev); | |||
550 | * media_device_pci_init() - create and initialize a | 550 | * media_device_pci_init() - create and initialize a |
551 | * struct &media_device from a PCI device. | 551 | * struct &media_device from a PCI device. |
552 | * | 552 | * |
553 | * @mdev: pointer to struct &media_device | ||
553 | * @pci_dev: pointer to struct pci_dev | 554 | * @pci_dev: pointer to struct pci_dev |
554 | * @name: media device name. If %NULL, the routine will use the default | 555 | * @name: media device name. If %NULL, the routine will use the default |
555 | * name for the pci device, given by pci_name() macro. | 556 | * name for the pci device, given by pci_name() macro. |
556 | */ | 557 | */ |
557 | struct media_device *media_device_pci_init(struct pci_dev *pci_dev, | 558 | void media_device_pci_init(struct media_device *mdev, |
558 | const char *name); | 559 | struct pci_dev *pci_dev, |
560 | const char *name); | ||
559 | /** | 561 | /** |
560 | * __media_device_usb_init() - create and initialize a | 562 | * __media_device_usb_init() - create and initialize a |
561 | * struct &media_device from a PCI device. | 563 | * struct &media_device from a PCI device. |
562 | * | 564 | * |
565 | * @mdev: pointer to struct &media_device | ||
563 | * @udev: pointer to struct usb_device | 566 | * @udev: pointer to struct usb_device |
564 | * @board_name: media device name. If %NULL, the routine will use the usb | 567 | * @board_name: media device name. If %NULL, the routine will use the usb |
565 | * product name, if available. | 568 | * product name, if available. |
@@ -570,9 +573,10 @@ struct media_device *media_device_pci_init(struct pci_dev *pci_dev, | |||
570 | * NOTE: It is better to call media_device_usb_init() instead, as | 573 | * NOTE: It is better to call media_device_usb_init() instead, as |
571 | * such macro fills driver_name with %KBUILD_MODNAME. | 574 | * such macro fills driver_name with %KBUILD_MODNAME. |
572 | */ | 575 | */ |
573 | struct media_device *__media_device_usb_init(struct usb_device *udev, | 576 | void __media_device_usb_init(struct media_device *mdev, |
574 | const char *board_name, | 577 | struct usb_device *udev, |
575 | const char *driver_name); | 578 | const char *board_name, |
579 | const char *driver_name); | ||
576 | 580 | ||
577 | #else | 581 | #else |
578 | static inline int media_device_register(struct media_device *mdev) | 582 | static inline int media_device_register(struct media_device *mdev) |
@@ -599,24 +603,24 @@ static inline struct media_device *media_device_find_devres(struct device *dev) | |||
599 | return NULL; | 603 | return NULL; |
600 | } | 604 | } |
601 | 605 | ||
602 | static inline | 606 | static inline void media_device_pci_init(struct media_device *mdev, |
603 | struct media_device *media_device_pci_init(struct pci_dev *pci_dev, | 607 | struct pci_dev *pci_dev, |
604 | char *name) | 608 | char *name) |
605 | { | 609 | { |
606 | return NULL; | 610 | return NULL; |
607 | } | 611 | } |
608 | 612 | ||
609 | static inline | 613 | static inline void __media_device_usb_init(struct media_device *mdev, |
610 | struct media_device *__media_device_usb_init(struct usb_device *udev, | 614 | struct usb_device *udev, |
611 | char *board_name, | 615 | char *board_name, |
612 | char *driver_name) | 616 | char *driver_name) |
613 | { | 617 | { |
614 | return NULL; | 618 | return NULL; |
615 | } | 619 | } |
616 | 620 | ||
617 | #endif /* CONFIG_MEDIA_CONTROLLER */ | 621 | #endif /* CONFIG_MEDIA_CONTROLLER */ |
618 | 622 | ||
619 | #define media_device_usb_init(udev, name) \ | 623 | #define media_device_usb_init(mdev, udev, name) \ |
620 | __media_device_usb_init(udev, name, KBUILD_MODNAME) | 624 | __media_device_usb_init(mdev, udev, name, KBUILD_MODNAME) |
621 | 625 | ||
622 | #endif | 626 | #endif |