Hi Sakari, On 27/06/2018 11:30, Sakari Ailus wrote: > 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. Ok, will do. I think this will cut many lines of code, wow! Patch 8 is only marginally related to this change, so it can be reviewed independently except for the few lines in imx274_apply_trimming() where registers are written. -- Luca