[RFC / TESTERS WANTED] tuner callback refactoring

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This creates a standardized mechanism for callback functions within
the tuner / frontend drivers that can be used by all components
withing a "frontend" object to call back to the bridge / adapter
driver.

I have removed the duplicated tuner_callback function pointers from
all of the tuner driver configuration and private state structures,
replacing them with a general-purpose callback pointer within struct
dvb_frontend.

A new parameter is added to the callback function, called "component".
This allows us to use this callback pointer by frontend components
other than the tuner, if need be. So far, this is only used by tuner
drivers, but if other drivers need this functionality in the future,
this leaves room for it.

Please test my changes to ensure proper operation. Users should not
expect any change in functionality -- this should behave exactly the
same as the master v4l-dvb branch.

I have already tested various devices that use xc3028 and xc5000.  I
don't have access to DVB-T signals today to test the tda8275 /
tda8275a, so I'm especially interested in hearing feedback from users
testing devices that use those tuners.

Please reply to this thread with any comments, or details of bugs that
this change may have caused.  If you find a bug, please ensure that
you do not experience the same issue in today's master v4l-dvb branch
before posting.

I will be leaving for a short vacation in a few minutes, so I will
respond when I get back on Monday.

Users of devices that use Xceive and Philips silicon tuners, please
test the following changes in my mercurial tree:

http://linuxtv.org/hg/~mkrufky/fe-callback

- add a general-purpose callback pointer to struct dvb_frontend
- convert tuner drivers to use dvb_frontend->callback

 drivers/media/common/tuners/tda827x.c       |   12 +-
 drivers/media/common/tuners/tda827x.h       |    1
 drivers/media/common/tuners/tda8290.c       |    4
 drivers/media/common/tuners/tda8290.h       |    1
 drivers/media/common/tuners/tuner-xc2028.c  |   41 +++++-----
 drivers/media/common/tuners/tuner-xc2028.h  |    2
 drivers/media/common/tuners/xc5000.c        |    8 -
 drivers/media/common/tuners/xc5000.h        |    2
 drivers/media/dvb/dvb-core/dvb_frontend.h   |    2
 drivers/media/dvb/dvb-usb/cxusb.c           |    7 +
 drivers/media/dvb/dvb-usb/dib0700_devices.c |    8 +
 drivers/media/video/au0828/au0828-cards.c   |    2
 drivers/media/video/au0828/au0828-dvb.c     |    3
 drivers/media/video/au0828/au0828.h         |    3
 drivers/media/video/cx18/cx18-gpio.c        |    2
 drivers/media/video/cx18/cx18-gpio.h        |    2
 drivers/media/video/cx23885/cx23885-cards.c |    2
 drivers/media/video/cx23885/cx23885-dvb.c   |   12 --
 drivers/media/video/cx23885/cx23885.h       |    2
 drivers/media/video/cx88/cx88-cards.c       |   24 ++++-
 drivers/media/video/cx88/cx88-dvb.c         |   40 ---------
 drivers/media/video/cx88/cx88.h             |    2
 drivers/media/video/em28xx/em28xx-cards.c   |    2
 drivers/media/video/em28xx/em28xx-dvb.c     |    3
 drivers/media/video/em28xx/em28xx.h         |    2
 drivers/media/video/ivtv/ivtv-gpio.c        |    2
 drivers/media/video/ivtv/ivtv-gpio.h        |    2
 drivers/media/video/saa7134/saa7134-cards.c |    2
 drivers/media/video/saa7134/saa7134-dvb.c   |    7 -
 drivers/media/video/saa7134/saa7134.h       |    2
 drivers/media/video/tuner-core.c            |   10 --
 include/media/tuner.h                       |    2
 32 files changed, 92 insertions(+), 124 deletions(-)

Thanks,

Mike Krufky

_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux