[PATCH 1/1] blk: simplify blk_get_devnum_by_typename()

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Mon Oct 25 10:00:50 CEST 2021


On 10/25/21 09:54, Heinrich Schuchardt wrote:
> On 10/24/21 21:54, Simon Glass wrote:
>> Hi Heinrich,
>>
>> On Sat, 23 Oct 2021 at 08:06, Heinrich Schuchardt
>> <heinrich.schuchardt at canonical.com> wrote:
>>>
>>> The block descriptor contains the if_type. There is no need to first 
>>> look
>>> up the uclass for the if_type and then to check the parent device's 
>>> uclass
>>> to know if the device has the correct if_type.
>>>
>>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
>>> ---
>>>   drivers/block/blk-uclass.c | 35 +----------------------------------
>>>   1 file changed, 1 insertion(+), 34 deletions(-)
>>
>> This seems to be heading in the wrong direction though.
>>
>> The IF_TYPE should really go away and be replaced with the UCLASS ID, 
>> I think.
>>
>> At present we have lots of calls to blk_create_device_f() which
>> specify the type. I think we should drop the IF_TYPE_.. arg to that
>> function and have it figured out from the uclass, in the interim.
>>
>> But why do we need IF_TYPE now?
> 
> I admit that this patch is just an intermediate step.
> 
> We can replace IF_TYPE by ULASS ID once SPL block devices are always 
> using the driver model. Have we reached this point yet? I have not seen 
> drivers/block/blk_legacy.c being deleted.

qemu_malta64, qemu_malta64el, qemu_malta, qemu_maltael are examples of 
defconfigs requiring drivers/block/blk_legacy.c

Best regards

Heinrich

> 
> Removing if_type_uclass_id[] is anyway on the right path.
> 
> Best regards
> 
> Heinrich



More information about the U-Boot mailing list