On Mon, Oct 20, 2014 at 8:19 AM, Alexandre Courbot <gnurou@xxxxxxxxx> wrote: > On Mon, Oct 20, 2014 at 2:27 PM, John Crispin <blogic@xxxxxxxxxxx> wrote: >> On 20/10/2014 06:41, Alexandre Courbot wrote: >> On Sat, Oct 11, 2014 at 5:28 AM, John Crispin <blogic@xxxxxxxxxxx> wrote: >>> This (and the device tree bindings) seems the indicate that the >>> registers offset can vary depending on the chip and bank. The chip >>> can be specified using the compatible property, as for the bank you >>> can also require a property giving the bank number. With these two >>> bits of information, this driver should be able to pick the right >>> register layout out of an in-driver table. This would be much >>> cleaner that letting the DT specify whatever layout it wants. >> >> i tend to disagree. if we put the register offsets into the driver we >> will have lots of static arrays (5 or 6) and with each new soc we need >> to potentially need to patch the driver causing us in openwrt to carry >> lots of patches and have to worry about upstreaming them. From my >> understanding, the dts has this exact purpose, describing the hardware >> and in turn reducing the boiler plate and static code in the drivers. >> If have sent other drivers that do the same and was told there that >> this is totally legit. > > With each new SoC you would have to patch the driver to add the new > compatible property anyway. If your devices differ as much as by > having a different register layout, they need a dedicated compatible > property. In that case, you may as well add the register layout for > this new property into the driver. I agree. +1 on this. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html