Re: [PATCH] i2c: i2c-sh_mobile device tree support
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
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
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
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
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