[U-Boot] [PATCH v3 1/5] mtd: Use default mtdparts/mtids when not defined in the environment
Marek Vasut
marek.vasut at gmail.com
Tue Nov 13 15:06:44 UTC 2018
On 11/13/2018 03:37 PM, Boris Brezillon wrote:
> On Tue, 13 Nov 2018 15:10:14 +0100
> Marek Vasut <marek.vasut at gmail.com> wrote:
>
>> On 11/13/2018 01:39 PM, Boris Brezillon wrote:
>>> Hi Marek,
>>>
>>> On Tue, 13 Nov 2018 13:19:52 +0100
>>> Marek Vasut <marek.vasut at gmail.com> wrote:
>>>
>>>> On 11/13/2018 12:43 PM, Boris Brezillon wrote:
>>>>> U-boot provides a mean to define default values for mtdids and mtdparts
>>>>> when they're not defined in the environment. Patch mtd_probe_devices()
>>>>> to use those default values when env_get("mtdparts") or
>>>>> env_get("mtdids") return NULL.
>>>>>
>>>>> This implementation is based on the logic found in cmd/mtdparts.c.
>>>>>
>>>>> Fixes: 5db66b3aee6f ("cmd: mtd: add 'mtd' command")
>>>>> Reported-by: Stefan Roese <sr at denx.de>
>>>>> Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>
>>>>> Tested-by: Stefan Roese <sr at denx.de>
>>>>> Reviewed-by: Lukasz Majewski <lukma at denx.de>
>>>>> ---
>>>>> Changes in v3:
>>>>> - Fix env_get_f() call
>>>>> - Add Lukasz R-b
>>>>>
>>>>> Changes in v2:
>>>>> - none
>>>>> ---
>>>>> drivers/mtd/mtd_uboot.c | 62 +++++++++++++++++++++++++++++++++++++++--
>>>>> 1 file changed, 60 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/drivers/mtd/mtd_uboot.c b/drivers/mtd/mtd_uboot.c
>>>>> index 7d7a11c990d6..5ca560c96879 100644
>>>>> --- a/drivers/mtd/mtd_uboot.c
>>>>> +++ b/drivers/mtd/mtd_uboot.c
>>>>> @@ -92,12 +92,70 @@ static void mtd_probe_uclass_mtd_devs(void) { }
>>>>> #endif
>>>>>
>>>>> #if defined(CONFIG_MTD_PARTITIONS)
>>>>> +extern void board_mtdparts_default(const char **mtdids,
>>>>> + const char **mtdparts);
>>>>
>>>> Why is there this extern ?
>>>
>>> extern is not needed indeed.
>>>
>>>> This should use a prototype of function
>>>> defined in a header file. Once someone changes the prototype and forgets
>>>> to update this location, it'll be a disaster.
>>>
>>> When I provide a fix I try to avoid dependencies on changes that are
>>> not absolutely required hence the decision to keep this function
>>> prototype locally defined.
>>
>> I am also expecting a patch which cleans this up then.
>> I think __weak function would be appropriate.
>
> Well, I think the best would be to get rid of this function. It's only
> implemented by board/isee/igep00x0/igep00x0.c, and we might be able to
> use CONFIG_{MTDPARTS,MTDIDS}_DEFAULT to replace it:
>
> CONFIG_MTDPARTS_DEFAULT "omap2-nand:Xk(SPL),-(UBI);omap2-onenand:Yk(SPL),-(UBI)"
> CONFIG_MTDIDS_DEFAULT "nand0=omap2-nand,onenand0=omap2-onenand"
>
> This assumes we know the eraseblock size of the NAND and OneNAND devices of
> course (X and Y in the above def).
Fine by me , and yes, that can be put on ToDo.
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list