Re: [PATCH net] net: ethernet: ti: cpsw_ale: Fix warning on some platforms

From: Simon Horman
Date: Tue Sep 24 2024 - 10:02:55 EST


On Tue, Sep 24, 2024 at 03:28:48PM +0300, Roger Quadros wrote:
> The number of register fields cannot be assumed to be ALE_FIELDS_MAX
> as some platforms can have lesser fields.
>
> Solve this by embedding the actual number of fields available
> in platform data and use that instead of ALE_FIELDS_MAX.
>
> Gets rid of the below warning on BeagleBone Black
>
> [ 1.007735] WARNING: CPU: 0 PID: 33 at drivers/base/regmap/regmap.c:1208 regmap_field_init+0x88/0x9c
> [ 1.007802] invalid empty mask defined
> [ 1.007812] Modules linked in:
> [ 1.007842] CPU: 0 UID: 0 PID: 33 Comm: kworker/u4:3 Not tainted 6.11.0-01459-g508403ab7b74-dirty #840
> [ 1.007867] Hardware name: Generic AM33XX (Flattened Device Tree)
> [ 1.007890] Workqueue: events_unbound deferred_probe_work_func
> [ 1.007935] Call trace:
> [ 1.007957] unwind_backtrace from show_stack+0x10/0x14
> [ 1.007999] show_stack from dump_stack_lvl+0x50/0x64
> [ 1.008033] dump_stack_lvl from __warn+0x70/0x124
> [ 1.008077] __warn from warn_slowpath_fmt+0x194/0x1a8
> [ 1.008113] warn_slowpath_fmt from regmap_field_init+0x88/0x9c
> [ 1.008154] regmap_field_init from devm_regmap_field_alloc+0x48/0x64
> [ 1.008193] devm_regmap_field_alloc from cpsw_ale_create+0xfc/0x320
> [ 1.008251] cpsw_ale_create from cpsw_init_common+0x214/0x354
> [ 1.008286] cpsw_init_common from cpsw_probe+0x4ac/0xb88
>
> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> Closes: https://lore.kernel.org/netdev/CAMuHMdUf-tKRDzkz2_m8qdFTFutefddU0NTratVrEjRTzA3yQQ@xxxxxxxxxxxxxx/
> Fixes: 11cbcfeaa79e ("net: ethernet: ti: cpsw_ale: use regfields for number of Entries and Policers")
> Signed-off-by: Roger Quadros <rogerq@xxxxxxxxxx>

Reviewed-by: Simon Horman <horms@xxxxxxxxxx>