>-----Original Message----- >From: Diogo Ivo <diogo.ivo@xxxxxxxxxxx> >Sent: Wednesday, May 29, 2024 9:35 PM >To: MD Danish Anwar <danishanwar@xxxxxx>; Roger Quadros ><rogerq@xxxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; Eric Dumazet ><edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni ><pabeni@xxxxxxxxxx>; Richard Cochran <richardcochran@xxxxxxxxx>; >Nishanth Menon <nm@xxxxxx>; Vignesh Raghavendra <vigneshr@xxxxxx>; >Tero Kristo <kristo@xxxxxxxxxx>; Rob Herring <robh@xxxxxxxxxx>; Krzysztof >Kozlowski <krzk+dt@xxxxxxxxxx>; Conor Dooley <conor+dt@xxxxxxxxxx>; Jan >Kiszka <jan.kiszka@xxxxxxxxxxx> >Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux- >kernel@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; Diogo Ivo ><diogo.ivo@xxxxxxxxxxx> >Subject: [EXTERNAL] [PATCH 2/3] net: ti: icss-iep: Enable compare events > >The IEP module supports compare events, in which a value is written to a >hardware register and when the IEP counter reaches the written value an >interrupt is generated. Add handling for this interrupt in order to support PPS >events. > >Signed-off-by: Diogo Ivo <diogo.ivo@xxxxxxxxxxx> >--- > iep = devm_kzalloc(dev, sizeof(*iep), GFP_KERNEL); > if (!iep) >@@ -827,6 +883,21 @@ static int icss_iep_probe(struct platform_device >*pdev) > if (IS_ERR(iep->base)) > return -ENODEV; > >+ iep->cap_cmp_irq = platform_get_irq_byname_optional(pdev, >"iep_cap_cmp"); >+ if (iep->cap_cmp_irq < 0) { >+ if (iep->cap_cmp_irq == -EPROBE_DEFER) >+ return iep->cap_cmp_irq; This info is coming from DT, is PROBE_DIFFER error return value possible ? >+ iep->cap_cmp_irq = 0; >+ } else { >+ ret = devm_request_irq(dev, iep->cap_cmp_irq, >+ icss_iep_cap_cmp_irq, >IRQF_TRIGGER_HIGH, >+ "iep_cap_cmp", iep); >+ if (ret) >+ return dev_err_probe(iep->dev, ret, >+ "Request irq failed for cap_cmp\n"); Can't this driver live without this feature ? >+ INIT_WORK(&iep->work, icss_iep_cap_cmp_work); >+ } >+