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

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Mon Oct 25 09:54:44 CEST 2021


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.

Removing if_type_uclass_id[] is anyway on the right path.

Best regards

Heinrich


More information about the U-Boot mailing list