forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
....@@ -688,9 +688,9 @@
688688 }
689689 }
690690
691
-static void xgbe_an_isr_task(unsigned long data)
691
+static void xgbe_an_isr_task(struct tasklet_struct *t)
692692 {
693
- struct xgbe_prv_data *pdata = (struct xgbe_prv_data *)data;
693
+ struct xgbe_prv_data *pdata = from_tasklet(pdata, t, tasklet_an);
694694
695695 netif_dbg(pdata, intr, pdata->netdev, "AN interrupt received\n");
696696
....@@ -715,14 +715,14 @@
715715 if (pdata->isr_as_tasklet)
716716 tasklet_schedule(&pdata->tasklet_an);
717717 else
718
- xgbe_an_isr_task((unsigned long)pdata);
718
+ xgbe_an_isr_task(&pdata->tasklet_an);
719719
720720 return IRQ_HANDLED;
721721 }
722722
723723 static irqreturn_t xgbe_an_combined_isr(struct xgbe_prv_data *pdata)
724724 {
725
- xgbe_an_isr_task((unsigned long)pdata);
725
+ xgbe_an_isr_task(&pdata->tasklet_an);
726726
727727 return IRQ_HANDLED;
728728 }
....@@ -1413,8 +1413,7 @@
14131413
14141414 /* If we have a separate AN irq, enable it */
14151415 if (pdata->dev_irq != pdata->an_irq) {
1416
- tasklet_init(&pdata->tasklet_an, xgbe_an_isr_task,
1417
- (unsigned long)pdata);
1416
+ tasklet_setup(&pdata->tasklet_an, xgbe_an_isr_task);
14181417
14191418 ret = devm_request_irq(pdata->dev, pdata->an_irq,
14201419 xgbe_an_isr, 0, pdata->an_name,