[1/2] Store device structure in dvb_register_device
Commit Message
From: Jasmin Jessich <jasmin@anw.at>
The device created by device_create in dvb_register_device was not
available for DVB device drivers.
Added "struct device *dev" to "struct dvb_device" and store the created
device.
Signed-off-by: Jasmin Jessich <jasmin@anw.at>
---
drivers/media/dvb-core/dvbdev.c | 1 +
drivers/media/dvb-core/dvbdev.h | 4 +++-
2 files changed, 4 insertions(+), 1 deletion(-)
@@ -516,6 +516,7 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
__func__, adap->num, dnames[type], id, PTR_ERR(clsdev));
return PTR_ERR(clsdev);
}
+ dvbdev->dev = clsdev;
dprintk("DVB: register adapter%d/%s%d @ minor: %i (0x%02x)\n",
adap->num, dnames[type], id, minor, minor);
@@ -126,10 +126,11 @@ struct dvb_adapter {
* @tsout_num_entities: Number of Transport Stream output entities
* @tsout_entity: array with MC entities associated to each TS output node
* @tsout_pads: array with the source pads for each @tsout_entity
+ * @dev: pointer to struct device that is associated with the dvb device
*
* This structure is used by the DVB core (frontend, CA, net, demux) in
* order to create the device nodes. Usually, driver should not initialize
- * this struct diretly.
+ * this struct directly.
*/
struct dvb_device {
struct list_head list_head;
@@ -162,6 +163,7 @@ struct dvb_device {
#endif
void *priv;
+ struct device *dev;
};
/**