On Sun, May 25, 2025 at 9:30 PM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote: > > On 25/05/2025 23:42, Rosen Penev wrote: > > @@ -72,20 +55,15 @@ static const struct ath_bus_ops ath_ahb_bus_ops = { > > > > static int ath_ahb_probe(struct platform_device *pdev) > > { > > - const struct platform_device_id *id = platform_get_device_id(pdev); > > struct ieee80211_hw *hw; > > struct ath_softc *sc; > > struct ath_hw *ah; > > void __iomem *mem; > > char hw_name[64]; > > + u16 dev_id; > > I don't think these are u16 in the headers, but unsigned int. Sure. I can change to int or kernel_ulong_t. It doesn't matter much. The function that uses this has an int parameter, so might make sense to use that. > > > int irq; > > int ret; > > > > - if (!dev_get_platdata(&pdev->dev)) { > > - dev_err(&pdev->dev, "no platform data specified\n"); > > - return -EINVAL; > > - } > > - > > mem = devm_platform_ioremap_resource(pdev, 0); > > if (IS_ERR(mem)) { > > dev_err(&pdev->dev, "ioremap failed\n"); > > @@ -118,7 +96,8 @@ static int ath_ahb_probe(struct platform_device *pdev) > > goto err_free_hw; > > } > > > > - ret = ath9k_init_device(id->driver_data, sc, &ath_ahb_bus_ops); > > + dev_id = (u16)(kernel_ulong_t)of_device_get_match_data(&pdev->dev); > > u16 cast looks not needed. Correct. It's placed for extra clarity, although probably not needed. > > > > + ret = ath9k_init_device(dev_id, sc, &ath_ahb_bus_ops); > > if (ret) { > > dev_err(&pdev->dev, "failed to initialize device\n"); > > goto err_irq; > Best regards, > Krzysztof