Re: [PATCH] i2c: i2c-sh_mobile device tree support

2012-04-18 Thread Wolfram Sang
Hi Paul,

  Of course, if you think it is cramping your SH device tree style then
  we can easily add a renesas-shmobile-iic entry as well.
  
 I obviously don't mind if you wish to use the rmobile naming convention
 going forward, as the new parts have obviously dropped with the shmobile
 naming convention, and it's likely you'll even be able to infer different
 capabilities between rmobile vs shmobile. That's not sufficient cause to
 prefer one over the other though, so you're still going to have to keep
 things balanced. Simply having two aliases seems to me to be the easiest
 solution.

alias is a second compatible entry here? Is it okay if this is added
with a seperate patch when needed?

Regards,

   Wolfram

-- 
Pengutronix e.K.   | Wolfram Sang|
Industrial Linux Solutions | http://www.pengutronix.de/  |


signature.asc
Description: Digital signature


[PATCH] i2c: i2c-sh_mobile device tree support

2012-03-30 Thread Magnus Damm
From: Magnus Damm d...@opensource.se

This patch enables DT support for the IIC driver
used on SH-based SoCs such as sh7722 and sh7724
among others as well as SH-Mobile SoCs such as
sh7367, sh7377, sh7372, sh73a0 and r8a7740.

Tested with out-of-tree DT support code on the
sh7372 Mackerel board.

Signed-off-by: Magnus Damm d...@opensource.se
---

 drivers/i2c/busses/i2c-sh_mobile.c |   11 +++
 1 file changed, 11 insertions(+)

--- 0001/drivers/i2c/busses/i2c-sh_mobile.c
+++ work/drivers/i2c/busses/i2c-sh_mobile.c 2012-03-29 14:39:42.0 
+0900
@@ -27,6 +27,7 @@
 #include linux/platform_device.h
 #include linux/interrupt.h
 #include linux/i2c.h
+#include linux/of_i2c.h
 #include linux/err.h
 #include linux/pm_runtime.h
 #include linux/clk.h
@@ -653,6 +654,7 @@ static int sh_mobile_i2c_probe(struct pl
adap-dev.parent = dev-dev;
adap-retries = 5;
adap-nr = dev-id;
+   adap-dev.of_node = dev-dev.of_node;
 
strlcpy(adap-name, dev-name, sizeof(adap-name));
 
@@ -667,6 +669,8 @@ static int sh_mobile_i2c_probe(struct pl
 
dev_info(dev-dev, I2C adapter %d with bus speed %lu Hz\n,
 adap-nr, pd-bus_speed);
+
+   of_i2c_register_devices(adap);
return 0;
 
  err_all:
@@ -710,11 +714,18 @@ static const struct dev_pm_ops sh_mobile
.runtime_resume = sh_mobile_i2c_runtime_nop,
 };
 
+static const struct of_device_id sh_mobile_i2c_dt_ids[] __devinitconst = {
+   { .compatible = renesas,rmobile-iic, },
+   {},
+};
+MODULE_DEVICE_TABLE(of, sh_mobile_i2c_dt_ids);
+
 static struct platform_driver sh_mobile_i2c_driver = {
.driver = {
.name   = i2c-sh_mobile,
.owner  = THIS_MODULE,
.pm = sh_mobile_i2c_dev_pm_ops,
+   .of_match_table = sh_mobile_i2c_dt_ids,
},
.probe  = sh_mobile_i2c_probe,
.remove = sh_mobile_i2c_remove,
--
To unsubscribe from this list: send the line unsubscribe linux-i2c in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] i2c: i2c-sh_mobile device tree support

2012-03-30 Thread Paul Mundt
On Fri, Mar 30, 2012 at 05:44:02PM +0900, Magnus Damm wrote:
 +static const struct of_device_id sh_mobile_i2c_dt_ids[] __devinitconst = {
 + { .compatible = renesas,rmobile-iic, },
 + {},
 +};
 +MODULE_DEVICE_TABLE(of, sh_mobile_i2c_dt_ids);
 +
Given that this block predates R-Mobile, using the rmobile naming here is
pretty dubious. I suppose you can have it as an alias, though.
--
To unsubscribe from this list: send the line unsubscribe linux-i2c in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] i2c: i2c-sh_mobile device tree support

2012-03-30 Thread Magnus Damm
On Fri, Mar 30, 2012 at 5:47 PM, Paul Mundt let...@linux-sh.org wrote:
 On Fri, Mar 30, 2012 at 05:44:02PM +0900, Magnus Damm wrote:
 +static const struct of_device_id sh_mobile_i2c_dt_ids[] __devinitconst = {
 +     { .compatible = renesas,rmobile-iic, },
 +     {},
 +};
 +MODULE_DEVICE_TABLE(of, sh_mobile_i2c_dt_ids);
 +
 Given that this block predates R-Mobile, using the rmobile naming here is
 pretty dubious. I suppose you can have it as an alias, though.

Sure, but creating new code based an old naming conventions seem rather odd too.

Of course, if you think it is cramping your SH device tree style then
we can easily add a renesas-shmobile-iic entry as well.

Cheers,

/ magnus
--
To unsubscribe from this list: send the line unsubscribe linux-i2c in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] i2c: i2c-sh_mobile device tree support

2012-03-30 Thread Paul Mundt
On Fri, Mar 30, 2012 at 05:53:35PM +0900, Magnus Damm wrote:
 On Fri, Mar 30, 2012 at 5:47 PM, Paul Mundt let...@linux-sh.org wrote:
  On Fri, Mar 30, 2012 at 05:44:02PM +0900, Magnus Damm wrote:
  +static const struct of_device_id sh_mobile_i2c_dt_ids[] __devinitconst = {
  + ? ? { .compatible = renesas,rmobile-iic, },
  + ? ? {},
  +};
  +MODULE_DEVICE_TABLE(of, sh_mobile_i2c_dt_ids);
  +
  Given that this block predates R-Mobile, using the rmobile naming here is
  pretty dubious. I suppose you can have it as an alias, though.
 
 Sure, but creating new code based an old naming conventions seem rather
 odd too.
 
Devices should be named what they are, not what the marketing people tell
you they should be. Retroactively attempting to label parts that pre-date
rmobile as being rmobile-related is non-sensical. The driver itself
you'll note is not called i2c-rmobile for precisely this reason.

Furthermore, there are also ARM-based SH-Mobile parts that pre-date the
R-Mobile line that also use this driver, so it's hardly an architecture
issue.

 Of course, if you think it is cramping your SH device tree style then
 we can easily add a renesas-shmobile-iic entry as well.
 
I obviously don't mind if you wish to use the rmobile naming convention
going forward, as the new parts have obviously dropped with the shmobile
naming convention, and it's likely you'll even be able to infer different
capabilities between rmobile vs shmobile. That's not sufficient cause to
prefer one over the other though, so you're still going to have to keep
things balanced. Simply having two aliases seems to me to be the easiest
solution.
--
To unsubscribe from this list: send the line unsubscribe linux-i2c in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html