Re: [PATCH v3 35/36] platform/x86: intel_pmc_ipc: Convert to MFD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jan 17, 2020 at 11:32:02AM +0000, Lee Jones wrote:
> [...]
> 
> > > Looks like Regmap could save you the trouble here.
> > 
> > Agreed.
> 
> Great.

I started to implement regmap for this driver but I run into some
problems. The registers we read/write are all 64-bit and accessed trough
readq/writeq accessors. However, the regmap API takes unsigned int:

  int regmap_write(struct regmap *map, unsigned int reg, unsigned int val);
  int regmap_read(struct regmap *map, unsigned int reg, unsigned int *val);

I'm not sure how we can take advantage of this API with the 64-bit
registers. There are "raw" versions of the functions that take void
pointer like:

 int regmap_raw_read(struct regmap *map, unsigned int reg,
                     void *val, size_t val_len);

but looking at the implementation if the register gets cached it
internally does reads in unsigned int sized chunks (if I understand it
right).

Any ideas how this can be done?

Thanks!



[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux