lkml.org 
[lkml]   [2015]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] regmap: Fix i2c word access when using SMBus access functions
On 02/02/2015 03:56 AM, Mark Brown wrote:
> On Mon, Feb 02, 2015 at 11:26:23AM +0100, Lars-Peter Clausen wrote:
>> On 02/02/2015 12:48 AM, Guenter Roeck wrote:
>
>>> - return &regmap_smbus_word;
>>> + if (config->val_format_endian == REGMAP_ENDIAN_LITTLE)
>
>> This should probably use regmap_get_val_endian() and maybe also handle
>> REGMAP_ENDIAN_NATIVE.
>
That means I'll have to make the function global and pass NULL
as bus argument, which ultimately means that it is going to return
either config->val_format_endian or REGMAP_ENDIAN_BIG. I didn't do that
because I thought it has no value, but no problem.

> Yes, we really ought to handle _NATIVE too (though the chances of it
> being used with I2C are minimal, it's mostly for MMIO). This also feels

Well, we do; it is handled similar to the big endian case with the current
code. Do you think it should be handled differently ? If yes, how ?

> like it's something that should be being handled further up the stack in
> the serialization code but given that there's direct functions for this
> in the smbus code perhaps it's better here. Or perhaps the smbus
> support ought to be transitioned to use the bus interface and set
> reg_write() and reg_read() operations now that we can do that, it seems
> like a better fit though it might break compatibility with wierd devices.
>
I thought about that, but since the smbus functions perform endianness
conversion it would mean that I would have to undo that conversion just
to have it done again.

Thanks,
Guenter



\
 
 \ /
  Last update: 2015-02-02 15:41    [W:0.059 / U:1.264 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site