Re: [PATCHv2 net-next] net: modernize ioremap in probe

From: Daniel Machon
Date: Thu Nov 14 2024 - 07:50:49 EST


Hi Rosen,

> diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
> index 3234a960fcc3..375e9a68b9a9 100644
> --- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
> +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
> @@ -77,20 +77,12 @@ static int lan966x_create_targets(struct platform_device *pdev,
> * this.
> */
> for (idx = 0; idx < IO_RANGES; idx++) {
> - iores[idx] = platform_get_resource(pdev, IORESOURCE_MEM,
> - idx);
> - if (!iores[idx]) {
> - dev_err(&pdev->dev, "Invalid resource\n");
> - return -EINVAL;
> - }
> -
> - begin[idx] = devm_ioremap(&pdev->dev,
> - iores[idx]->start,
> - resource_size(iores[idx]));
> - if (!begin[idx]) {
> + begin[idx] = devm_platform_get_and_ioremap_resource(
> + pdev, idx, &iores[idx]);

Seems like this causes some trouble in the lan969x (see Horatius
comment). While at it, maybe reformat this line - checkpatch is
complaining:

CHECK: Lines should not end with a '('
#314: FILE: drivers/net/ethernet/microchip/lan966x/lan966x_main.c:80:
+ begin[idx] = devm_platform_get_and_ioremap_resource(

/Daniel

> + if (IS_ERR(begin[idx])) {
> dev_err(&pdev->dev, "Unable to get registers: %s\n",
> iores[idx]->name);
> - return -ENOMEM;
> + return PTR_ERR(begin[idx]);
> }
> }
>