[media] stv090x: remove export symbol for stv090x_set_gpio()
commita2ea5561173f5c2c14e6050b261d225acd99fa08
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>
Wed, 26 Nov 2014 13:07:41 +0000 (26 10:07 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Thu, 4 Dec 2014 15:52:45 +0000 (4 13:52 -0200)
treecdff8c08c5d0a7c5b321fd3427a18c271e5aefed
parent134e7e1cb378c438cc30169313888fb3ac3b6379
[media] stv090x: remove export symbol for stv090x_set_gpio()

Drivers that use dvb_attach can have just one exported symbol,
or they will cause compilation breakages depending on the
selected frontends.

As Jim reported:
drivers/built-in.o: In function `technisat_usb2_set_voltage':
technisat-usb2.c:(.text+0x3b4919): undefined reference to `stv090x_set_gpio'
make: *** [vmlinux] Error 1

That happens because, on his configuration, the configuration
is:

CONFIG_DVB_USB=y
CONFIG_DVB_STV090x=m

Luis proposed ar way to fix, but that would just force the
STV090x to be selected, even if one wants to use a device
with a different frontend.

Instead, let's do the right thing: move set_gpio to the
configuration structure and fill it during dvb_attach().

This way, the driver can still call it, and dvb_attach()
will load stv090x module only if the device really needs it.

Reported by: Jim Davis <jim.epost@gmail.com>

Cc: Luis Rodriguez <mcgrof@suse.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/dvb-frontends/stv090x.c
drivers/media/dvb-frontends/stv090x.h
drivers/media/usb/dvb-usb/technisat-usb2.c