All of lore.kernel.org
 help / color / mirror / Atom feed
From: "David E. Box" <david.e.box-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
To: Maxime Coquelin <maxime.coquelin-qxv4g6HH51o@public.gmane.org>
Cc: wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org,
	jdelvare-l3A5Bk7waGM@public.gmane.org,
	arnd-r2nGTMty4D4@public.gmane.org,
	dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org,
	sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org,
	laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org,
	u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org,
	max.schwarz-BGeptl67XyCzQB+pC5nmwQ@public.gmane.org,
	schwidefsky-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org,
	iivanov-NEYub+7Iv8PQT0dZR+AlfA@public.gmane.org,
	jacob.jun.pan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
	soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org,
	bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org,
	andrew-g2DYL2Zd6BY@public.gmane.org,
	skuribay-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org,
	christian.ruppert-ux6zf3SgZrrQT0dZR+AlfA@public.gmane.org,
	Romain.Baeriswyl-ux6zf3SgZrrQT0dZR+AlfA@public.gmane.org,
	mika.westerberg-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] i2c-designware: Intel BayTrail PMIC I2C bus support
Date: Mon, 15 Sep 2014 09:55:45 -0700	[thread overview]
Message-ID: <20140915165545.GA2039@pathfinder> (raw)
In-Reply-To: <54168DE2.8020303-qxv4g6HH51o@public.gmane.org>

Hi Maxime,

On Mon, Sep 15, 2014 at 08:57:38AM +0200, Maxime Coquelin wrote:

> >+		err = dev->acquire_ownership(dev->dev);
> Have you considered using hwspinlocks instead?

No, I've not used it before but it looks applicable here. I'll take a look.

> >@@ -212,6 +259,25 @@ static int dw_i2c_probe(struct platform_device *pdev)
> >  	adap->dev.parent = &pdev->dev;
> >  	adap->dev.of_node = pdev->dev.of_node;
> >
> >+#if IS_ENABLED(CONFIG_I2C_SHARED_CONTROLLER)
> >+	if (dev->shared_host)
> >+		adap->algo = &i2c_sc_algo;
> >+
> >+	r = i2c_add_numbered_adapter(adap);
> >+	if (r) {
> >+		dev_err(&pdev->dev, "failure adding adapter\n");
> >+		return r;
> >+	}
> >+
> >+	if (dev->shared_host)
> >+		pm_runtime_forbid(&pdev->dev);
> >+	else {
> >+		pm_runtime_set_autosuspend_delay(&pdev->dev, 1000);
> >+		pm_runtime_use_autosuspend(&pdev->dev);
> >+		pm_runtime_set_active(&pdev->dev);
> >+		pm_runtime_enable(&pdev->dev);
> >+	}
> >+#else
> Why do you put all this under config flags?

So that this additional code only compiles for this very specific
implementation.

> >@@ -268,7 +334,11 @@ static int dw_i2c_resume(struct device *dev)
> >  	struct dw_i2c_dev *i_dev = platform_get_drvdata(pdev);
> >
> >  	clk_prepare_enable(i_dev->clk);
> >-	i2c_dw_init(i_dev);
> >+
> >+#if IS_ENABLED(CONFIG_I2C_SHARED_CONTROLLER)
> >+	if (!i_dev->shared_host)
> >+#endif
> Putting this under config flag should not be needed.
> 
> And even not under config flags, why don't you re-initialize your
> device in case of resume?

Because the device is already being managed by hardware, not the OS.

David Box

WARNING: multiple messages have this Message-ID (diff)
From: "David E. Box" <david.e.box@linux.intel.com>
To: Maxime Coquelin <maxime.coquelin@st.com>
Cc: wsa@the-dreams.de, jdelvare@suse.de, arnd@arndb.de,
	dianders@chromium.org, sjg@chromium.org,
	laurent.pinchart+renesas@ideasonboard.com,
	u.kleine-koenig@pengutronix.de,
	boris.brezillon@free-electrons.com, max.schwarz@online.de,
	schwidefsky@de.ibm.com, iivanov@mm-sol.com,
	jacob.jun.pan@linux.intel.com, soren.brinkmann@xilinx.com,
	bjorn.andersson@sonymobile.com, andrew@lunn.ch,
	skuribay@pobox.com, christian.ruppert@abilis.com,
	Romain.Baeriswyl@abilis.com, mika.westerberg@linux.intel.com,
	linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org
