On Wed, Jun 27, 2018 at 10:13:12AM +0200, Luca Ceresoli wrote: > Hi Sakari, > > On 26/06/2018 14:20, Sakari Ailus wrote: > > Hi Luca, > > > > On Mon, Jun 11, 2018 at 01:35:37PM +0200, Luca Ceresoli wrote: > >> Tables of struct reg_8 are used to simplify multi-byte register > >> assignment. However filling these snippets with values computed at > >> runtime is currently implemented by very similar functions doing the > >> needed shift & mask manipulation. > >> > >> Replace all those functions with a unique helper function to fill > >> reg_8 tables in a simple and clean way. > > > > What's the purpose of writing these registers as multiple I²C writes, when > > this can be done as a single write (i.e. the address followed by two or > > three octets of data)? > > Good point. The for loops applying the register values (the lines just > after those changed by my patch) defuse the regmap bulk write capability. > > I guess this could be improved not filling any table, but directly > calling regmap_bulk_write(), passing the u16 or u32 register value with > proper endianness. No tables, less code. This would replace the present > patch with a shorter and more effective one. Is it what you was suggesting? Yes, please. -- Sakari Ailus e-mail: sakari.ailus@xxxxxx