All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Stephen Boyd <swboyd@chromium.org>
Cc: Wolfram Sang <wsa@the-dreams.de>,
	linux-kernel@vger.kernel.org, Andy Gross <agross@kernel.org>,
	linux-i2c@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	Alok Chauhan <alokc@codeaurora.org>,
	Douglas Anderson <dianders@chromium.org>,
	Brendan Higgins <brendanhiggins@google.com>
Subject: Re: [PATCH v2 2/3] i2c: qcom-geni: Grow a dev pointer to simplify code
Date: Tue, 10 Mar 2020 12:41:54 -0700	[thread overview]
Message-ID: <20200310194154.GN264362@yoga> (raw)
In-Reply-To: <20200310154358.39367-3-swboyd@chromium.org>

On Tue 10 Mar 08:43 PDT 2020, Stephen Boyd wrote:

> Some lines are long here. Use a struct dev pointer to shorten lines and
> simplify code. The clk_get() call can fail because of EPROBE_DEFER
> problems too, so just remove the error print message because it isn't
> useful. Finally, platform_get_irq() already prints an error so just
> remove that error message.
> 
> Cc: Alok Chauhan <alokc@codeaurora.org>
> Reviewed-by: Douglas Anderson <dianders@chromium.org>
> Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
> Signed-off-by: Stephen Boyd <swboyd@chromium.org>
> ---
>  drivers/i2c/busses/i2c-qcom-geni.c | 57 ++++++++++++++----------------
>  1 file changed, 26 insertions(+), 31 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c
> index 4efca130035a..2f5fb2e83f95 100644
> --- a/drivers/i2c/busses/i2c-qcom-geni.c
> +++ b/drivers/i2c/busses/i2c-qcom-geni.c
> @@ -502,45 +502,40 @@ static int geni_i2c_probe(struct platform_device *pdev)
>  	struct resource *res;
>  	u32 proto, tx_depth;
>  	int ret;
> +	struct device *dev = &pdev->dev;
>  
> -	gi2c = devm_kzalloc(&pdev->dev, sizeof(*gi2c), GFP_KERNEL);
> +	gi2c = devm_kzalloc(dev, sizeof(*gi2c), GFP_KERNEL);
>  	if (!gi2c)
>  		return -ENOMEM;
>  
> -	gi2c->se.dev = &pdev->dev;
> -	gi2c->se.wrapper = dev_get_drvdata(pdev->dev.parent);
> +	gi2c->se.dev = dev;
> +	gi2c->se.wrapper = dev_get_drvdata(dev->parent);
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	gi2c->se.base = devm_ioremap_resource(&pdev->dev, res);
> +	gi2c->se.base = devm_ioremap_resource(dev, res);
>  	if (IS_ERR(gi2c->se.base))
>  		return PTR_ERR(gi2c->se.base);
>  
> -	gi2c->se.clk = devm_clk_get(&pdev->dev, "se");
> -	if (IS_ERR(gi2c->se.clk) && !has_acpi_companion(&pdev->dev)) {
> -		ret = PTR_ERR(gi2c->se.clk);
> -		dev_err(&pdev->dev, "Err getting SE Core clk %d\n", ret);

Afaict this line would still be useful, although it might need the usual
probe deferral exception(?)

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

> -		return ret;
> -	}
> +	gi2c->se.clk = devm_clk_get(dev, "se");
> +	if (IS_ERR(gi2c->se.clk) && !has_acpi_companion(dev))
> +		return PTR_ERR(gi2c->se.clk);
>  
> -	ret = device_property_read_u32(&pdev->dev, "clock-frequency",
> -							&gi2c->clk_freq_out);
> +	ret = device_property_read_u32(dev, "clock-frequency",
> +				       &gi2c->clk_freq_out);
>  	if (ret) {
> -		dev_info(&pdev->dev,
> -			"Bus frequency not specified, default to 100kHz.\n");
> +		dev_info(dev, "Bus frequency not specified, default to 100kHz.\n");
>  		gi2c->clk_freq_out = KHZ(100);
>  	}
>  
> -	if (has_acpi_companion(&pdev->dev))
> -		ACPI_COMPANION_SET(&gi2c->adap.dev, ACPI_COMPANION(&pdev->dev));
> +	if (has_acpi_companion(dev))
> +		ACPI_COMPANION_SET(&gi2c->adap.dev, ACPI_COMPANION(dev));
>  
>  	gi2c->irq = platform_get_irq(pdev, 0);
> -	if (gi2c->irq < 0) {
> -		dev_err(&pdev->dev, "IRQ error for i2c-geni\n");
> +	if (gi2c->irq < 0)
>  		return gi2c->irq;
> -	}
>  
>  	ret = geni_i2c_clk_map_idx(gi2c);
>  	if (ret) {
> -		dev_err(&pdev->dev, "Invalid clk frequency %d Hz: %d\n",
> +		dev_err(dev, "Invalid clk frequency %d Hz: %d\n",
>  			gi2c->clk_freq_out, ret);
>  		return ret;
>  	}
> @@ -549,29 +544,29 @@ static int geni_i2c_probe(struct platform_device *pdev)
>  	init_completion(&gi2c->done);
>  	spin_lock_init(&gi2c->lock);
>  	platform_set_drvdata(pdev, gi2c);
> -	ret = devm_request_irq(&pdev->dev, gi2c->irq, geni_i2c_irq, 0,
> -			       dev_name(&pdev->dev), gi2c);
> +	ret = devm_request_irq(dev, gi2c->irq, geni_i2c_irq, 0,
> +			       dev_name(dev), gi2c);
>  	if (ret) {
> -		dev_err(&pdev->dev, "Request_irq failed:%d: err:%d\n",
> +		dev_err(dev, "Request_irq failed:%d: err:%d\n",
>  			gi2c->irq, ret);
>  		return ret;
>  	}
>  	/* Disable the interrupt so that the system can enter low-power mode */
>  	disable_irq(gi2c->irq);
>  	i2c_set_adapdata(&gi2c->adap, gi2c);
> -	gi2c->adap.dev.parent = &pdev->dev;
> -	gi2c->adap.dev.of_node = pdev->dev.of_node;
> +	gi2c->adap.dev.parent = dev;
> +	gi2c->adap.dev.of_node = dev->of_node;
>  	strlcpy(gi2c->adap.name, "Geni-I2C", sizeof(gi2c->adap.name));
>  
>  	ret = geni_se_resources_on(&gi2c->se);
>  	if (ret) {
> -		dev_err(&pdev->dev, "Error turning on resources %d\n", ret);
> +		dev_err(dev, "Error turning on resources %d\n", ret);
>  		return ret;
>  	}
>  	proto = geni_se_read_proto(&gi2c->se);
>  	tx_depth = geni_se_get_tx_fifo_depth(&gi2c->se);
>  	if (proto != GENI_SE_I2C) {
> -		dev_err(&pdev->dev, "Invalid proto %d\n", proto);
> +		dev_err(dev, "Invalid proto %d\n", proto);
>  		geni_se_resources_off(&gi2c->se);
>  		return -ENXIO;
>  	}
> @@ -581,11 +576,11 @@ static int geni_i2c_probe(struct platform_device *pdev)
>  							true, true, true);
>  	ret = geni_se_resources_off(&gi2c->se);
>  	if (ret) {
> -		dev_err(&pdev->dev, "Error turning off resources %d\n", ret);
> +		dev_err(dev, "Error turning off resources %d\n", ret);
>  		return ret;
>  	}
>  
> -	dev_dbg(&pdev->dev, "i2c fifo/se-dma mode. fifo depth:%d\n", tx_depth);
> +	dev_dbg(dev, "i2c fifo/se-dma mode. fifo depth:%d\n", tx_depth);
>  
>  	gi2c->suspended = 1;
>  	pm_runtime_set_suspended(gi2c->se.dev);
> @@ -595,12 +590,12 @@ static int geni_i2c_probe(struct platform_device *pdev)
>  
>  	ret = i2c_add_adapter(&gi2c->adap);
>  	if (ret) {
> -		dev_err(&pdev->dev, "Error adding i2c adapter %d\n", ret);
> +		dev_err(dev, "Error adding i2c adapter %d\n", ret);
>  		pm_runtime_disable(gi2c->se.dev);
>  		return ret;
>  	}
>  
> -	dev_dbg(&pdev->dev, "Geni-I2C adaptor successfully added\n");
> +	dev_dbg(dev, "Geni-I2C adaptor successfully added\n");
>  
>  	return 0;
>  }
> -- 
> Sent by a computer, using git, on the internet
> 

  reply	other threads:[~2020-03-10 19:42 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-10 15:43 [PATCH v2 0/3] Misc qcom geni i2c driver fixes Stephen Boyd
2020-03-10 15:43 ` [PATCH v2 1/3] i2c: qcom-geni: Let firmware specify irq trigger flags Stephen Boyd
2020-03-10 19:35   ` Bjorn Andersson
2020-03-11  7:30   ` Amit Kucheria
2020-03-13 14:21   ` Wolfram Sang
2020-03-10 15:43 ` [PATCH v2 2/3] i2c: qcom-geni: Grow a dev pointer to simplify code Stephen Boyd
2020-03-10 19:41   ` Bjorn Andersson [this message]
2020-03-11  7:30   ` Amit Kucheria
2020-03-13 14:21   ` Wolfram Sang
2020-03-10 15:43 ` [PATCH v2 3/3] i2c: qcom-geni: Drop of_platform.h include Stephen Boyd
2020-03-10 19:42   ` Bjorn Andersson
2020-03-11  7:30   ` Amit Kucheria
2020-03-13 14:21   ` Wolfram Sang

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=20200310194154.GN264362@yoga \
    --to=bjorn.andersson@linaro.org \
    --cc=agross@kernel.org \
    --cc=alokc@codeaurora.org \
    --cc=brendanhiggins@google.com \
    --cc=dianders@chromium.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=swboyd@chromium.org \
    --cc=wsa@the-dreams.de \
    /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.