From: Antti Palosaari <crope@iki.fi>
To: Matthias Schwarzott <zzam@gentoo.org>,
linux-media@vger.kernel.org, mchehab@osg.samsung.com
Subject: Re: [PATCH V3 08/13] cx231xx: remember status of i2c port_3 switch
Date: Thu, 02 Oct 2014 08:34:32 +0300 [thread overview]
Message-ID: <542CE3E8.2050705@iki.fi> (raw)
In-Reply-To: <1412227265-17453-9-git-send-email-zzam@gentoo.org>
On 10/02/2014 08:21 AM, Matthias Schwarzott wrote:
> This is used later for is_tuner function that switches i2c behaviour for
> some tuners.
>
> V2: Add comments about possible improvements for port_3 switch function.
>
> Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
> ---
> drivers/media/usb/cx231xx/cx231xx-avcore.c | 10 ++++++++++
> drivers/media/usb/cx231xx/cx231xx.h | 1 +
> 2 files changed, 11 insertions(+)
>
> diff --git a/drivers/media/usb/cx231xx/cx231xx-avcore.c b/drivers/media/usb/cx231xx/cx231xx-avcore.c
> index 40a6987..148b5fa 100644
> --- a/drivers/media/usb/cx231xx/cx231xx-avcore.c
> +++ b/drivers/media/usb/cx231xx/cx231xx-avcore.c
> @@ -1272,6 +1272,12 @@ int cx231xx_enable_i2c_port_3(struct cx231xx *dev, bool is_port_3)
>
> if (dev->board.dont_use_port_3)
> is_port_3 = false;
> +
> + /* Should this code check dev->port_3_switch_enabled first */
> + /* to skip unnecessary reading of the register? */
> + /* If yes, the flag dev->port_3_switch_enabled must be initialized */
> + /* correctly. */
That multiline comment is violates Linux CodingStyle. See
Documentation/CodingStyle
> +
> status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER,
> PWR_CTL_EN, value, 4);
> if (status < 0)
> @@ -1294,6 +1300,10 @@ int cx231xx_enable_i2c_port_3(struct cx231xx *dev, bool is_port_3)
> status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER,
> PWR_CTL_EN, value, 4);
>
> + /* remember status of the switch for usage in is_tuner */
> + if (status >= 0)
> + dev->port_3_switch_enabled = is_port_3;
> +
> return status;
>
> }
> diff --git a/drivers/media/usb/cx231xx/cx231xx.h b/drivers/media/usb/cx231xx/cx231xx.h
> index f03338b..8a3c97b 100644
> --- a/drivers/media/usb/cx231xx/cx231xx.h
> +++ b/drivers/media/usb/cx231xx/cx231xx.h
> @@ -629,6 +629,7 @@ struct cx231xx {
> /* I2C adapters: Master 1 & 2 (External) & Master 3 (Internal only) */
> struct cx231xx_i2c i2c_bus[3];
> unsigned int xc_fw_load_done:1;
> + unsigned int port_3_switch_enabled:1;
> /* locks */
> struct mutex gpio_i2c_lock;
> struct mutex i2c_lock;
>
I trust functionality is correct. However, I expected to see mux
switching logic inside mux select() / deselect(), maybe with caching mux
switch position in order to avoid I/O needed for checking mux switch
position.
But as I don't know that driver internals very well, I am not adding
reviewed by tag, which does not mean that is wrong. It is simply because
I don't know.
regards
Antti
--
http://palosaari.fi/
next prev parent reply other threads:[~2014-10-02 5:34 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-02 5:20 cx231xx: Use muxed i2c adapters instead of custom switching Matthias Schwarzott
2014-10-02 5:20 ` [PATCH V3 01/13] cx231xx: let i2c bus scanning use its own i2c_client Matthias Schwarzott
2014-10-02 5:20 ` [PATCH V3 02/13] cx231xx: use own i2c_client for eeprom access Matthias Schwarzott
2014-10-02 5:20 ` [PATCH V3 03/13] cx231xx: delete i2c_client per bus Matthias Schwarzott
2014-10-02 5:20 ` [PATCH V3 04/13] cx231xx: give each master i2c bus a seperate name Matthias Schwarzott
2014-10-02 5:25 ` Antti Palosaari
2014-10-02 5:20 ` [PATCH V3 05/13] cx231xx: Modifiy the symbolic constants for i2c ports and describe Matthias Schwarzott
2014-10-02 5:20 ` [PATCH V3 06/13] cx231xx: Use symbolic constants for i2c ports instead of numbers Matthias Schwarzott
2014-10-02 5:20 ` [PATCH V3 07/13] cx231xx: add wrapper to get the i2c_adapter pointer Matthias Schwarzott
2014-10-02 5:21 ` [PATCH V3 08/13] cx231xx: remember status of i2c port_3 switch Matthias Schwarzott
2014-10-02 5:34 ` Antti Palosaari [this message]
2014-10-02 5:21 ` [PATCH V3 09/13] cx231xx: let is_tuner check the real i2c port and not the i2c master number Matthias Schwarzott
2014-10-02 5:21 ` [PATCH V3 10/13] cx231xx: change usage of I2C_1 to the real i2c port Matthias Schwarzott
2014-10-30 19:27 ` Mauro Carvalho Chehab
2014-10-02 5:21 ` [PATCH V3 11/13] cx231xx: register i2c mux adapters for master1 and use as I2C_1_MUX_1 and I2C_1_MUX_3 Matthias Schwarzott
2014-10-02 5:21 ` [PATCH V3 12/13] cx231xx: drop unconditional port3 switching Matthias Schwarzott
2014-10-02 5:21 ` [PATCH V3 13/13] cx231xx: scan all four existing i2c busses instead of the 3 masters Matthias Schwarzott
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=542CE3E8.2050705@iki.fi \
--to=crope@iki.fi \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@osg.samsung.com \
--cc=zzam@gentoo.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.