> On Fri, Aug 24, 2012 at 02:50:00PM +0100, Krystian Garbaciak wrote: > > > This is MFD module providing access to registers and interrupts of DA906x > > series PMIC. It is used by other functional modules, registered as MFD cells. > > Driver uses regmap with paging to access extended register list. Register map > > is divided into two pages, where the second page is used during initialisation. > > Your selection of people to CC here appears both large and random... I've added any maintainer for my modules from maintainer list. > > +inline unsigned int da906x_to_range_reg(u16 reg) > > +{ > > + return reg + DA906X_MAPPING_BASE; > > +} > > I've no real idea what this stuff is all about, it at least needs some > comments somewhere. The fact that you're just adding a constant offset > to all registers is at best odd. I will comment it precisely for next version: +/* Adding virtual register range starting from address DA9063_MAPPING_BASE. + It will be used for registers requiring page switching, which in our case + are virtually all PMIC registers. + Registers from 0 to 255 are used only as a page window and are volatile, + except DA9063_REG_PAGE_CON register (page selector), which is cachable. */ +static const struct regmap_range_cfg da9063_range_cfg[] = { + { + .range_min = DA9063_MAPPING_BASE, + .range_max = DA9063_MAPPING_BASE + + ARRAY_SIZE(da9063_reg_flg) - 1, + .selector_reg = DA9063_REG_PAGE_CON, + .selector_mask = 1 << DA9063_I2C_PAGE_SEL_SHIFT, + .selector_shift = DA9063_I2C_PAGE_SEL_SHIFT, + .window_start = 0, + .window_len = 256, + } +}; .. and here: +/* Access to any PMIC register is passed through virtual register range, + starting at DA9063_MAPPING_BASE. For those registers, paging is required. */ +inline unsigned int da9063_to_range_reg(u16 reg) +{ + return reg + DA9063_MAPPING_BASE; +} _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors