media: em28xx-dvb: simplify DVB module probing logic
authorMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 2 Mar 2018 14:23:04 +0000 (09:23 -0500)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 6 Mar 2018 10:08:43 +0000 (05:08 -0500)
commitad32495b1513fe8cbab717411b9cd8d2d285de30
tree60ee8af615462515a1bc05a16f0210ad91185169
parent8f569c0b4e6b6bd5db1d09551b2df87d912f124e
media: em28xx-dvb: simplify DVB module probing logic

The module probing logic there is a way more complex than
it should be, and requires some special magic to avoid
stack overflows when KASAN is enabled.

Solve it by creating ancillary functions to setup the
platform data and request module.

Now, the probing functions are cleaner and easier to understand.

As a side effect, the size of the module was reduced by
about 9.7% on x86_64:

Before this patch:
   text    data     bss     dec     hex filename
  51090   14192      96   65378    ff62 drivers/media/usb/em28xx/em28xx-dvb.o

After this patch:
   text    data     bss     dec     hex filename
  44743   14192      96   59031    e697 drivers/media/usb/em28xx/em28xx-dvb.o

Tested with a PCTV 461e device.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/usb/em28xx/em28xx-dvb.c