Subject: Re: [PATCH] i2c-designware: Intel BayTrail PMIC I2C bus support
Date: Mon, 15 Sep 2014 09:55:45 -0700	[thread overview]
Message-ID: <20140915165545.GA2039@pathfinder> (raw)
In-Reply-To: <54168DE2.8020303@st.com>

Hi Maxime,

On Mon, Sep 15, 2014 at 08:57:38AM +0200, Maxime Coquelin wrote:

> >+		err = dev->acquire_ownership(dev->dev);
> Have you considered using hwspinlocks instead?

No, I've not used it before but it looks applicable here. I'll take a look.

> >@@ -212,6 +259,25 @@ static int dw_i2c_probe(struct platform_device *pdev)
> >  	adap->dev.parent = &pdev->dev;
> >  	adap->dev.of_node = pdev->dev.of_node;
> >
> >+#if IS_ENABLED(CONFIG_I2C_SHARED_CONTROLLER)
> >+	if (dev->shared_host)
> >+		adap->algo = &i2c_sc_algo;
> >+
> >+	r = i2c_add_numbered_adapter(adap);
> >+	if (r) {
> >+		dev_err(&pdev->dev, "failure adding adapter\n");
> >+		return r;
> >+	}
> >+
> >+	if (dev->shared_host)
> >+		pm_runtime_forbid(&pdev->dev);
> >+	else {
> >+		pm_runtime_set_autosuspend_delay(&pdev->dev, 1000);
> >+		pm_runtime_use_autosuspend(&pdev->dev);
> >+		pm_runtime_set_active(&pdev->dev);
> >+		pm_runtime_enable(&pdev->dev);
> >+	}
> >+#else
> Why do you put all this under config flags?

So that this additional code only compiles for this very specific
implementation.

> >@@ -268,7 +334,11 @@ static int dw_i2c_resume(struct device *dev)
> >  	struct dw_i2c_dev *i_dev = platform_get_drvdata(pdev);
> >
> >  	clk_prepare_enable(i_dev->clk);
> >-	i2c_dw_init(i_dev);
> >+
> >+#if IS_ENABLED(CONFIG_I2C_SHARED_CONTROLLER)
> >+	if (!i_dev->shared_host)
> >+#endif
> Putting this under config flag should not be needed.
> 
> And even not under config flags, why don't you re-initialize your
> device in case of resume?

Because the device is already being managed by hardware, not the OS.

