firedtv: drop obsolete backend abstraction
PATCH 1/1 firedtv: drop obsolete backend abstraction
Since the drivers/ieee1394/ backend was removed from firedtv, its I/O no longer needs to be abstracted as exchangeable backend methods.
Also, ieee1394 variants of module and device probe and removal are no longer there. Move module probe and removal into firedtv-fw.c where device probe and removal are implemented.
Signed-off-by Stefan Richter <[email protected]>
---
Applies after Hans' "firedtv: remove dependency on the deleted ieee1394 stack.",
http://git.linuxtv.org/hverkuil/media_tree.git?a=commitdiff;h=f02c316436eef3baf349c489545edc7ade419ff6
drivers/media/dvb/firewire/firedtv-avc.c | 15 +- drivers/media/dvb/firewire/firedtv-dvb.c | 130 -------------------- drivers/media/dvb/firewire/firedtv-fe.c | 8 drivers/media/dvb/firewire/firedtv-fw.c | 146 +++++++++++++++++++---- drivers/media/dvb/firewire/firedtv.h | 31 ++--- 5 files changed, 140 insertions(+), 190 deletions(-)
drivers/media/dvb/firewire/firedtv-avc.c +5 -10
@@ -241,8 +241,8 @@ static int avc_write(struct firedtv *fdtif (unlikely (avc_debug))debug_fcp (fdtv->avc_data, fdtv->avc_data_length); - err = fdtv->backend->write (fdtv,FCP_COMMAND_REGISTER , - fdtv->avc_data, fdtv->avc_data_length); + err =fdtv_write (fdtv,FCP_COMMAND_REGISTER , + fdtv->avc_data, fdtv->avc_data_length);if (err) {dev_err (fdtv->device,"FCP command write failed\n" );
@@ -1322,7 +1322,7 @@ static int cmp_read(struct firedtv *fdtvmutex_lock (&fdtv->avc_mutex); - ret = fdtv->backend->read (fdtv, addr, data); + ret =fdtv_read (fdtv, addr, data);if (ret <0 )dev_err (fdtv->device,"CMP: read I/O error\n" );
@@ -1340,7 +1340,7 @@ static int cmp_lock(struct firedtv *fdtv/* data[] is stack-allocated and should not be DMA-mapped. */ memcpy (fdtv->avc_data, data,8 ); - ret = fdtv->backend->lock (fdtv, addr, fdtv->avc_data); + ret =fdtv_lock (fdtv, addr, fdtv->avc_data);if (ret <0 )dev_err (fdtv->device,"CMP: lock I/O error\n" );else
@@ -1405,10 +1405,7 @@ repeat:/* FIXME: this is for the worst case - optimize */ set_opcr_overhead_id (opcr,0 ); -/* -* FIXME: allocate isochronous channel and bandwidth at IRM -* fdtv->backend->alloc_resources(fdtv, channels_mask, bw); -*/ +/* FIXME: allocate isochronous channel and bandwidth at IRM */ }set_opcr_p2p_connections (opcr,get_opcr_p2p_connections (*opcr) +1 );
@@ -1424,8 +1421,6 @@ repeat:/* * FIXME: if old_opcr.P2P_Connections > 0, * deallocate isochronous channel and bandwidth at IRM -* if (...) -* fdtv->backend->dealloc_resources(fdtv, channel, bw); */ if (++attempts <6 )/* arbitrary limit */
drivers/media/dvb/firewire/firedtv-dvb.c +3 -127
157 lines not on this page · raw message
drivers/media/dvb/firewire/firedtv-fe.c +4 -4
@@ -36,14 +36,14 @@ static int fdtv_dvb_init(struct dvb_fronreturn err; } -return fdtv->backend->start_iso (fdtv); +return fdtv_start_iso (fdtv); }static int fdtv_sleep (struct dvb_frontend *fe) {struct firedtv *fdtv = fe->sec_priv; - fdtv->backend->stop_iso (fdtv); +fdtv_stop_iso (fdtv);cmp_break_pp_connection (fdtv, fdtv->subunit, fdtv->isochannel); fdtv->isochannel =-1 ;return 0 ;
@@ -165,7 +165,7 @@ static int fdtv_set_property(struct dvb_return 0 ; } -void fdtv_frontend_init (struct firedtv *fdtv) +void fdtv_frontend_init (struct firedtv *fdtv,const char *name) {struct dvb_frontend_ops *ops = &fdtv->fe.ops;struct dvb_frontend_info *fi = &ops->info;
@@ -266,7 +266,7 @@ void fdtv_frontend_init(struct firedtv *dev_err (fdtv->device,"no frontend for model type %d\n" , fdtv->type); } -strcpy (fi->name, fdtv_model_names[fdtv->type]); +strcpy (fi->name, name); fdtv->fe.dvb = &fdtv->adapter; fdtv->fe.sec_priv = fdtv;
drivers/media/dvb/firewire/firedtv-fw.c +118 -28
258 lines not on this page · raw message
drivers/media/dvb/firewire/firedtv.h +10 -21
@@ -70,15 +70,7 @@ enum model_type {struct device ;struct input_dev ; -struct firedtv ; - -struct firedtv_backend { -int (*lock)(struct firedtv *fdtv,u64 addr,void *data); -int (*read)(struct firedtv *fdtv,u64 addr,void *data); -int (*write)(struct firedtv *fdtv,u64 addr,void *data,size_t len); -int (*start_iso)(struct firedtv *fdtv); -void (*stop_iso)(struct firedtv *fdtv); -}; +struct fdtv_ir_context ;struct firedtv {struct device *device;
@@ -104,12 +96,11 @@ struct firedtv {enum model_type type;char subunit;char isochannel; +struct fdtv_ir_context *ir_context; +fe_sec_voltage_t voltage;fe_sec_tone_mode_t tone; -const struct firedtv_backend *backend; -void *backend_data; -struct mutex demux_mutex;unsigned long channel_active;u16 channel_pid[16 ];
@@ -149,20 +140,18 @@ void fdtv_ca_release(struct firedtv *fdt/* firedtv-dvb.c */ int fdtv_start_feed (struct dvb_demux_feed *dvbdmxfeed);int fdtv_stop_feed (struct dvb_demux_feed *dvbdmxfeed); -int fdtv_dvb_register (struct firedtv *fdtv); +int fdtv_dvb_register (struct firedtv *fdtv,const char *name);void fdtv_dvb_unregister (struct firedtv *fdtv); -struct firedtv *fdtv_alloc (struct device *dev, -const struct firedtv_backend *backend, -const char *name,size_t name_len); -extern const char *fdtv_model_names[]; -extern const struct ieee1394_device_id fdtv_id_table[];/* firedtv-fe.c */ -void fdtv_frontend_init (struct firedtv *fdtv); +void fdtv_frontend_init (struct firedtv *fdtv,const char *name);/* firedtv-fw.c */ -int fdtv_fw_init (void ); -void fdtv_fw_exit (void ); +int fdtv_lock (struct firedtv *fdtv,u64 addr,void *data); +int fdtv_read (struct firedtv *fdtv,u64 addr,void *data); +int fdtv_write (struct firedtv *fdtv,u64 addr,void *data,size_t len); +int fdtv_start_iso (struct firedtv *fdtv); +void fdtv_stop_iso (struct firedtv *fdtv);/* firedtv-rc.c */ #ifdef CONFIG_DVB_FIREDTV_INPUT
Signature · 3 lines
Stefan Richter -=====-==-== --=- --==- http://arcgraph.de/sr/