[U-Boot] [PATCH v4 07/13] regmap: Add raw read/write functions

Daniel Schwierzeck daniel.schwierzeck at gmail.com
Tue Aug 7 14:31:29 UTC 2018


2018-08-07 9:36 GMT+02:00 Mario Six <mario.six at gdsys.cc>:
> Hi Anatolij,
> On Mon, Aug 6, 2018 at 9:12 PM Anatolij Gustschin <agust at denx.de> wrote:
>>
>> Hi Mario,
>>
>> On Fri,  3 Aug 2018 10:01:12 +0200
>> Mario Six mario.six at gdsys.cc wrote:
>> ...
>> > +int regmap_raw_read(struct regmap *map, uint offset, void *valp, size_t val_len)
>> > +{
>> > +     void *ptr;
>> > +
>> > +     ptr = map_physmem(map->ranges[0].start + offset, val_len, MAP_NOCACHE);
>> > +
>> > +     switch (val_len) {
>> > +     case REGMAP_SIZE_8:
>> > +             *((u8 *)valp) = in_8((u8 *)ptr);
>> > +             break;
>> > +     case REGMAP_SIZE_16:
>> > +             *((u16 *)valp) = in_le16((u16 *)ptr);
>> > +             break;
>> > +     case REGMAP_SIZE_32:
>> > +             *((u32 *)valp) = in_le32((u32 *)ptr);
>>
>> this breaks building for MIPS:
>>
>>   https://travis-ci.org/vdsao/u-boot-video/jobs/412722192#L869
>>
> I see. MIPS apparently doesn't implement any of the in/out functions at all.
> But since the necessary __raw_read/__raw_write functions exist, it's just a
> matter of a few lines to add them. I'll add a patch that will fix this.

why don't you directly use readb(), readw(), readl() etc.? What about
64 Bit registers (readq())?

>
> There also seems to be a warning about a format specifier on MIPS, I'll fix
> that as well.
>
> To make things less confusing, I'll import your v5 of "misc: Sort Makefile
> entries" and send a full v6 series.
>
>> Anatolij
>
> Best regards,
> Mario
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot



-- 
- Daniel


More information about the U-Boot mailing list