David Box

  parent reply	other threads:[~2014-09-15 16:55 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-12 17:36 [PATCH] i2c-designware: Intel BayTrail PMIC I2C bus support David E. Box
     [not found] ` <1410543367-6565-1-git-send-email-david.e.box-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2014-09-15  6:57   ` Maxime Coquelin
2014-09-15  6:57     ` Maxime Coquelin
     [not found]     ` <54168DE2.8020303-qxv4g6HH51o@public.gmane.org>
2014-09-15 16:55       ` David E. Box [this message]
2014-09-15 16:55         ` David E. Box
2014-09-16  9:44   ` Mika Westerberg
2014-09-16  9:44     ` Mika Westerberg
     [not found]     ` <20140916094449.GZ10854-3PARRvDOhMZrdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2014-09-16 10:53       ` Jacob Pan
2014-09-16 10:53         ` Jacob Pan
2014-09-16 10:58         ` Mika Westerberg
2014-09-17  4:01     ` Li, Aubrey
2014-09-17 11:02   ` One Thousand Gnomes
2014-09-17 11:02     ` One Thousand Gnomes
2014-09-23 18:40   ` [PATCH V2] i2c-designware: Add Intel Baytrail " David E. Box
2014-09-23 18:40     ` David E. Box
     [not found]     ` <1411497626-7984-1-git-send-email-david.e.box-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2014-09-23 19:00       ` Maxime Ripard
2014-09-23 19:00         ` Maxime Ripard
2014-09-23 19:58         ` David E. Box
2014-09-25  9:47           ` Maxime Ripard
2014-09-25  9:47             ` Maxime Ripard
     [not found]             ` <20141007191420.GA25126@pathfinder>
2014-10-09 12:36               ` Maxime Ripard
2014-10-09 12:36                 ` Maxime Ripard
2014-11-11 11:50       ` Mika Westerberg
2014-11-11 11:50         ` Mika Westerberg
2014-12-02  0:09       ` [PATCH V3 0/2] i2c-designware: Baytrail bus locking driver David E. Box
2014-12-02  0:09         ` David E. Box
2014-12-02  0:09         ` [PATCH V3 1/2] i2c-designware: Add i2c bus locking support David E. Box
2014-12-03 16:01           ` Mika Westerberg
     [not found]             ` <20141203160125.GB28857-3PARRvDOhMZrdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2014-12-04 18:49               ` David E. Box
2014-12-04 18:49                 ` David E. Box
     [not found]           ` <1417478973-25522-2-git-send-email-david.e.box-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2014-12-04  7:59             ` Jarkko Nikula
2014-12-04  7:59               ` Jarkko Nikula
2014-12-04 18:42               ` David E. Box
2015-01-13  9:48                 ` Wolfram Sang
2015-01-13  9:48                   ` Wolfram Sang
2015-01-14 18:15                   ` David E. Box
2015-01-14 18:15                     ` David E. Box
2014-12-02  0:09         ` [PATCH V3 2/2] i2c-designware: Add Intel Baytrail PMIC I2C bus support David E. Box
2014-12-03 16:10           ` Mika Westerberg
     [not found]             ` <20141203161046.GC28857-3PARRvDOhMZrdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2014-12-04 19:11               ` David E. Box
2014-12-04 19:11                 ` David E. Box
     [not found]         ` <1417478973-25522-1-git-send-email-david.e.box-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2014-12-06  3:51           ` [PATCH V3 0/2] i2c-designware: Baytrail bus locking driver Shinya Kuribayashi
2014-12-06  3:51             ` Shinya Kuribayashi
2015-01-15  9:12           ` [PATCH V4 0/2] i2c-designware: Add Intel Baytrail pmic i2c bus support David E. Box
2015-01-15  9:12             ` David E. Box
     [not found]             ` <1421313137-1613-1-git-send-email-david.e.box-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2015-01-26 11:27               ` Wolfram Sang
2015-01-26 11:27                 ` Wolfram Sang
2015-01-15  9:12           ` [PATCH V4 2/2] i2c-designware: Add Intel Baytrail PMIC I2C " David E. Box
2015-01-15  9:12             ` David E. Box
     [not found]             ` <1421313137-1613-3-git-send-email-david.e.box-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2015-01-22 14:28               ` Mika Westerberg
2015-01-22 14:28                 ` Mika Westerberg
2015-01-22 20:48                 ` David E. Box
2015-01-23  9:32                   ` Mika Westerberg
2015-01-23 14:18               ` Wolfram Sang
2015-01-23 14:18                 ` Wolfram Sang
2015-01-15  9:12         ` [PATCH V4 1/2] i2c-designware: Add i2c bus locking support David E. Box
     [not found]           ` <1421313137-1613-2-git-send-email-david.e.box-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2015-01-22 14:22             ` Mika Westerberg
2015-01-22 14:22               ` Mika Westerberg
2014-11-11 11:32     ` [PATCH V2] i2c-designware: Add Intel Baytrail PMIC I2C bus support Wolfram Sang
2014-11-11 17:11       ` David E. Box
2014-11-11 17:11         ` David E. Box

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=20140915165545.GA2039@pathfinder \
    --to=david.e.box-vuqaysv1563yd54fqh9/ca@public.gmane.org \
    --cc=Romain.Baeriswyl-ux6zf3SgZrrQT0dZR+AlfA@public.gmane.org \
    --cc=andrew-g2DYL2Zd6BY@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org \
    --cc=boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=christian.ruppert-ux6zf3SgZrrQT0dZR+AlfA@public.gmane.org \
    --cc=dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
    --cc=iivanov-NEYub+7Iv8PQT0dZR+AlfA@public.gmane.org \
    --cc=jacob.jun.pan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    --cc=jdelvare-l3A5Bk7waGM@public.gmane.org \
    --cc=laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=max.schwarz-BGeptl67XyCzQB+pC5nmwQ@public.gmane.org \
    --cc=maxime.coquelin-qxv4g6HH51o@public.gmane.org \
    --cc=mika.westerberg-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    --cc=schwidefsky-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
    --cc=sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
    --cc=skuribay-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org \
    --cc=soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org \
    --cc=u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.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.