From 183f126bfed0c1285820c0530dc521522b3189c1 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Tue, 2 Oct 2012 15:35:27 -0300 Subject: [PATCH] --- yaml --- r: 331253 b: refs/heads/master c: 6ae5e060840589f567c1837613e8a9d34fc9188a h: refs/heads/master i: 331251: 35c167bdb17cac568f3ef6734ef25b0407efa6d8 v: v3 --- [refs] | 2 +- trunk/drivers/media/usb/em28xx/em28xx-cards.c | 22 +++++++++---------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index 578c9be0b8d4..9e7229cdf973 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 351d18786e1fa45d1cd20bad03e445dbb50e0912 +refs/heads/master: 6ae5e060840589f567c1837613e8a9d34fc9188a diff --git a/trunk/drivers/media/usb/em28xx/em28xx-cards.c b/trunk/drivers/media/usb/em28xx/em28xx-cards.c index ca62b9981380..ab98d0845861 100644 --- a/trunk/drivers/media/usb/em28xx/em28xx-cards.c +++ b/trunk/drivers/media/usb/em28xx/em28xx-cards.c @@ -2875,12 +2875,20 @@ static void em28xx_card_setup(struct em28xx *dev) } -#if defined(CONFIG_MODULES) && defined(MODULE) static void request_module_async(struct work_struct *work) { struct em28xx *dev = container_of(work, struct em28xx, request_module_wk); + /* + * The em28xx extensions can be modules or builtin. If the + * modules are already loaded or are built in, those extensions + * can be initialised right now. Otherwise, the module init + * code will do it. + */ + em28xx_init_extension(dev); + +#if defined(CONFIG_MODULES) && defined(MODULE) if (dev->has_audio_class) request_module("snd-usb-audio"); else if (dev->has_alsa_audio) @@ -2890,6 +2898,7 @@ static void request_module_async(struct work_struct *work) request_module("em28xx-dvb"); if (dev->board.ir_codes && !disable_ir) request_module("em28xx-rc"); +#endif /* CONFIG_MODULES */ } static void request_modules(struct em28xx *dev) @@ -2902,10 +2911,6 @@ static void flush_request_modules(struct em28xx *dev) { flush_work_sync(&dev->request_module_wk); } -#else -#define request_modules(dev) -#define flush_request_modules(dev) -#endif /* CONFIG_MODULES */ /* * em28xx_release_resources() @@ -3324,13 +3329,6 @@ static int em28xx_usb_probe(struct usb_interface *interface, */ mutex_unlock(&dev->lock); - /* - * These extensions can be modules. If the modules are already - * loaded then we can initialise the device now, otherwise we - * will initialise it when the modules load instead. - */ - em28xx_init_extension(dev); - return 0; unlock_and_free: