Re: [GIT PULL for v4.6-rc1] media updates

From: Stefan Lippers-Hollmann
Date: Wed May 04 2016 - 19:01:12 EST


Hi

On 2016-05-04, Mauro Carvalho Chehab wrote:
> Em Wed, 4 May 2016 13:49:52 -0700
> Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> escreveu:
> > On Wed, May 4, 2016 at 12:28 PM, Stefan Lippers-Hollmann <s.l-h@xxxxxx> wrote:
[...]
> Stefan,
>
> Could you please test the enclosed patch?
>
> Regards,
> Mauro
>
> [media] media-device: fix builds when USB or PCI is compiled as module
>
> Just checking ifdef CONFIG_USB is not enough, if the USB is compiled
> as module. The same applies to PCI.
>
> Compile-tested only.
>
> So, change the logic to use, instead, IS_REACHABLE.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
>
> diff --git a/drivers/media/media-device.c b/drivers/media/media-device.c
> index b84825715f98..8c1f80ff33e3 100644
> --- a/drivers/media/media-device.c
> +++ b/drivers/media/media-device.c
> @@ -842,11 +842,11 @@ struct media_device *media_device_find_devres(struct device *dev)
> }
> EXPORT_SYMBOL_GPL(media_device_find_devres);
>
> +#if IS_REACHABLE(CONFIG_PCI)
> void media_device_pci_init(struct media_device *mdev,
> struct pci_dev *pci_dev,
> const char *name)
> {
> -#ifdef CONFIG_PCI
> mdev->dev = &pci_dev->dev;
>
> if (name)
> @@ -862,16 +862,16 @@ void media_device_pci_init(struct media_device *mdev,
> mdev->driver_version = LINUX_VERSION_CODE;
>
> media_device_init(mdev);
> -#endif
> }
> EXPORT_SYMBOL_GPL(media_device_pci_init);
> +#endif
>
> +#if IS_REACHABLE(CONFIG_USB)
> void __media_device_usb_init(struct media_device *mdev,
> struct usb_device *udev,
> const char *board_name,
> const char *driver_name)
> {
> -#ifdef CONFIG_USB
> mdev->dev = &udev->dev;
>
> if (driver_name)
> @@ -891,9 +891,9 @@ void __media_device_usb_init(struct media_device *mdev,
> mdev->driver_version = LINUX_VERSION_CODE;
>
> media_device_init(mdev);
> -#endif
> }
> EXPORT_SYMBOL_GPL(__media_device_usb_init);
> +#endif
>
>
> #endif /* CONFIG_MEDIA_CONTROLLER */
>
>

This fails to build for me with:

[...]
Setup is 16348 bytes (padded to 16384 bytes).
System is 3319 kB
CRC a9178215
Kernel: arch/x86/boot/bzImage is ready (#1)
ERROR: "__media_device_usb_init" [drivers/media/usb/siano/smsusb.ko] undefined!
ERROR: "__media_device_usb_init" [drivers/media/usb/em28xx/em28xx.ko] undefined!
ERROR: "__media_device_usb_init" [drivers/media/usb/dvb-usb/dvb-usb.ko] undefined!
ERROR: "__media_device_usb_init" [drivers/media/usb/dvb-usb-v2/dvb_usb_v2.ko] undefined!
ERROR: "__media_device_usb_init" [drivers/media/usb/cx231xx/cx231xx.ko] undefined!
ERROR: "__media_device_usb_init" [drivers/media/usb/au0828/au0828.ko] undefined!
scripts/Makefile.modpost:91: recipe for target '__modpost' failed
make[6]: *** [__modpost] Error 1
Makefile:1147: recipe for target 'modules' failed
[...]

I've attached my gzipped kernel configs for amd64 and i386.

Regards
Stefan Lippers-Hollmann

Attachment: config-686.gz
Description: application/gzip

Attachment: config-amd64.gz
Description: application/gzip

Attachment: pgpS93OSTM_6z.pgp
Description: Digitale Signatur von OpenPGP