Skip to content

Commit

Permalink
[media] dvb_usb_v2: restore .firmware - pointer to name
Browse files Browse the repository at this point in the history
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: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Antti Palosaari authored and Mauro Carvalho Chehab committed Aug 4, 2012
1 parent 6492167 commit 005bc3f
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
7 changes: 4 additions & 3 deletions drivers/media/dvb/dvb-usb/dvb_usb.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 *);
Expand Down
10 changes: 7 additions & 3 deletions drivers/media/dvb/dvb-usb/dvb_usb_firmware.c
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,13 @@ int dvb_usb_download_firmware(struct dvb_usb_device *d)
const struct firmware *fw = NULL;
const char *name;

ret = d->props.get_firmware_name(d, &name);
if (ret < 0)
return ret;
/* 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) {
Expand Down

0 comments on commit 005bc3f

Please sign in to comment.