Commit 005bc3fc authored by Antti Palosaari's avatar Antti Palosaari Committed by Mauro Carvalho Chehab
Browse files

[media] dvb_usb_v2: restore .firmware - pointer to name



Most commonly only one firmware is used by the driver
and it is not needed to selected run time. So restore
old functionality but allow .get_firmware_name() callback
to override it.

Signed-off-by: default avatarAntti Palosaari <crope@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 64921670
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -219,12 +219,13 @@ struct dvb_usb_device_properties {
#define CYPRESS_FX2     3
	int        usb_ctrl;

	int size_of_priv;

	const char *firmware;
	int (*get_firmware_name) (struct dvb_usb_device *, const char **);
#define RECONNECTS_USB                  1
	int (*download_firmware) (struct dvb_usb_device *,
			const struct firmware *);
	int (*get_firmware_name) (struct dvb_usb_device *, const char **);

	int size_of_priv;

	int num_adapters;
	int (*get_adapter_count) (struct dvb_usb_device *);
+7 −3
Original line number Diff line number Diff line
@@ -96,9 +96,13 @@ int dvb_usb_download_firmware(struct dvb_usb_device *d)
	const struct firmware *fw = NULL;
	const char *name;

	/* resolve firmware name */
	name = d->props.firmware;
	if (d->props.get_firmware_name) {
		ret = d->props.get_firmware_name(d, &name);
		if (ret < 0)
			return ret;
	}

	ret = request_firmware(&fw, name, &d->udev->dev);
	if (ret != 0) {