Re: [PATCH v2 2/2] MIPS: store the appended dtb address in a variable

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

 



On 17 July 2016 at 14:28, Daniel Gimpelevich
<daniel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> On Mon, 2016-06-20 at 11:27 +0200, Jonas Gorski wrote:
>> Instead of rewriting the arguments to match the UHI spec, store the
>> address of a appended or UHI supplied dtb in fw_supplied_dtb.
>>
>> That way the original bootloader arugments are kept intact while still
>> making the use of an appended dtb invisible for mach code.
>>
>> Mach code can still find out if it is an appended dtb by comparing
>> fw_arg1 with fw_supplied_dtb.
>>
>> Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx>
>> ---
>> v1 -> v2:
>>  * no changes
>>
>>  arch/mips/ath79/setup.c          |  4 ++--
>>  arch/mips/bmips/setup.c          |  4 ++--
>>  arch/mips/include/asm/bootinfo.h |  4 ++++
>>  arch/mips/kernel/head.S          | 21 ++++++++++++++-------
>>  arch/mips/kernel/setup.c         |  4 ++++
>>  arch/mips/lantiq/prom.c          |  4 ++--
>>  arch/mips/pic32/pic32mzda/init.c |  4 ++--
>>  7 files changed, 30 insertions(+), 15 deletions(-)
> [snip]
>> -       else if (fw_arg0 == -2) /* UHI interface */
>> -               dtb = (void *)fw_arg1;
>> +       else if (fw_passed_dtb) /* UHI interface */
>> +               dtb = (void *)fw_passed_dtb;
>
> I just now realized that this is also incorrect, on each platform. The
> check for fw_passed_dtb should be in addition (prior) to checking for
> UHI via fw_arg0 == -2, not instead of it.

No it isn't, the code in head.S already does this, so there is no need
to check fw_arg0 again, unless you need to know if this was an
appended dtb or a UHI passed one. The whole point of using
fw_passed_dtb is that you *don't* need to check individually for UHI
and appended dtb.


Jonas




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux