From: Doug Anderson <dianders@chromium.org> To: linux-i2c@vger.kernel.org, Wolfram Sang <wsa@the-dreams.de> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>, Kukjin Kim <kgene.kim@samsung.com>, Olof Johansson <olof@lixom.net>, Thomas Abraham <thomas.abraham@linaro.org>, Padmavathi Venna <padma.v@samsung.com>, Ben Dooks <ben-linux@fluff.org>, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, Haojian Zhuang <haojian.zhuang@gmail.com>, Arnd Bergmann <arnd@arndb.de>, Sylwester Nawrocki <sylvester.nawrocki@gmail.com>, Doug Anderson <dianders@chromium.org>, Andrew Morton <akpm@linux-foundation.org>, Karol Lewandowski <k.lewandowsk@samsung.com>, linux-kernel@vger.kernel.org Subject: [PATCH v4 2/2] i2c: pxa: Use i2c-core to get bus number now Date: Fri, 1 Mar 2013 08:57:32 -0800 [thread overview] Message-ID: <1362157052-16738-3-git-send-email-dianders@chromium.org> (raw) In-Reply-To: <1362157052-16738-1-git-send-email-dianders@chromium.org> The commit: "i2c-core: dt: Pick i2c bus number from i2c alias if present" adds support for automatically picking the bus number based on the alias ID. Remove the now unnecessary code from i2c-pxa that did the same thing. Signed-off-by: Doug Anderson <dianders@chromium.org> --- Changes in v4: None Changes in v3: None Changes in v2: - No longer tweak pdev->id as per Sylwester Nawrocki. - No longer add the dev ID to the adap.name. Other drivers don't include the device ID here and it doesn't make sense with dynamically (or automatically) allocated IDs. - Use dev_name(&dev->dev) to register for the IRQ; this matches what the i2c-s3c2410.c does and handles dynamically allocated IDs. - This change was only compile-tested (corgi_defconfig), since I don't have access to a board that uses this driver. drivers/i2c/busses/i2c-pxa.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c index 1e88e8d..ea6d45d 100644 --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c @@ -1053,16 +1053,13 @@ static int i2c_pxa_probe_dt(struct platform_device *pdev, struct pxa_i2c *i2c, struct device_node *np = pdev->dev.of_node; const struct of_device_id *of_id = of_match_device(i2c_pxa_dt_ids, &pdev->dev); - int ret; if (!of_id) return 1; - ret = of_alias_get_id(np, "i2c"); - if (ret < 0) { - dev_err(&pdev->dev, "failed to get alias id, errno %d\n", ret); - return ret; - } - pdev->id = ret; + + /* For device tree we always use the dynamic or alias-assigned ID */ + i2c->adap.nr = -1; + if (of_get_property(np, "mrvl,i2c-polling", NULL)) i2c->use_pio = 1; if (of_get_property(np, "mrvl,i2c-fast-mode", NULL)) @@ -1100,6 +1097,9 @@ static int i2c_pxa_probe(struct platform_device *dev) goto emalloc; } + /* Default adapter num to device id; i2c_pxa_probe_dt can override. */ + i2c->adap.nr = dev->id; + ret = i2c_pxa_probe_dt(dev, i2c, &i2c_type); if (ret > 0) ret = i2c_pxa_probe_pdata(dev, i2c, &i2c_type); @@ -1124,9 +1124,7 @@ static int i2c_pxa_probe(struct platform_device *dev) spin_lock_init(&i2c->lock); init_waitqueue_head(&i2c->wait); - i2c->adap.nr = dev->id; - snprintf(i2c->adap.name, sizeof(i2c->adap.name), "pxa_i2c-i2c.%u", - i2c->adap.nr); + strlcpy(i2c->adap.name, "pxa_i2c-i2c", sizeof(i2c->adap.name)); i2c->clk = clk_get(&dev->dev, NULL); if (IS_ERR(i2c->clk)) { @@ -1169,7 +1167,7 @@ static int i2c_pxa_probe(struct platform_device *dev) } else { i2c->adap.algo = &i2c_pxa_algorithm; ret = request_irq(irq, i2c_pxa_handler, IRQF_SHARED, - i2c->adap.name, i2c); + dev_name(&dev->dev), i2c); if (ret) goto ereqirq; } -- 1.8.1.3
WARNING: multiple messages have this Message-ID (diff)
From: dianders@chromium.org (Doug Anderson) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v4 2/2] i2c: pxa: Use i2c-core to get bus number now Date: Fri, 1 Mar 2013 08:57:32 -0800 [thread overview] Message-ID: <1362157052-16738-3-git-send-email-dianders@chromium.org> (raw) In-Reply-To: <1362157052-16738-1-git-send-email-dianders@chromium.org> The commit: "i2c-core: dt: Pick i2c bus number from i2c alias if present" adds support for automatically picking the bus number based on the alias ID. Remove the now unnecessary code from i2c-pxa that did the same thing. Signed-off-by: Doug Anderson <dianders@chromium.org> --- Changes in v4: None Changes in v3: None Changes in v2: - No longer tweak pdev->id as per Sylwester Nawrocki. - No longer add the dev ID to the adap.name. Other drivers don't include the device ID here and it doesn't make sense with dynamically (or automatically) allocated IDs. - Use dev_name(&dev->dev) to register for the IRQ; this matches what the i2c-s3c2410.c does and handles dynamically allocated IDs. - This change was only compile-tested (corgi_defconfig), since I don't have access to a board that uses this driver. drivers/i2c/busses/i2c-pxa.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c index 1e88e8d..ea6d45d 100644 --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c @@ -1053,16 +1053,13 @@ static int i2c_pxa_probe_dt(struct platform_device *pdev, struct pxa_i2c *i2c, struct device_node *np = pdev->dev.of_node; const struct of_device_id *of_id = of_match_device(i2c_pxa_dt_ids, &pdev->dev); - int ret; if (!of_id) return 1; - ret = of_alias_get_id(np, "i2c"); - if (ret < 0) { - dev_err(&pdev->dev, "failed to get alias id, errno %d\n", ret); - return ret; - } - pdev->id = ret; + + /* For device tree we always use the dynamic or alias-assigned ID */ + i2c->adap.nr = -1; + if (of_get_property(np, "mrvl,i2c-polling", NULL)) i2c->use_pio = 1; if (of_get_property(np, "mrvl,i2c-fast-mode", NULL)) @@ -1100,6 +1097,9 @@ static int i2c_pxa_probe(struct platform_device *dev) goto emalloc; } + /* Default adapter num to device id; i2c_pxa_probe_dt can override. */ + i2c->adap.nr = dev->id; + ret = i2c_pxa_probe_dt(dev, i2c, &i2c_type); if (ret > 0) ret = i2c_pxa_probe_pdata(dev, i2c, &i2c_type); @@ -1124,9 +1124,7 @@ static int i2c_pxa_probe(struct platform_device *dev) spin_lock_init(&i2c->lock); init_waitqueue_head(&i2c->wait); - i2c->adap.nr = dev->id; - snprintf(i2c->adap.name, sizeof(i2c->adap.name), "pxa_i2c-i2c.%u", - i2c->adap.nr); + strlcpy(i2c->adap.name, "pxa_i2c-i2c", sizeof(i2c->adap.name)); i2c->clk = clk_get(&dev->dev, NULL); if (IS_ERR(i2c->clk)) { @@ -1169,7 +1167,7 @@ static int i2c_pxa_probe(struct platform_device *dev) } else { i2c->adap.algo = &i2c_pxa_algorithm; ret = request_irq(irq, i2c_pxa_handler, IRQF_SHARED, - i2c->adap.name, i2c); + dev_name(&dev->dev), i2c); if (ret) goto ereqirq; } -- 1.8.1.3
next prev parent reply other threads:[~2013-03-01 16:58 UTC|newest] Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-02-12 0:48 [PATCH v3 0/2] Add automatic bus number support for i2c busses with device tree Doug Anderson 2013-02-12 0:48 ` Doug Anderson 2013-02-12 0:48 ` Doug Anderson 2013-02-12 0:48 ` [PATCH v3 1/2] i2c-core: dt: Pick i2c bus number from i2c alias if present Doug Anderson 2013-02-12 0:48 ` Doug Anderson 2013-02-12 0:48 ` [PATCH v3 2/2] i2c: pxa: Use i2c-core to get bus number now Doug Anderson 2013-02-12 0:48 ` Doug Anderson 2013-02-27 1:01 ` [PATCH v3 0/2] Add automatic bus number support for i2c busses with device tree Doug Anderson 2013-02-27 1:01 ` Doug Anderson 2013-02-27 1:01 ` Doug Anderson 2013-02-28 23:25 ` Wolfram Sang 2013-02-28 23:25 ` Wolfram Sang 2013-02-28 23:25 ` Wolfram Sang 2013-03-01 0:55 ` Doug Anderson 2013-03-01 0:55 ` Doug Anderson 2013-03-01 0:55 ` Doug Anderson 2013-03-01 16:57 ` [PATCH v4 " Doug Anderson 2013-03-01 16:57 ` Doug Anderson 2013-03-01 16:57 ` [PATCH v4 1/2] i2c-core: dt: Pick i2c bus number from i2c alias if present Doug Anderson 2013-03-01 16:57 ` Doug Anderson 2013-03-01 16:57 ` Doug Anderson 2013-03-01 19:22 ` Wolfram Sang 2013-03-01 19:22 ` Wolfram Sang 2013-03-01 16:57 ` Doug Anderson [this message] 2013-03-01 16:57 ` [PATCH v4 2/2] i2c: pxa: Use i2c-core to get bus number now Doug Anderson 2013-03-21 11:49 ` Wolfram Sang 2013-03-21 11:49 ` 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=1362157052-16738-3-git-send-email-dianders@chromium.org \ --to=dianders@chromium.org \ --cc=akpm@linux-foundation.org \ --cc=arnd@arndb.de \ --cc=ben-linux@fluff.org \ --cc=broonie@opensource.wolfsonmicro.com \ --cc=haojian.zhuang@gmail.com \ --cc=k.lewandowsk@samsung.com \ --cc=kgene.kim@samsung.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-i2c@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-samsung-soc@vger.kernel.org \ --cc=olof@lixom.net \ --cc=padma.v@samsung.com \ --cc=sylvester.nawrocki@gmail.com \ --cc=thomas.abraham@linaro.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: linkBe 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.