On 01/31/2014 11:35 AM, Florian Vaussard wrote: > Add the 'reg-io-width' property for 8, 16 and 32-bit access, like > what is currently done with IORESOURCE_MEM_{8,16,32}BIT for non-OF > boot. > > Signed-off-by: Florian Vaussard > --- > drivers/net/can/sja1000/sja1000_platform.c | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/can/sja1000/sja1000_platform.c b/drivers/net/can/sja1000/sja1000_platform.c > index 96a92a1..62ebc3d 100644 > --- a/drivers/net/can/sja1000/sja1000_platform.c > +++ b/drivers/net/can/sja1000/sja1000_platform.c > @@ -103,8 +103,17 @@ static void sp_populate_of(struct sja1000_priv *priv, struct device_node *of) > int err; > u32 prop; > > - priv->read_reg = sp_read_reg8; > - priv->write_reg = sp_write_reg8; > + of_property_read_u32(of, "reg-io-width", &prop); The new property might not be available in the DT, please check the return value of of_property_read_u32(). Use 8 bit wide as default. > + if (prop == 4) { > + priv->read_reg = sp_read_reg32; > + priv->write_reg = sp_write_reg32; > + } else if (prop == 2) { > + priv->read_reg = sp_read_reg16; > + priv->write_reg = sp_write_reg16; > + } else { > + priv->read_reg = sp_read_reg8; > + priv->write_reg = sp_write_reg8; > + } > > err = of_property_read_u32(of, "nxp,external-clock-frequency", &prop); > if (!err) > Marc -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |