diff options
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/dvb-core/dvb_ca_en50221.h | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/drivers/media/dvb-core/dvb_ca_en50221.h b/drivers/media/dvb-core/dvb_ca_en50221.h index aba3b4fbd704..9ec2adc3ea11 100644 --- a/drivers/media/dvb-core/dvb_ca_en50221.h +++ b/drivers/media/dvb-core/dvb_ca_en50221.h @@ -39,40 +39,43 @@ -/* Structure describing a CA interface */ +/** + * struct dvb_ca_en50221- Structure describing a CA interface + * + * @owner: the module owning this structure + * @read_attribute_mem: function for reading attribute memory on the CAM + * @write_attribute_mem: function for writing attribute memory on the CAM + * @read_cam_control: function for reading the control interface on the CAM + * @write_cam_control: function for reading the control interface on the CAM + * @slot_reset: function to reset the CAM slot + * @slot_shutdown: function to shutdown a CAM slot + * @slot_ts_enable: function to enable the Transport Stream on a CAM slot + * @poll_slot_status: function to poll slot status. Only necessary if + * DVB_CA_FLAG_EN50221_IRQ_CAMCHANGE is not set. + * @data: private data, used by caller. + * @private: Opaque data used by the dvb_ca core. Do not modify! + * + * NOTE: the read_*, write_* and poll_slot_status functions will be + * called for different slots concurrently and need to use locks where + * and if appropriate. There will be no concurrent access to one slot. + */ struct dvb_ca_en50221 { - /* the module owning this structure */ - struct module* owner; - /* NOTE: the read_*, write_* and poll_slot_status functions will be - * called for different slots concurrently and need to use locks where - * and if appropriate. There will be no concurrent access to one slot. - */ - /* functions for accessing attribute memory on the CAM */ - int (*read_attribute_mem)(struct dvb_ca_en50221* ca, int slot, int address); int (*write_attribute_mem)(struct dvb_ca_en50221* ca, int slot, int address, u8 value); - /* functions for accessing the control interface on the CAM */ int (*read_cam_control)(struct dvb_ca_en50221* ca, int slot, u8 address); int (*write_cam_control)(struct dvb_ca_en50221* ca, int slot, u8 address, u8 value); - /* Functions for controlling slots */ int (*slot_reset)(struct dvb_ca_en50221* ca, int slot); int (*slot_shutdown)(struct dvb_ca_en50221* ca, int slot); int (*slot_ts_enable)(struct dvb_ca_en50221* ca, int slot); - /* - * Poll slot status. - * Only necessary if DVB_CA_FLAG_EN50221_IRQ_CAMCHANGE is not set - */ int (*poll_slot_status)(struct dvb_ca_en50221* ca, int slot, int open); - /* private data, used by caller */ void* data; - /* Opaque data used by the dvb_ca core. Do not modify! */ void* private; }; |