From: Antti Palosaari Date: Wed, 23 May 2012 13:44:15 +0000 (-0300) Subject: [media] dvb_usb_v2: add .init() callback X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=dc78693706b3efc7e1f7647a35d29736e6d2be3f;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git [media] dvb_usb_v2: add .init() callback Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/dvb/dvb-usb/dvb_usb.h b/drivers/media/dvb/dvb-usb/dvb_usb.h index 95caac116e8e..15b08b777e6d 100644 --- a/drivers/media/dvb/dvb-usb/dvb_usb.h +++ b/drivers/media/dvb/dvb-usb/dvb_usb.h @@ -239,6 +239,8 @@ enum dvb_usb_mode { * @read_mac_address: called to read the MAC address of the device. * @identify_state: called to determine the state (cold or warm), when it * is not distinguishable by the USB IDs. + * @init: called after adapters are created in order to finalize device + * configuration. * * @rc: remote controller properties * @@ -283,6 +285,7 @@ struct dvb_usb_device_properties { int (*read_mac_address) (struct dvb_usb_device *, u8 []); int (*identify_state) (struct usb_device *, struct dvb_usb_device_properties *, struct dvb_usb_device_description **, int *); + int (*init) (struct dvb_usb_device *); struct { enum dvb_usb_mode mode; /* Drivers shouldn't touch on it */ diff --git a/drivers/media/dvb/dvb-usb/dvb_usb_init.c b/drivers/media/dvb/dvb-usb/dvb_usb_init.c index 4ae30451eb9e..0d769a1c1807 100644 --- a/drivers/media/dvb/dvb-usb/dvb_usb_init.c +++ b/drivers/media/dvb/dvb-usb/dvb_usb_init.c @@ -164,6 +164,9 @@ static int dvb_usb_init(struct dvb_usb_device *d, short *adapter_nums) return ret; } + if (d->props.init) + d->props.init(d); + if ((ret = dvb_usb_remote_init(d))) err("could not initialize remote control.");