On Tue, Sep 2, 2014 at 6:23 PM, Johan Hovold <johan@xxxxxxxxxx> wrote: > On Tue, Sep 02, 2014 at 11:45:55AM +0300, Octavian Purdila wrote: >> On Tue, Sep 2, 2014 at 11:00 AM, Lee Jones <lee.jones@xxxxxxxxxx> wrote: >> > On Mon, 01 Sep 2014, Johan Hovold wrote: > >> >> I haven't looked at the details of the protocol for the device in >> >> question, but it might even be possible to use regmap here (as I >> >> mentioned in my comments on v1). >> > >> > Obviously that would be preferred. >> > >> > Octavian, did you look into that? >> > >> Yes, I did. Since this is the first time I am looking at regmap I may >> be wrong but I don't see a way to use it. The dln2 i2c driver needs to >> be able to send and receive arbitrary size buffers and this does not >> seem possible to do with the regmap API. > > That should be possible using the regmap bus read and write operations. I took a closer look on the regmap bus read/write operations and I think they are not fit for what we need in the driver. The driver uses a request/response model which, IMHO, does not fit well with a register read/write API. Yes, maybe we can emulate it, but why do that? >> (Also creating a regmap class for a particular device seems over >> engineering since nobody else is going to use it) > > Possibly, but it would allow subdrivers to be implemented using a > standard interface and also provide register caching for free. > Using a standard interface is nice, but I think that using the right interface type is more important. This hardware does not use registers but a messages to communicate with the OS. Also caching is not useful for i2c and only partially useful for GPIO (to cache the pin direction, and pin status in output mode only) so its not a big win. -- 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