From: Antti Palosaari <crope@iki.fi>
To: Hans-Frieder Vogt <hfvogt@gmx.net>
Cc: linux-media@vger.kernel.org
Subject: Re: [PATCH RFC 05/17] fc0012: use struct for driver config
Date: Tue, 01 Jan 2013 23:54:30 +0200 [thread overview]
Message-ID: <50E35B16.4080503@iki.fi> (raw)
In-Reply-To: <1355082988-6211-5-git-send-email-crope@iki.fi>
Hans-Frieder,
Care to ack fc0012 related changes from that patch serie?
http://git.linuxtv.org/anttip/media_tree.git/shortlog/refs/heads/af9035
6cfc01f fc0012: remove unused callback and correct one comment
2e9fffb fc0012: use Kernel dev_foo() logging
909d2c0 fc0012: rework attach() to check chip id and I/O errors
4a6831e fc0012: use config directly from the config struct
52728ff fc0012: enable clock output on attach()
b6262d2 fc0012: add RF loop through
cb5bd3d fc0012: use struct for driver config
I will pull request these in next days anyway.
regards
Antti
On 12/09/2012 09:56 PM, Antti Palosaari wrote:
> I need even more configuration options and overloading dvb_attach()
> for all those sounds quite stupid. Due to that switch struct and make
> room for new options.
>
> Cc: Hans-Frieder Vogt <hfvogt@gmx.net>
> Signed-off-by: Antti Palosaari <crope@iki.fi>
> ---
> drivers/media/tuners/fc0012.c | 9 ++++-----
> drivers/media/tuners/fc0012.h | 20 ++++++++++++++++----
> drivers/media/usb/dvb-usb-v2/af9035.c | 10 ++++++++--
> drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 7 ++++++-
> 4 files changed, 34 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/media/tuners/fc0012.c b/drivers/media/tuners/fc0012.c
> index 308135a..5ede0c0 100644
> --- a/drivers/media/tuners/fc0012.c
> +++ b/drivers/media/tuners/fc0012.c
> @@ -436,8 +436,7 @@ static const struct dvb_tuner_ops fc0012_tuner_ops = {
> };
>
> struct dvb_frontend *fc0012_attach(struct dvb_frontend *fe,
> - struct i2c_adapter *i2c, u8 i2c_address, int dual_master,
> - enum fc001x_xtal_freq xtal_freq)
> + struct i2c_adapter *i2c, const struct fc0012_config *cfg)
> {
> struct fc0012_priv *priv = NULL;
>
> @@ -446,9 +445,9 @@ struct dvb_frontend *fc0012_attach(struct dvb_frontend *fe,
> return NULL;
>
> priv->i2c = i2c;
> - priv->dual_master = dual_master;
> - priv->addr = i2c_address;
> - priv->xtal_freq = xtal_freq;
> + priv->dual_master = cfg->dual_master;
> + priv->addr = cfg->i2c_address;
> + priv->xtal_freq = cfg->xtal_freq;
>
> info("Fitipower FC0012 successfully attached.");
>
> diff --git a/drivers/media/tuners/fc0012.h b/drivers/media/tuners/fc0012.h
> index 4dbd5ef..41946f8 100644
> --- a/drivers/media/tuners/fc0012.h
> +++ b/drivers/media/tuners/fc0012.h
> @@ -24,17 +24,29 @@
> #include "dvb_frontend.h"
> #include "fc001x-common.h"
>
> +struct fc0012_config {
> + /*
> + * I2C address
> + */
> + u8 i2c_address;
> +
> + /*
> + * clock
> + */
> + enum fc001x_xtal_freq xtal_freq;
> +
> + int dual_master;
> +};
> +
> #if defined(CONFIG_MEDIA_TUNER_FC0012) || \
> (defined(CONFIG_MEDIA_TUNER_FC0012_MODULE) && defined(MODULE))
> extern struct dvb_frontend *fc0012_attach(struct dvb_frontend *fe,
> struct i2c_adapter *i2c,
> - u8 i2c_address, int dual_master,
> - enum fc001x_xtal_freq xtal_freq);
> + const struct fc0012_config *cfg);
> #else
> static inline struct dvb_frontend *fc0012_attach(struct dvb_frontend *fe,
> struct i2c_adapter *i2c,
> - u8 i2c_address, int dual_master,
> - enum fc001x_xtal_freq xtal_freq)
> + const struct fc0012_config *cfg)
> {
> printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
> return NULL;
> diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c
> index d1beb7f..6cf9ad5 100644
> --- a/drivers/media/usb/dvb-usb-v2/af9035.c
> +++ b/drivers/media/usb/dvb-usb-v2/af9035.c
> @@ -900,6 +900,12 @@ static const struct fc2580_config af9035_fc2580_config = {
> .clock = 16384000,
> };
>
> +static const struct fc0012_config af9035_fc0012_config = {
> + .i2c_address = 0x63,
> + .xtal_freq = FC_XTAL_36_MHZ,
> + .dual_master = 1,
> +};
> +
> static int af9035_tuner_attach(struct dvb_usb_adapter *adap)
> {
> struct state *state = adap_to_priv(adap);
> @@ -1043,8 +1049,8 @@ static int af9035_tuner_attach(struct dvb_usb_adapter *adap)
>
> usleep_range(10000, 50000);
>
> - fe = dvb_attach(fc0012_attach, adap->fe[0], &d->i2c_adap, 0x63,
> - 1, FC_XTAL_36_MHZ);
> + fe = dvb_attach(fc0012_attach, adap->fe[0], &d->i2c_adap,
> + &af9035_fc0012_config);
> break;
> default:
> fe = NULL;
> diff --git a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
> index a4c302d..eddda69 100644
> --- a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
> +++ b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
> @@ -835,6 +835,11 @@ static struct tua9001_config rtl2832u_tua9001_config = {
> .i2c_addr = 0x60,
> };
>
> +static const struct fc0012_config rtl2832u_fc0012_config = {
> + .i2c_address = 0x63, /* 0xc6 >> 1 */
> + .xtal_freq = FC_XTAL_28_8_MHZ,
> +};
> +
> static int rtl2832u_tuner_attach(struct dvb_usb_adapter *adap)
> {
> int ret;
> @@ -847,7 +852,7 @@ static int rtl2832u_tuner_attach(struct dvb_usb_adapter *adap)
> switch (priv->tuner) {
> case TUNER_RTL2832_FC0012:
> fe = dvb_attach(fc0012_attach, adap->fe[0],
> - &d->i2c_adap, 0xc6>>1, 0, FC_XTAL_28_8_MHZ);
> + &d->i2c_adap, &rtl2832u_fc0012_config);
>
> /* since fc0012 includs reading the signal strength delegate
> * that to the tuner driver */
>
--
http://palosaari.fi/
next prev parent reply other threads:[~2013-01-01 21:55 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-09 19:56 [PATCH RFC 01/17] af9033: add support for Fitipower FC0012 tuner Antti Palosaari
2012-12-09 19:56 ` [PATCH RFC 02/17] af9035: support for Fitipower FC0012 tuner devices Antti Palosaari
2012-12-09 19:56 ` [PATCH RFC 03/17] af9035: dual mode support Antti Palosaari
2012-12-09 19:56 ` =?y?q?=5BPATCH=20RFC=2004/17=5D=20af9035=3A=20dual=20mode=20related=20changes?= Antti Palosaari
2012-12-09 19:56 ` [PATCH RFC 05/17] fc0012: use struct for driver config Antti Palosaari
2013-01-01 21:54 ` Antti Palosaari [this message]
2013-01-02 21:40 ` Hans-Frieder Vogt
2012-12-09 19:56 ` [PATCH RFC 06/17] fc0012: add RF loop through Antti Palosaari
2012-12-09 19:56 ` [PATCH RFC 07/17] fc0012: enable clock output on attach() Antti Palosaari
2012-12-09 19:56 ` [PATCH RFC 08/17] af9035: add support for fc0012 dual tuner configuration Antti Palosaari
2012-12-09 19:56 ` [PATCH RFC 09/17] fc0012: use config directly from the config struct Antti Palosaari
2012-12-09 19:56 ` [PATCH RFC 10/17] fc0012: rework attach() to check chip id and I/O errors Antti Palosaari
2012-12-09 19:56 ` [PATCH RFC 11/17] fc0012: use Kernel dev_foo() logging Antti Palosaari
2012-12-09 19:56 ` [PATCH RFC 12/17] fc0012: remove unused callback and correct one comment Antti Palosaari
2012-12-09 19:56 ` [PATCH RFC 13/17] af9033: update demod init sequence Antti Palosaari
2012-12-09 19:56 ` [PATCH RFC 14/17] af9033: update tua9001 " Antti Palosaari
2012-12-09 19:56 ` [PATCH RFC 15/17] af9033: update fc0011 " Antti Palosaari
2012-12-09 19:56 ` [PATCH RFC 16/17] af9033: update fc2580 " Antti Palosaari
2012-12-09 19:56 ` [PATCH RFC 17/17] af9035: print warning when firmware is bad Antti Palosaari
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50E35B16.4080503@iki.fi \
--to=crope@iki.fi \
--cc=hfvogt@gmx.net \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).